使用Razor视图定义的结构
问题描述:
创建Excel文件,我想用我的Razor视图字符串创建一个.xlsx文件不.xls的,但它并不在这里工作是我的代码使用Razor视图定义的结构
private ContentResult GenerateExcel<T>(string viewName, T model) where T : class
{
var htmlViewRenderer = new HtmlViewRenderer();
string htmlText = htmlViewRenderer.RenderViewToString(this, viewName, model);
// byte[] renderedBuffer;
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=Marklist.xlsx");
Response.ContentType = "application/ms-excel";
Response.Charset = "";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
Response.Output.Write(htmlText.ToString());
Response.Flush();
Response.End();
return Content(htmlText,Response.ContentType);
}
答
iText的锐利自带nuget包它帮助创建excel我使用它,它没有任何问题的xls或xlsx格式
可能的重复[什么是正确的内容类型的Excel文件?](http://stackoverflow.com/问题/ 2937465/what-is-correct-content-type-for-excel-files) – 2014-09-24 09:57:10
@ Pedro.The.Kid谢谢,但我已经试过这个,但是这不适用于XLSX格式,当我明确地将xlsx的扩展名更改为xls它工作 – Rutu 2014-09-24 10:27:43
它指出,对于XLSX的内容类型是不同的 – 2014-09-24 12:47:46