Nếu bạn gọi javascript window.open và chuyển url đến tệp .xls, nó mở trên một số máy trong cửa sổ trình duyệt. Làm thế nào bạn có thể ép nó vào Excel?Làm cách nào để bảng tính mở Excel thay vì cửa sổ trình duyệt?
Trả lời
Chỉ máy người dùng mới có thể "buộc" nó vào Excel. Điều đó nói rằng, 99% thời gian nếu bạn gửi đúng loại mime và người dùng có Excel, sau đó nó sẽ mở trong Excel giả sử họ chấp nhận.
Và chỉ máy chủ mới có thể gửi đúng loại mime. Loại tài liệu bạn chuyển đến một cuộc gọi JavaScript window.open sẽ không ảnh hưởng đến điều này. Trong thực tế, gọi window.open sẽ tốt nhất chỉ cần mở một cửa sổ thừa.
Tốt nhất là chỉ cần liên kết với tài liệu với <a href="foo.xls">
. Và với điều kiện máy chủ của bạn đang gửi một kiểu mime là application/x-excel
hoặc application/x-msexcel
, điều này sẽ hầu như luôn thúc đẩy trình duyệt mở một cửa sổ mới bằng tài liệu Excel.
AFAIK bạn không thể làm điều này với JavaScript một mình. Nếu bạn có một số loại ngôn ngữ kịch bản ở phía máy chủ, bạn có thể thay đổi tiêu đề để bắt buộc tải xuống.
Here là một hướng dẫn đơn giản trong PHP, nhưng bạn có thể dễ dàng tìm thấy một ngôn ngữ yêu thích của mình.
Bạn không thể ép buộc nó vào Excel. Bạn có thể cho phép trình duyệt xử lý nó theo bất kỳ cách nào được định cấu hình để thực hiện việc đó hoặc bạn có thể cố gắng buộc trình duyệt tải xuống tệp và cho phép người dùng mở nếu từ màn hình của họ. Để bắt buộc tải xuống, tìm kiếm "tải xuống lực" và ngôn ngữ phía máy chủ của bạn (PHP, ASP.NET, JSP, v.v.)
Tôi không nghĩ rằng bạn có thể: bạn không thể gọi các chương trình bên ngoài bằng Javascript để bảo mật lý do. Giả sử rằng người dùng đã cài đặt Excel, bạn có thể muốn mở cửa sổ mới mà không có thanh địa chỉ để cung cấp cho người dùng "ảo tưởng" rằng tệp đã được mở bằng Excel trong Internet Explorer.
Tôi không nghĩ rằng điều này có thể xảy ra do javascript do vấn đề bảo mật, sẽ không có gì ngăn trang web lừa đảo mở hàng chục trường hợp excel/word.
Bạn không thể đặt siêu liên kết đến url của .xls, theo cách đó người dùng sẽ nhận được lời nhắc tải xuống thông thường để xem tệp.
- Đặt loại nội dung http đến datatype Excel: application/vnd.ms-excel
- Bạn không nên cần phải chuyển hướng đến một cửa sổ mới, nhưng bạn sẽ nhận được một popup yêu cầu người dùng tiết kiệm hay Mở tập tin.
- Liên quan đến (2): Tôi sẽ lo lắng nếu trình duyệt có thể khởi chạy ứng dụng bên ngoài và tự động tải dữ liệu vào ứng dụng mà không cần sự can thiệp của người dùng.
Đây là cài đặt trong trình duyệt của từng người dùng chứ không phải cài đặt có thể được đặt theo mã. Rất tiếc là bạn không có quyền kiểm soát điều đó.
Nếu đó chỉ là tệp tĩnh và bạn đang sử dụng Apache trên Linux, hãy kiểm tra tệp có tên /etc/mime.types và đảm bảo rằng tệp có dòng sau trong đó để liên kết phần mở rộng tệp .xls với loại MIME chính xác:
application/vnd.ms-excel xls
Tôi đoán vị trí của tệp đó có thể khác nhau trên các hệ thống, nhưng trong /etc/mime.types trên máy chủ của tôi đang chạy RHEL4.
Bạn không thể, vì nó phụ thuộc vào máy khách. Ví dụ trên Windows nếu bạn muốn nó luôn mở nó bằng Excel, không phải trong cửa sổ trình duyệt, bạn phải mở My Computer, Tools, Folder Options, File Types, chọn loại XLS, và nhấn vào Advanced. Có hai hộp kiểm: Duyệt trong cùng một cửa sổ và Mở tài liệu web tại chỗ. Bỏ chọn cả hai, đóng cửa sổ trình duyệt, mở lại và thử lại.
Tuy nhiên như tôi đã nói: nó phụ thuộc vào khách hàng, bạn không thể ép buộc.
Bạn có thể thực hiện việc này bằng cách sử dụng LaunchinIE, một điều khiển ActiveX cho phép các trang HTML khởi động bất kỳ ứng dụng nào trên máy của khách hàng mà không có cảnh báo bảo mật.
Trích dẫn từ trang web: "Cuối cùng, các trang web có thể bắt đầu Word, Excel hoặc bất kỳ ứng dụng nào khác của công ty mà không có khiếu nại. An toàn".
Đối với điều này, bạn phải cài đặt điều khiển trên máy người dùng và cũng thêm URL được phép thực thi các ứng dụng cục bộ vào Windows registry.
Trích dẫn khác từ trang web: "Để đảm bảo bảo mật, LaunchinIE cần được cấu hình cẩn thận phía máy khách; do hạn chế này chỉ phù hợp để sử dụng mạng nội bộ."
Tôi sử dụng LaunchinIE trong cơ sở đào tạo của mình để tôi có thể sử dụng Internet Explorer làm trình đơn cho phép người dùng chọn thiết lập máy. LaunchinIE sau đó gọi một tập lệnh batch để cấu hình máy để hỗ trợ tốt nhất cho việc đào tạo đã chọn.
Dưới đây là các bước để bật lại cửa sổ bật lên này khi mở tệp Excel đã lưu.
- Nhấp chuột phải vào cửa sổ [START] và chọn Khám phá để mở cửa sổ Windows Explorer sẽ mở ra.
Từ trình đơn, chọn Công cụ \ Tùy chọn thư mục…
• Chọn tab Loại tệp và cuộn xuống danh sách tệp.
• Nhấp chuột trái để tô sáng phần mở rộng của tệp Microsoft Excel Worksheet và nhấp vào nút Nâng cao.Trong cửa sổ Chỉnh sửa loại tệp, bỏ chọn tùy chọn “Duyệt trong cùng cửa sổ”.
Nhấp vào nút OK để chấp nhận thay đổi của bạn.
Bắt đầu phiên trình duyệt mới. Lần sau khi bạn mở bảng tính Excel trong Hộp thư đến, bạn sẽ được nhắc với cửa sổ sau. Hãy chắc chắn để lại "Luôn hỏi trước khi mở loại tệp này" khi được chọn. Nhấp vào nút Mở bây giờ sẽ mở tệp của bạn trong Excel.
- 1. Mở Cửa sổ trình duyệt IE
- 2. Selenium WebDriver: Mở tab mới thay vì cửa sổ mới
- 3. Làm cách nào để xác nhận cửa sổ trình duyệt đang mở, với Javascript?
- 4. ASP.NET Response.Redirect để mở một cửa sổ trình duyệt mới?
- 5. Mở cửa sổ Trình duyệt từ chương trình Java
- 6. Mở PDF trong trình duyệt mới đầy đủ cửa sổ
- 7. Làm thế nào để xóa bảng tính excel khỏi sổ làm việc excel trong C#?
- 8. Làm thế nào để mở cửa sổ trình duyệt mới trên sự kiện bấm nút?
- 9. Buộc trình duyệt tải xuống tệp thay vì mở tệp
- 10. C# -excel interop - tạo biểu đồ trên sổ làm việc thay vì trong một trang tính
- 11. Làm cách nào để "Mở trong Cửa sổ mới" bằng cách sử dụng điều khiển WebBrowser?
- 12. Làm cách nào để xác định mức thu phóng hiện tại của cửa sổ trình duyệt?
- 13. Tôi làm cách nào để hiển thị tên người dùng cửa sổ trong bảng tính excel bằng macro?
- 14. php mở file excel trong trình duyệt
- 15. Làm cách nào để viết nội dung vào một cửa sổ trình duyệt khác bằng Javascript?
- 16. Làm thế nào để mở một cửa sổ mới trên trình duyệt bằng cách sử dụng Selenium WebDriver cho python?
- 17. Làm cách nào để PowerShell giữ cửa sổ lệnh mở?
- 18. Cách gắn Firebug trong cửa sổ trình duyệt?
- 19. Làm cách nào để kiểm soát Trình duyệt web luôn mở trang web trong cùng một cửa sổ?
- 20. Làm cách nào để mở cửa sổ trình mô phỏng của trình mô phỏng Android?
- 21. Làm cách nào để thay đổi tên trang tính từ C# trên bảng tính Excel
- 22. trình duyệt chéo thay đổi kích thước cửa sổ trình duyệt trong JavaScript
- 23. Quá trình mở và thay đổi vị trí cửa sổ
- 24. Làm cách nào để kéo dài một bảng HTML lên 100% chiều cao cửa sổ trình duyệt?
- 25. Làm cách nào để mở cửa sổ thứ hai từ cửa sổ đầu tiên trong wpf?
- 26. Làm cách nào để khởi chạy cửa sổ trình duyệt mới không có thanh công cụ?
- 27. Làm cách nào để tắt cửa sổ bật lên mật khẩu mặc định của trình duyệt?
- 28. Làm cách nào để có được kích thước của cửa sổ trình duyệt bằng Prototype.js?
- 29. Cách mở tệp pdf cửa sổ trình duyệt mới trong javascript
- 30. Cách tạo cửa sổ trình duyệt trong J2ME?