2017-03-06 3 views
0

私はエクセルをエクスポートするために、以下のコードを使用しています。 htmlDataは、クライアント側で生成されるhtmlデータです。私はApiコントローラでこのメソッドを書いています。C#オープン時の警告の取得

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ファイルの形式が警告されています。そのための回避策はありますか?

エクスポートする方法があれば警告を表示せずに、eppplusやclosedXMLのようなサードパーティ製のDLLを使用しないで尋ねたかったのです。

レスポンスのみを使用して警告なしでExcelを生成できる人は誰ですか?

+0

警告メッセージは何ですか? – JamesKn

+0

'FileName'を' 'Data.xlsx" 'に変更するのは簡単ですか? – heyiamt

+0

@JamesKn警告は「開こうとしているファイル」ですが、[filename.xls]はファイル拡張子で指定されている形式とは異なります。ファイルを開く前にファイルが破損していないことを確認してください今すぐファイルを開きたいですか? " –

答えて

0

サーバーにcsv形式のhtmlデータを送信しました。分割関数を使用してclosedXmlセルに追加し、xlsx形式でExcelを正常に生成できました。

0

https://blogs.msdn.microsoft.com/vsofficedeveloper/2008/05/08/office-2007-file-format-mime-types-for-http-content-streaming-2/

あなたはそれが、その後に見える右のMIMEタイプを指定します。

すなわちアプリケーション/ vnd.ms-エクセル

これもまた有用であるかもしれない、 What is a correct mime type for docx, pptx etc?

ワースも

the file you are trying to open is in a different format than specified by the file extension in Asp.Net

これを見ては、あなたを助けるかもしれません。

+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

Thanks @JamesKn will明日これを試してみてください。 –

関連する問題