情報
環境:Visual Studio2019
言語:vb
OS:widnows10
Ver:EpPlus4と5でも確認済み
DLなどについては前回のC#:EpPlus簡単な操作とダウンロードまでに記録してあります
エラーが起こる条件
以下画像のようにセルの名前を設定するが、全角文字の「’(シングルクォーテーション)」があること
Using pkg As New ExcelPackage() = ExcelFile 'pkg.Workbook.Worksheetsを取得時にエラーになる For Each Sheet As ExcelWorksheet In pkg.Workbook.Worksheets Next End Using
解決・問題発生として
ソースコード上に何できることはなく、Worksheetsを読み込みんだ段階でVisual studioでエラーを引き起こす
EpPlusがExcelファイルを読み込もうとするときにxml形式に変換するのかで全角シングルクォーテーションがあると不具合を起こすものだと考えれる
意図しなくてもExcelを印刷プレビューなどで表示させたりすると「Print_Area」が作成される場合がある、この場合であればSheet名に全角シングルクォーテーションがあった場合に同様形式でエラーが発生する
おまけ
Formulaある場合(Sum(A1:A100)など)に計算してから値を使用したい場合
'式を計算実行する、これをしていないとValueに計算後の値が入っていない ESheet.Cells(1, 1).Calculate() Dim GetVal as string = ESheet.Cells(1, 1).Value
貼り付け先のExcelにFormulaある場合に値を入れた場合
'式を削除していないと値を入れても式が優先されるため、値が入っていないように見える 'そのため式を以下のように削除しておく ESheet.Cells(1, 1).Formula = String.Empty
コメントを残す