2011-08-16 13 views
0

私は現在、application/ms-excelにMIMEタイプを設定した古いHTMLトリックを使用してExcelにエクスポートしています。これは、きれいにフォーマットされたテーブルの利点を追加しますが、ExcelのネガティブなExcel形式ではありません。ASP.net MVC Excelにエクスポート

CSV形式でエクスポートできましたが、フォーマットされませんでした。

私は簡単なスニペットを読んでXMLとしてエクスポートしてExcelドキュメントを作成することができますが、これについてはあまり情報を見つけることはできません。誰でもこのチュートリアルや利点を知っていますか?この方法でテーブルをフォーマットできますか?

ありがとうございました。

答えて

2

最も簡単な方法は、あなたのテーブルを解析し、Excel XML形式でエクスポート、例えばこれを見ることができます:http://blogs.msdn.com/b/brian_jones/archive/2005/06/27/433152.aspx

あなたは(ボーダー、フォント、色シューッという音としてそれはあなたがテーブルをフォーマットすることができます、私も考えて式)、ExcelはそれをネイティブExcel形式として認識します。プラスとして、Excel XML(すなわち、オフィス、Excelビューアなど)をインポートできる他のプログラムを使用することができ、Officeコンポーネントをサーバーにインストールする必要はありません。

+0

として開く/保存を強制的に呼び出しページへのURLリンクをありがとう。私はこれを調べるでしょう。 –

1

ExcelXmlWriterをご覧ください。

私たちはこれをしばらく使用しており、うまく機能しています。しかし、xml形式にはいくつかの欠点があります。エンドユーザーがExcelに関連付けられた.xml拡張子を持つことはほとんどないため、ExcelのMIMEタイプを使用して.xlsファイルをダウンロードする必要があります。ユーザーがこの方法でダウンロードしたファイルを開くと、そのファイルがxls形式ではないという警告が表示されます。クリックすると、ファイルが正常に開きます。

唯一の選択肢は、ネイティブのExcelファイルを生成する有料ライブラリです。それは確かに最善の解決策だが、我々は良い、自由なライブラリがありませんでした最後に見た時は、(変更されている場合があります)

+0

こんにちは、私は現在やっていることに似ています。 HTMLWriterを使ってHTMLでテーブルを作成し、ExcelのMIMEタイプとしてExcelに出力しています。私も警告を受ける。それが私が避けようとしていたものです。とにかくありがとう。 –

0

ちょうど今日、私はそのルーチンを書かなければなりませんでしたエクスポートされたデータはMVCアプリケーションで優れたパフォーマンスを発揮します。ここでは、誰かが将来利益を得るために詳細を説明します。まず、レポートの日付範囲と範囲を選択する必要がありました。バックポストでは、この方法はTheModelTypeListは、LINQ/Entity Frameworkの/ SQLクエリは、強力な型を返すからのデータを含むと、場所にあった:

 if (ExportToExcel) { 
      var stream = new MemoryStream(); 
      var serializer = new XmlSerializer(typeof(List<SomeModelType>)); 
      serializer.Serialize(stream, TheModelTypeList); 
      stream.Position = 0; 
      FSR = new FileStreamResult(stream, "application/vnd.ms-excel"); 
     } 

この1上の唯一の難点は、開くときに、ファイルの種類が知られていなかったましたシステムはアプリケーションがそれを開くように促しました...これはXMLのコンテンツの結果です...私はまだそれに取り組んでいます。

0

私はC#からExcelシートを簡単に作成、操作、保存することができるオープンソースライブラリSpreadsheet Lightを使用しています。あなたはMVC/WebAPIのコントローラがページにファイルやActiveXオブジェクト

  • 戻りAでそれを開くためにExcelを呼び出す保存したExcelへのファイルのいずれか

    1. 戻りURLリンクを作成する作業を行うことができますページへのデータ・コンテンツ・ストリーム
    2. 戻りダイアログ

    http://spreadsheetlight.com/

  • 関連する問題