2016-05-23 4 views
0

Я работаю над существующей страницей, которая экспортирует HTML-таблицу в Excel, создав документ Excel с разметкой ниже. Однако, когда открывается новый документ Excel, я получаю предупреждение о том, что «Формат файла и расширение« ExcelDocName.xls »не совпадают. Файл может быть поврежден или небезопасен». Я подозреваю, что это происходит из-за расширения .xls, но простое изменение xls на xlsx дает мне сообщение, указывающее «Excel не может открыть файл« ExcelDocName.xlsx », потому что формат файла или расширение файла недействительны». Как изменить эту разметку для устранения этих проблем?Экспорт HTML-таблицы в проблемы расширения Excel

<!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

У меня такая же проблема в моем приложении. Только что узнал, что это проблема с Microsoft Excel, а не сам файл, из Excel 2007 в палатах с недавним Excel 2016, он не позволяет открыть HTML содержание не используя Excel если он сохраняется с расширением .html.

Хотя, если вы сохраните его с расширением в .xls вы можете открыть файл с Open Office или Libre Управления без каких-либо ошибок, но вы будете получать сообщения об ошибках открытия с Microsoft Excel (2007 - Current)

Я работаю со следующими решениями, чтобы увидеть, что лучше:

  1. Сохраните файл расширением .html и сообщите об этом пользователю . Откройте его с помощью Microsoft Excel (после открытия они могут сохранить его как документ Excel).
  2. Сохраните файл с расширением .xls и сообщите об этом пользователю , чтобы открыть его с помощью Open Office или Libre Office., чтобы избежать раздражающей ошибки.
  3. Сохраните файл с расширением в .xls и сообщить пользователю об ошибке и информировать их игнорировать ошибку и нажмите Да, когда он всплывает.

Возможно, вы увидите, что лучше всего подходит для вас.

Дайте мне знать, если вы найдете какой-либо другой способ обхода ошибки.

Ссылка об ошибке: https://blogs.msdn.microsoft.com/vsofficedeveloper/2008/03/11/excel-2007-extension-warning-on-opening-excel-workbook-from-a-web-site-2/