我有一段代码,当我将输出文件的扩展名设置为'.xlsx'时,它可以完美地工作。但是当我将其更改为'.xls'时,在MS Excel中打开文件之前出现窗口,显示文件不正确(文件格式不正确),然后会出现很多糟糕的编码字符(如日语等)。
有人遇到过这个问题吗?有解决方法吗?
_currentContext.Response.Clear();
_currentContext.Response.ClearContent();
_currentContext.Response.ClearHeaders();
_currentContext.Response.AddHeader("content-disposition", "attachment; filename=FileName.xlsx");
_currentContext.Response.ContentEncoding = System.Text.Encoding.UTF8;
_currentContext.Response.ContentType = "application/ms-excel";
_currentContext.Response.AddHeader("Content-Transfer-Encoding", "binary");
_currentContext.Response.BinaryWrite(_package.GetAsByteArray());
_currentContext.Response.Flush();
_currentContext.Response.End();
有一点需要注意的是,当我在本地机器上将其导出为xls格式时,一切都正常。但是当我尝试在远程服务器上进行导出时,只能正确导出为xlsx格式。