2

一部のレポート サービスを介して Excel にエクスポートされるレポートのリストがあり、サーバー上でこれらのスプレッドシートをループして追加の書式設定を実行する必要があります。

1) 列を非表示にする 2) シートの名前を変更する 3) ペインをフリーズする 4) デフォルトのズーム、印刷サイズなどを設定する 5) HTML として保存するか、プレーン テキスト ファイルに変換する

これまでのところ、私は相互運用ですべてを行ってきましたが、それはうまく機能しますが、ご存知のように、マイクロソフトはサーバーでの相互運用の使用を避けています (それでも、代替品は提供していません!)。将来、新しいサーバーに Excel をインストールすることも困難な戦いになります。

私はググってスタックオーバーフローをかなり行い、いくつかの可能なものを見つけました:-

素晴らしいと思われるNPOIを試しましたが、スプレッドシートを開こうとして例外が次々と発生しました(最初に修正したオーバーフロー例外、次に「8552バイトを超えるセル内容の例外」を修正できませんでした)。

Excel ライブラリを試してみましたが、ドキュメントが 100% 不足しています。また、スプレッドシートをフォーマットした後、元のフォーマットが保持されていないことがわかりました。

C# 用の優れた網羅的な無料ライブラリまたは Excel フォーマットを知っている人はいますか?

編集:残念ながら、97-2003形式で作業する必要があると述べている部分を省略したため、epplusは問題外です

4

5 に答える 5

5

Excelファイルを操作する1つの方法は、 OpenXMLSDKを使用することです。これには、Office2007以降を使用する必要があります。その利点は、相互運用機能を使用する代わりに、Excelドキュメントのxmlファイルを直接操作することです。これにより、サーバーを使用するのに適したオプションになります。欠点は、ファイルの編成方法がInteropを介して表示される方法とはかなり異なるため、何が課題になるかを理解することです。特にフォーマットには使用していませんが、C#を使用してドキュメントを作成または編集するために使用しましたが、非常に高速です。

于 2011-07-28T04:53:38.900 に答える
4

EPプラスを使用しています。シンプルだけど仕事は捗る! http://epplus.codeplex.com/

于 2011-07-28T04:47:32.200 に答える
2

MSFT は、 MS HPC Excel との統合により、サーバー側の Excel をある程度採用し始めています。それにもかかわらず、 EPPlusに興味があるかもしれません- 「サーバー上で高度な Excel 2007/2010 スプレッドシートを作成する」

EPPlus は、Open Office Xml 形式 (xlsx) を使用して Excel 2007/2010 ファイルを読み書きする .net ライブラリです。

EPPlus は以下をサポートします。

  • セル範囲
  • セルのスタイル設定 (境界線、色、塗りつぶし、フォント、数値、配置)
  • チャート
  • ピクチャー
  • コメント
  • テーブル
  • 保護
  • 暗号化
  • ピボットテーブル
  • データ検証
  • もっとたくさん...
于 2011-07-28T04:47:47.307 に答える
1

私はこれをずっと前に使用しましたが、非常に使いやすく、非常に高速でした。

http://www.carlosag.net/Tools/ExcelXmlWriter/

于 2011-07-28T04:57:34.500 に答える
0

xls (97 から 2003) で作業する必要がある場合は、試してみてください。

http://npoi.codeplex.com/ NPOI(ナゲット)

限られたシナリオでうまく機能します。以下も参照してください。

ExcelLibrary (source) by Artiom Chilaru ExcelLibrary (nuget)

これは非常に高速で効率的です。

于 2011-08-30T12:20:56.290 に答える