2008-09-23 36 views

Trả lời

3

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.

0

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.

0

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.)

0

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.

0

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.

0
  1. Đặt loại nội dung http đến datatype Excel: application/vnd.ms-excel
  2. 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.
  3. 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.
0

Đâ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 đó.

1

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.

0

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.

0

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.

0

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.

  1. 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.
  2. 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.

  3. 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ổ”.

  4. Nhấp vào nút OK để chấp nhận thay đổi của bạn.

  5. 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.

Các vấn đề liên quan