2017-03-06 83 views
0

我正在使用下面的代码导出excel。 htmlData是在客户端生成的html数据。我已经在Api控制器中编写了这个方法。C#在打开excel时出现警告

public HttpResponseMessage ExportXls(string htmlData) 
{ 
    try 
    { 
     byte[] excelData = Encoding.ASCII.GetBytes(htmlData.Trim()); 

     HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK); 
     var stream = new MemoryStream(excelData); 
     result.Content = new StreamContent(stream); 
     result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream"); 
     result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") 
     { 
      FileName = "Data.xls" 
     }; 
     return result; 
    } 
} 

我在打开文件时得到了xls文件格式的警告。有没有解决方法?

我也想问问是否有任何方法可以导出excel而不会收到任何警告,但不使用任何第三方dll,如eppplus和closedXML。

是否有人能够通过仅使用响应来生成没有警告的excel?

+0

什么是警告信息? – JamesKn

+0

是否像将'FileName'更改为'“Data.xlsx”'一样简单? – heyiamt

+0

@JamesKn警告是“你想要打开的文件,”[文件名.xls]“的格式与文件扩展名指定的格式不同。在打开文件之前确认文件没有损坏并且来自可信来源你现在想打开一个文件吗?“ –

回答

0

我把csv格式的html数据发送到服务器。使用拆分函数将它们添加到closedXml单元格,并能够以xlsx格式成功生成excel。

0
+0

雅我改变了,但仍然得到警告.. –

+0

@VikasChauhan增加了一个额外的链接到答案,如果这有助于这将成为一个重复的问题,如果它有帮助。 http://stackoverflow.com/questions/16144900/the-file-you-are-trying-to-open-is-in-a-different-format-than-specified-by-the-f – JamesKn

+0

谢谢@JamesKn会明天试试这个。 –

相关问题