NPOIで、ブックを追加・更新する方法を記載します。

新規にブックを作成する

'Excelのブックを作成(xlsx形式)
Dim book As IWorkbook = New XSSFWorkbook()

'シートを作成
Dim sheet1 As ISheet = book.CreateSheet("MySheet")

sheet1.CreateRow(0).CreateCell(0).SetCellValue("Hello World.")

Dim filePath As String = "c:\work\Sample01.xlsx"
Using wfs = File.Create(filePath)
    book.Write(wfs)
End Using

 

既存のファイルをブックに読み込む

Dim FilePath As String = "c:\work\Sample01.xlsx"

'Excelのブックを開く
Dim book As IWorkbook = New XSSFWorkbook(FilePath)

'シートを作成
Dim sheet As ISheet = book.CreateSheet("MySheet")

sheet.CreateRow(0).CreateCell(0).SetCellValue("Hello World.")

・上記の読み込みの場合、修正は出来るが同一ファイルに更新が出来ない。

別ファイルをオープンし書き込むか、表示・印刷の読み込み専用で使うかです。

 

既存のファイルのブックを修正する

Dim FilePath As String = "c:\work\Sample01.xlsx"

'Excelのブックを開く
Dim rfs As FileStream = File.OpenRead(FilePath)
Dim book As IWorkbook = New XSSFWorkbook(rfs)
rfs.Close()

'シートを作成
Dim sheet As ISheet = book.CreateSheet("MySheet")

sheet.CreateRow(0).CreateCell(0).SetCellValue("Hello World.")

'ファイルを更新する
Using wfs = File.Create(FilePath)
    book.Write(wfs)
End Using

ファイルを読み込んだらファイルをクローズする。

書き込みの際は、書き込みでファイルをオープンし書き込む。

※リードライトでオープンしていてもWrite()で、エラーになるのでオープンしなおす。