我正在开发一个现有的页面,它通过使用下面的标记构建一个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"
答案 0 :(得分:0)
我在申请中遇到同样的问题。刚发现这是 Microsoft Excel 的问题,而不是文件本身,从病房的 Excel 2007 到最近的 Excel 2016 ,它不允许您使用Excel 打开 HTML内容,除非以 .html 扩展程序保存。
虽然如果您使用 .xls扩展程序保存它,您可以使用打开Office 或 Libre Office 打开该文件,但不会出现任何错误将以 Microsoft Excel(2007 - 当前)
打开错误我目前正在使用以下解决方案来查看最佳解决方案:
也许你可以看到什么最适合你。
如果您找到其他方法来解决错误,请告诉我。