目次

C#を手動でコンパイル(NPOIを使う)

.NETが入っていればC#のコンパイラ「csc.exe」が使えます。

C:\Windows\Microsoft.NET\Framework???

このあたりにあります。

何をしたかったのか?

オフライン環境(NuGet使わず)で、C# + NPOI でExcelを操作したかった。

やったこと

NuGetのサイトから「NPOI」のパッケージ(npoi.X.X.X.nupkg)をダウンロードしてきた。また、依存ライブラリとして「SharpZiplib」が必要なので、同様にパッケージをダウンロードする。(画面右側の「Download package」からダウンロード。拡張子は *.nupkgだが、中身はZipなので拡張子変更などして展開する。)

SharpZipLibのバージョンに注意すること。NPOIが依存しているSharpZipLibのバージョンが、必ずしも最新ではない。(どのバージョンが必要かは、「NPOI.nuspec」に書いてあるようです)
2021.7.16時点においては…

とりあえず、DLしてきた圧縮ファイルを展開して、DLLを1か所に集めてコンパイルします。サンプルソースはググるといっぱい出てくるのでそれを参考に。コンパイルは、csc.exeのパスを通すしておくと楽!

↓↓↓実際に作ったバッチ(パスが通った状態でコマンドプロンプト使えるので)

[init.bat]
set PATH=C:\Windows\Microsoft.NET\Framework64\4.0.30319;%PATH%
cmd

コンパイルのコマンドは以下

csc source.cs /reference:NPOI.dll,NPOI.OOXML.dll,NPOI.OpenXml4Net.dll,NPOI.OpenXmlFormats.dll,ICSharpCode.SharpZipLib.dll