NullReferenceException
【環境】
NPOI: 2.3.0
Visual C#: 15.5.4(2017)
.NETFramework,Version: v4.6.1
NPOI: 2.3.0
Visual C#: 15.5.4(2017)
.NETFramework,Version: v4.6.1
経緯
ある日突然例外がスローされた。
System.NullReferenceException: オブジェクト参照がオブジェクト インスタンスに設定されていません。
見てみると、どうやら GetRow で失敗しているんだけど
何故か、22行目で突然失敗。
原因
CreateRow や CreateCell をしておらず
その行やセルが見つからない、ってことだったみたい。
stack overflow:NullReferenceException accessing Workbook Cells with NPOI(2016-10-23)
これが、一から作成してる Excel ファイルではなく
テンプレートファイルを用意していたので
ちょっと混乱した。
7行目から先は全て空白行なので
21行目も22行目もどちらも空白行なのに
22行目で突然エラー。
解決(邪道)
どうやら、21行目までは見た目空白行であっても
書式設定か何かがされていて、NPOI 側で既存と認識できていたみたい。
なので、100行目までフォント色を「自動」にしたら
例外にならなくなった。
本当は CreateRow や CreateCell をするのが正しい解決方法だと思うけど
今晩は時間がないので暫定で対応。