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()で、エラーになるのでオープンしなおす。