2012-03-22 46 views
5

Tôi đã có một vbscript tạo tệp Excel, theo định dạng Excel XML Spreadsheet 2003 kiểu cũ. Nó chứa các hướng dẫn xử lý cần thiết (ví dụ: thẻ <?mso-application progid="Excel.Sheet"?>) và người dùng của tôi có thể mở chúng trong Office 2003 và Office 2007 (chạy trên XP) bằng cách bấm đúp vào tệp đính kèm.Định dạng XML Excel 2003 không tự động mở trong Excel 2010 x64

Hiện chúng tôi đang thử nghiệm bản dựng Windows 7 x64 dành cho máy tính để bàn với Office 2010 x64 và tính năng này không còn hoạt động nữa. Các tệp chỉ mở trong IE và hiển thị XML cơ bản. Nếu tệp được lưu vào máy tính để bàn, nó vẫn hiển thị biểu tượng Excel trên biểu tượng, nhưng vẫn sẽ mở trong IE.

Đây có phải là sự cố 64 bit hoặc sự cố Excel 2010 không? Có sửa chữa không? Tôi đang nghĩ đến một handler dai dẳng có thể bị thiếu hoặc mis-đăng ký trong Registry, nhưng tôi không biết những gì để thêm thay vì ...

Trả lời

0

Một vài suy nghĩ:

Có lẽ bạn cần phải xác định Tiêu đề nội dung cũng là thẻ? mã PHP này tạo ra và mở một tập tin XML trong Excel 2016 cho tôi:

<?php 
    header('Response.ContentType = "application/vnd.ms-excel"'); 
    header('Content-Disposition: attachement; filename="xlxml.xml"'); 
    echo '<root><name>sample_name</name></root>'; 
    exit(); 
?> 

This VBS demonstration tạo ra một file Excel mà mở đúng trong Excel 2016 đối với tôi.

Một vài liên kết khác với một số cái nhìn sâu sắc liên quan:

Generating Excel (XML Spreadsheet) & Excel header functions

Content-type for MS Office XML

XML Schema Guidelines

Content Disposition

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