回答編集履歴

3

追加

2023/10/04 17:35

投稿

jimbe
jimbe

スコア13318

test CHANGED
@@ -3,4 +3,9 @@
3
3
  配列に格納するには…では無くて、そもそも「セルが空」という状態が POI の getCell の結果としてどう表現されているか、ということでしょう。
4
4
  セルの罫線の中になんの文字が見えなくても、例えば String 型の列で空文字("")であることと 整数型で 0 が入っているのをフォーマットで見えなくしているのとでは、内部的には全く違います。その一つとして「未定義(なんの情報も無い)セル」を getCell すると null が返されることはあり得る話です。(「未定義セル」を null という形で得られている、とも言えます。)
5
5
  そして getCell で null が得られた時にどうするか、配列には何を入れるのか(/入れないのか)は、お作りになっているプログラムの仕様次第です。
6
+ 参考にされた先のコードでは、
7
+ ```java
8
+ Cell cell = row.getCell(j);
9
+ list.add((cell == null) ? "" : cell.getStringCellValue());
10
+ ```
6
- 参考にされた先のコードでは、 getCell が null を返した場合は空文字列 "" を入れていますね。
11
+ getCell が null を返した場合は空文字列 "" を入れていますね。

2

追加

2023/10/04 17:32

投稿

jimbe
jimbe

スコア13318

test CHANGED
@@ -1,5 +1,6 @@
1
1
  >配列に格納するには何か別の処理が必要なのでしょうか
2
2
 
3
3
  配列に格納するには…では無くて、そもそも「セルが空」という状態が POI の getCell の結果としてどう表現されているか、ということでしょう。
4
- セルの罫線の中になんの文字が見えなくても、例えば String 型の列で空文字("")であることと 整数型で 0 が入っているのをフォーマットで見えなくしているのとでは、内部的には全く違います。その一つとして「なんの情報も無いセル」を getCell すると null が返されることはあり得る話です。(「空白のセル」を null という形で得られている、とも言えます。)
4
+ セルの罫線の中になんの文字が見えなくても、例えば String 型の列で空文字("")であることと 整数型で 0 が入っているのをフォーマットで見えなくしているのとでは、内部的には全く違います。その一つとして「未定義(なんの情報も無い)セル」を getCell すると null が返されることはあり得る話です。(「未定義セル」を null という形で得られている、とも言えます。)
5
5
  そして getCell で null が得られた時にどうするか、配列には何を入れるのか(/入れないのか)は、お作りになっているプログラムの仕様次第です。
6
+ 参考にされた先のコードでは、 getCell が null を返した場合は空文字列 "" を入れていますね。

1

修正

2023/10/04 16:35

投稿

jimbe
jimbe

スコア13318

test CHANGED
@@ -1,5 +1,5 @@
1
1
  >配列に格納するには何か別の処理が必要なのでしょうか
2
2
 
3
3
  配列に格納するには…では無くて、そもそも「セルが空」という状態が POI の getCell の結果としてどう表現されているか、ということでしょう。
4
- セルの罫線の中になんの文字が見えなくても、例えば String 型の列で空文字("")であることと 整数型で 0 が入っているのをフォーマットで見えなくしているのとでは、内部的には全く違います。その一つとして「なんの情報も無いセル」を getCell すると null が返されることはあり得る話です。
4
+ セルの罫線の中になんの文字が見えなくても、例えば String 型の列で空文字("")であることと 整数型で 0 が入っているのをフォーマットで見えなくしているのとでは、内部的には全く違います。その一つとして「なんの情報も無いセル」を getCell すると null が返されることはあり得る話です。(「空白のセル」を null という形で得られている、とも言えます。)
5
- そしてその時に配列には何を入れるのか(/入れないのか)は、お作りになっているプログラムの仕様次第です。
5
+ そして getCell で null が得られた時にどうするか、配列には何を入れるのか(/入れないのか)は、お作りになっているプログラムの仕様次第です。