我想將數據從數據庫導出到Excel 2007文件。MVC3 C#導出到Excel
我只是想將html文件的標題改爲excel 2007文件。
我的數據以表格形式呈現,並更改標題到這一點:
Response.AddHeader("Content-Disposition", "attachment;filename= filename.xlsx");
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
我不斷收到同樣的錯誤:
"Excel cannot open the file "filename.xlsx' because the file format of file extension is not valid. Verify that the file has not been corrupted and that the file extension matches the format of the file"
我也試過這個例子,我在網上找到的,我可以在Excel 2003中打開一條警告消息,但在2007年,我收到了上述錯誤消息。它需要使它與Excel工作
<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=ProgId content=Excel.Sheet>
<meta name=Generator content="Microsoft Excel 11">
<!--[if gte mso 9]><xml>
<x:ExcelWorkbook>
<x:ExcelWorksheets>
<x:ExcelWorksheet>
<x:Name>Sheet1</x:Name>
<x:WorksheetOptions>
<x:Selected/>
<x:ProtectContents>False</x:ProtectContents>
<x:ProtectObjects>False</x:ProtectObjects>
<x:ProtectScenarios>False</x:ProtectScenarios>
</x:WorksheetOptions>
</x:ExcelWorksheet>
</x:ExcelWorksheets>
<x:ProtectStructure>False</x:ProtectStructure>
<x:ProtectWindows>False</x:ProtectWindows>
</x:ExcelWorkbook>
</xml><![endif]-->
<style>
<!--table
{mso-displayed-decimal-separator:"\.";
mso-displayed-thousand-separator:" ";}
.xl2
{
mso-number-format:M/D/YY;
border-left:.5pt solid;
border-top:.5pt solid;
border-right:.5pt solid;
border-bottom:.5pt solid;
}
.xl3
{
border-left:.5pt solid;
border-top:.5pt solid;
border-right:.5pt solid;
border-bottom:.5pt solid;
}
-->
</style>
</head>
<body>
<table>
<tr>
<td class=xl2>17.02.2010</td>
<td class=xl3>4</td>
<td class=xl3>0</td>
</tr>
<tr>
</tr>
</table>
</body>
</html>
我知道這是不是你正在尋找的解決方案,但最近我們支持的出口由簡單地創建一個製表符分隔的文本文件,並保存在數據庫中脫穎而出它位於服務器上的tmp目錄中,然後在HTTP響應中返回該文本文件。 Excel已經支持將製表符和逗號分隔的文本文件解析到excel工作表中 –