[Seasar-user:13818] readXls()で例外が発生する
Kenichiro TANAKA
[E-MAIL ADDRESS DELETED]
2008年 4月 17日 (木) 20:08:39 JST
田中と申します。
お世話になります。
テストクラスにて、readXlsWriteDb()でExcelファイルからデータを
読み込もうとしたところ、下の例外が発生してしまいました。
XlsReaderのsetupRows()で、行数をshortにキャストしているため、
shortの範囲を超えるとPOIの方で例外になっているようです。
------
protected void setupRows(DataTable table, HSSFSheet sheet) {
for (int i = 1;; ++i) {
HSSFRow row = sheet.getRow((short)i);
if (row == null) {
break;
}
setupRow(table, row);
}
}
------
バージョン:2.4.24
例外内容:
java.lang.IndexOutOfBoundsException: Row number must be between 0 and
65535, was <-32768>
at org.apache.poi.hssf.usermodel.HSSFRow.setRowNum(HSSFRow.java:208)
at org.apache.poi.hssf.usermodel.HSSFSheet.getRow(HSSFSheet.java:319)
at org.seasar.extension.dataset.impl.XlsReader.setupRows(XlsReader.java:272)
at org.seasar.extension.dataset.impl.XlsReader.createTable(XlsReader.java:218)
at org.seasar.extension.dataset.impl.XlsReader.<init>(XlsReader.java:196)
at org.seasar.extension.dataset.impl.XlsReader.<init>(XlsReader.java:91)
at org.seasar.extension.unit.S2TestCase.readXls(S2TestCase.java:219)
at org.seasar.extension.unit.S2TestCase.readXls(S2TestCase.java:206)
at example.HogeTest.testHoge(HogeTest.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
よろしくお願いいたします。
#既出でしたらごめんなさい。
--
Kenichiro TANAKA
[E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内