将HTML表导出为Excel扩展问题

时间:2016-05-23 13:42:22

标签: html excel vbscript

我正在开发一个现有的页面,它通过使用下面的标记构建一个excel文档将一个HTML表格导出到Excel。但是,每当打开新的Excel文档时,我都会收到一条警告,提示" ExcelDocName.xls'的文件格式和扩展名。不匹配。该文件可能已损坏或不安全。" 我怀疑这是因为扩展名为.xls,但只是将xls更改为xlsx会给我一条消息,指出" Excel无法打开文件' ExcelDocName.xlsx'因为文件格式或文件扩展名无效。" 如何编辑此标记以消除这些问题?

<!DOCTYPE html><html  xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'> 
<head>  
   <meta http-equiv=Content-Type content='text/html;charset=windows-1252'><meta name=Generator content='Microsoft Excel 11'> 
   <meta name=ProgId content=Excel.Sheet> <meta name=Generator content='Microsoft Excel 11'> 
<style> 
<!--table @page{}-->
</style>
<!--[if gte mso 9]><xml> <x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>  <x:Name>Sheet1</x:Name>    <x:WorksheetOptions><x:Panes> 
</x:Panes></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets><x:ExcelWorkbook></xml><![endif]--> 
</head>
<body><form method='POST' action='" &APSPostName&".asp' name='frmExcel'></form>    
    <!-- Table HTML goes here -->
</body></html>

创建标记后会包含以下内容。

Response.ContentType = "application/vnd.ms-excel"
Response.AddHeader "Content-Disposition", "attachment; filename="&ExcelName&".xls"

1 个答案:

答案 0 :(得分:0)

我在申请中遇到同样的问题。刚发现这是 Microsoft Excel 的问题,而不是文件本身,从病房的 Excel 2007 到最近的 Excel 2016 ,它不允许您使用Excel 打开 HTML内容,除非 .html 扩展程序保存。

虽然如果您使用 .xls扩展程序保存它,您可以使用打开Office Libre Office 打开该文件,但不会出现任何错误将以 Microsoft Excel(2007 - 当前)

打开错误

我目前正在使用以下解决方案来查看最佳解决方案:

  1. 将文件另存为 .html扩展程序,并通知用户使用Microsoft Excel打开(打开后,可将其另存为Excel文档)。
  2. 使用 .xls扩展程序保存文件,并通知用户使用Open Office或Libre Office打开它。以避免恼人的错误。
  3. 使用 .xls扩展程序保存文件告知用户错误告知他们忽略错误,并在弹出时单击“是”。
  4. 也许你可以看到什么最适合你。

    如果您找到其他方法来解决错误,请告诉我。

    关于错误的链接https://blogs.msdn.microsoft.com/vsofficedeveloper/2008/03/11/excel-2007-extension-warning-on-opening-excel-workbook-from-a-web-site-2/