セルのオブジェクトを取得する方法と、セルに値を設定または、取得する方法を記載します。
セルを初期化するときのオブジェクトを取得(選択)する
'ブックを作成(xlsx形式)
Dim book As IWorkbook = New XSSFWorkbook()
Dim sheet1 As ISheet = book.CreateSheet("Sheet1")
'行の5行目を取得する
Dim row As IRow = sheet1.CreateRow(4)
'5列目のセルを取得する
Dim cell As ICell = row.CreateCell(4)
'または
Dim cell As ICell = sheet1.CreateRow(4).CreateCell(4)
・セルの行、列ともに0から数えます。
セルのオブジェクトを取得(選択)する
'行の5行目を取得する Dim row As IRow = sheet1.GetRow(4) '5列目のセルを取得する Dim cell As ICell = row.GetCell(4) 'または Dim cell As ICell = sheet1.GetRow(4).GetCell(4)
セルに値を設定する
設定する値には、文字列、数値、論理値、日付などがあります。
Dim book As IWorkbook = New XSSFWorkbook()
Dim sheet1 As ISheet = book.CreateSheet("Sheet1")
'セルを取得する
Dim row As IRow = sheet1.CreateRow(4)
'数値を設定する
row.CreateCell(0).SetCellValue(1234.5)
'文字列を設定する
row.CreateCell(1).SetCellValue("Hello World")
'論理値を設定する
row.CreateCell(2).SetCellValue(True)
'日付を設定する
row.CreateCell(3).SetCellValue(Now.Date)
セルの値を取得する
'数値を取得する Dim d As Double = sheet1.GetRow(4).GetCell(0).NumericCellValue() '文字列を取得する Dim s As String = sheet1.GetRow(4).GetCell(1).StringCellValue() '論理値を取得する Dim b As Boolean = sheet1.GetRow(4).GetCell(2).BooleanCellValue() '日付を取得する Dim t As Date = sheet1.GetRow(4).GetCell(3).DateCellValue() '全てのデータ型を文字列として取得する Dim str As String = sheet1.GetRow(4).GetCell(3).ToString()
セルの値をデータ型別に取得する
Dim cel As ICell = sheet1.GetRow(0).GetCell(0)
Dim val As Object
Select Case cell.CellType
Case CellType.Numeric
If (DateUtil.IsCellDateFormatted(cell)) Then
val = cell.DateCellValue
Else
val = cell.NumericCellValue
End If
Case CellType.Boolean
val = cell.BooleanCellValue
Case CellType.Formula
val = cell.CellFormula
Case Else
val = cell.StringCellValue
End Select
・日付は、数値と判断されるので、表示フォーマットで区別するが、フォーマットが設定されていないと数値とみなされる。またフォーマットによっては正常に判断されない。