previous arrowprevious arrow
next arrownext arrow
Shadow
Slider
C#/VB.net

C# エクセルを開かずにDatatbleに取込み(Closed XML)

エクセルをC#で処理するときにMicrosoft.Office.Interop.Excelを参照追加して処理することが今のところは主流です。

C# エクセルをDatatble,Datagridviewに取込み(複数シート) C#でエクセルをdatatableに取込むことはたまにあると思います。 備忘録として残しておきます。 実際に作ったフ...

ここで面倒なことがあります。

プロセスが残らないよう制御が面倒です。

いちいちエクセルを開くので時間がかかる

Excel(Office)がインストールされていない端末では使えない

ということで、エクセルを開かず、読込む方法を紹介します。

デモンストレーションで動かした動画を載せておきます。

officeがインストールされていない端末でデモをしています。

Closed XMLの参照設定追加

ClosedXMLで参照追加が必要です。

手順は以下の通りです。

パッケージマネージャコンソールを開く

「ツール」→「NuGetパッケージマネージャ」→「パッケージマネージャコンソール」の順で開きます。

インストール実行

その後、Install-Packageコマンドを実行して完了です。

Close XMLを使ってエクセルを読み込むコード

コードは以下の通りです。

2007以降、エクセルはXMLで作られている

実はエクセルは2007年以降XMLで作られています。

Excel 2007では、データの保存形式がXMLに変更されたため….

新しい標準ファイル形式「XML」(第2回) より

なので、Close XMLで処理できるのは拡張子が新しいものだけです。

対象の拡張子はxlsx、xlsm、xltmです。

毎回エクセルを立ち上げることもないので早く処理できます。

関連している記事

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です