我在c#中将HTML表格导出到Excel但是在打开excel时它会给我一个错误:
我尝试了与“office document.spreadsheetml.sheet”不同的扩展名,例如.xlsx也仍然提供相同的错误。下面是我的C#代码:
//StrExport.Append(@"<html xmlns='urn:schemas-microsoft-com:office:Spreadsheet' xmlns:ss='urn:schemas-microsoft-com:office:Spreadsheet' xmlns='http://www.w3.org/TR/REC-html40'><head><title>Time</title>");
//StrExport.Append(@"<body lang=EN-US id=h1><div class=Section1>");
StrExport.Append(@"<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:w='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'><head><title>Time</title>");
StrExport.Append(@"<body lang=EN-US style='mso-element:header' id=h1><span style='mso--code:DATE'></span><div class=Section1>");
StrExport.Append("<DIV style='font-size:12px;'>");
StrExport.Append(dvInfo.InnerHtml);
StrExport.Append("</div></body></html>");
string strFile = "StudentInformations.xls";
// string strFile = "StudentInformations.xlsx";
string strcontentType = "application/excel";
//string strcontentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.ClearContent();
Response.ClearHeaders();
Response.BufferOutput = true;
Response.ContentType = strcontentType;
Response.AddHeader("Content-Disposition", "attachment; filename=" + strFile);
Response.Write(StrExport.ToString());
Response.Flush();
Response.End();
请提供此消息的解决方案。
答案 0 :(得分:1)
这是预期的。 您正在导出HTML,但将其命名为.xlsx。 Excel很聪明地解释它,但你会得到这个警告。
要没有警告,您需要使用随时可用的库以本机.xlsx格式构建输出。