3

C#ASP.NET 3.5 Webアプリケーションでは、複数のデータテーブル(またはデータセット)を複数のシートを含むExcel 2007ファイルにエクスポートしてから、Excelファイルをに保存せずに[開く/保存]ダイアログボックスをユーザーに提供する必要があります。 Webサーバー。

以前にExcel相互運用機能を使用しました。私はそれが効率的ではなく、これを達成するための最良のアプローチではなく、それを行うためのより多くの方法があることを読んでいます、そのうちの2つは次のとおりです:1)データテーブルのデータをExcelが理解できるXML文字列に変換する2)OPEN XMLSDKを使用する2.0。

OPEN XMLSDK2.0の方が優れているようです。お知らせください。それを行う他の方法はありますか?サードパーティのツールは使いたくありません。

OPEN XML SDKを使用すると、Excelファイルが作成されますよね?(Windows 2003)サーバーのハードドライブに保存したくない(Server.MapPathを使用したくない、これらのExcelファイルは動的に作成され、クライアントが取得した後はサーバーに必要ありません) 。ユーザーに直接開く/保存するように促したい。「XML文字列」アプローチを使用する場合の方法を知っています。

助けてください。ありがとうございました。

4

3 に答える 3

1

Excel 2007 のサポートは絶対に必要ですか?

NPOIを使用して大成功を収めており、必要なすべての機能 (複数のワークシート、書式設定、数式) をサポートしています。また、かなり安定しています。

ただし、生成されるファイルは Excel 2003 形式であるため、OOXML ではなくバイナリです。

この質問は以前に尋ねられました。より良い議論については、こちらを参照してください。

于 2010-04-02T23:52:45.217 に答える
1

xml 応答を XML Excel ファイルとしてユーザーに簡単にストリーミングできます。

任意のページ:

<a href="report.aspx" target="_blank"> Open excel Report</a>

レポート.aspx:

 Response.Clear();
 Response.ContentType = "application/vnd.ms-excel";
 Response.AddHeader("Content-Disposition"
                     , "attachment;filename=" & _fileName & ".xml");
 Response.Write("<?xml version=""1.0""?>");
 Response.Write(excelXML);
于 2010-04-03T00:01:26.797 に答える