セルのオブジェクトを取得する方法と、セルに値を設定または、取得する方法を記載します。

セルを初期化するときのオブジェクトを取得(選択)する

'ブックを作成(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

・日付は、数値と判断されるので、表示フォーマットで区別するが、フォーマットが設定されていないと数値とみなされる。またフォーマットによっては正常に判断されない。