この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 49496|答える: 2

[出典] NPOIオペレーション・エクセル詳細解説

[リンクをコピー]
2021年5月16日 21:04:14に投稿 | | | |
NPOIはOfficeをインストールしなくてもWordやExcelの文書を読み書きできます。 NPOIは、ExcelやWORDなどのMicrosoft OLE2コンポーネント文書の読み書きを行うためのオープンソースのC#プロジェクトです。
復習:

NPOIによるセル年代型の判断
https://www.itsvse.com/thread-9649-1-1.html

NPOI(ソースコード付き)を使ってExcelシートに画像をインポートする
https://www.itsvse.com/thread-9477-1-1.html

NPOIはセルの幅と高さを設定します
https://www.itsvse.com/thread-3522-1-1.html

. NPOI読み書き操作Excelテーブルプラグイン(Net用)
https://www.itsvse.com/thread-2288-1-1.html

議会名
モジュール/名前空間
説明
NPOI.DLL
NPOI。 POIFS
OLE2/ActiveXドキュメント属性読み書きライブラリ
NPOI.DLL
NPOI。 DDF
Microsoft Office Drawing 読み書きライブラリ
NPOI.DLL
NPOI。 HPSF
OLE2/ActiveX ドキュメント読み書きライブラリ
NPOI.DLL
NPOI。 HSSF
Microsoft Excel BIFF(Excel 97-2003、ドキュメント)フォーマットの読み書きライブラリ
NPOI.DLL
NPOI。 SS
ExcelパブリックインターフェースおよびExcel数式計算エンジン
NPOI.DLL
NPOI。 ユーティリティ
基本ライブラリは、他の読み書きファイル形式プロジェクトの開発に役立つ多くの機能を提供します
NPOI。 OOXML.DLL
NPOI。 XSSF
Excel 2007(xlsx)フォーマットの読み書きライブラリ
NPOI。 OOXML.DLL
NPOI。 XWPF
Word 2007(docx)フォーマット読み書きライブラリ
NPOI。 OpenXml4Net.DLL
NPOI。 OpenXml4Net
OpenXmlの基礎となるzipパッケージの読み書きライブラリ
NPOI。 OpenXmlFormats.DLL
NPOI。 OpenXmlFormats
Microsoft Office OpenXmlオブジェクトリレーションライブラリ

HSSFWorkbook: はExcel 2003以前(2003を含む)のバージョンで、.xls拡張子を持っています
XSSFWorkbook: は拡張子が.xlsx Excel 2007のバージョンです
Excelのバージョンを自動的に認識します

エクセルを読む際、npoiはWorkbookFactory.Createを呼び出して自動的にバージョンを認識させます:



ソースコードアドレス:ハイパーリンクのログインが見えます。



実装コード:

XSSFWorkbook 2007は「閉じたストリームにアクセスできない」例外を投げ出します



テストコード:



ファイルをストリームにエクスポートする際、Writeメソッドを呼び出します。



未処理例外。 System.ObjectDisposedException:閉じたストリームにアクセスできません。
   at System.IO.MemoryStream.Seek(Int64 offset, SeekOrigin loc)

HSSFWorkbookにはこの問題がなく、IWorkbookインターフェースのWriteを過負荷にする方法もありません。以下の図に示されています:



だがしかしXSSFWorkbookオブジェクトには追加のleaveOpenパラメータがありますソースコードアドレス:ハイパーリンクのログインが見えます。



解決策1:

解決策2:

新しいNpoiMemoryStreamオブジェクトを作成し、Closeメソッドを以下のようにオーバーライドします:

以下のように使う:

XSSFWorkbook CopySheet例外

シートが私のカスタムテンプレートの場合、CopySheetメソッドを呼び出します。以下の例外が発生します:

オブジェクト参照はオブジェクトのインスタンスに設定されていません。

CloneSheetを使用したクローンシートのコードは以下の通りです:



(終わり)




先の:Redis MISCONF RedisはRDBスナップショットを保存するように設定されています
次に:C#/.NETでストリームをファイルに保存する方法
2021年9月17日 09:46:51に投稿 |
KK LEARN(了解)を
2023年1月29日 15:03:59に投稿 |
あの小娘から学べ
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com