C# 使用closexml时,文件格式和扩展名不匹配?

C# 使用closexml时,文件格式和扩展名不匹配?,c#,excel,asp.net-mvc,export,C#,Excel,Asp.net Mvc,Export,我有一个工作方法,即导出到excel,但问题是文件扩展名不受支持,并且不是格式。这对用户不友好,如何从不允许用户看到此问题改进此问题 //控制器 public void ExportToExcel() { var v=新的GridView(); v、 DataSource=this.GetExtractionViewModels(); v、 数据绑定(); Response.ClearContent(); Response.Buffer=true; AddHeader(“内容处置”、“附件;文件

我有一个工作方法,即导出到excel,但问题是文件扩展名不受支持,并且不是格式。这对用户不友好,如何从不允许用户看到此问题改进此问题

//控制器
public void ExportToExcel()
{
var v=新的GridView();
v、 DataSource=this.GetExtractionViewModels();
v、 数据绑定();
Response.ClearContent();
Response.Buffer=true;
AddHeader(“内容处置”、“附件;文件名=ExtractionRecords.xls”);
Response.ContentType=“应用程序/ms excel”;
响应。Charset=“”;
StringWriter objStringWriter=新StringWriter();
HtmlTextWriter HtmlTextWriter=新的HtmlTextWriter(objStringWriter);
v、 渲染控制(htmlTextWriter);
Response.Output.Write(objStringWriter.ToString());
Response.Flush();
Response.End();
//返回视图(“数据结果”);
}

这里要做的是将HTML内容导出到“ExtractionRecords.xls”文件中。这一技巧之所以有效,是因为MS Excel(和其他应用程序)能够确定文件是HTML格式的,因此它将以HTML格式读取。但你无法避免这种对话。如果你不想看到这个警告,那么你需要创建一个真正的Excel文件(不是一个重命名为“.xls”的HTML文件)。@Mario我如何在我的方法中修改它?是的,我需要一些东西来避免对话框。NET中没有用于创建Excel文件的内置解决方案。所以,您需要决定使用哪个库。尝试在NuGet上搜索“Excel”,你会在那里找到很多库。你会选择哪一个取决于你的具体需要(你想保存旧的“.xls”还是新的“.xlsx”文件,或者两者兼而有之,你需要一个简单的API,或者你能用更复杂/乏味的代码来管理,你想快速执行还是低内存消耗,或者两者兼而有之等等)。@Mario i想要快速执行,我已经有了closeXML库。然后检查库的文档,它肯定有创建工作簿、添加工作表和向工作表中添加单元格的示例。