0

一部のデータを Excel にエクスポートしようとしているときに、ある時点で立ち往生しています。

これが私のコードです

List<String> headers = new ArrayList<String>();
//////////////////////////////////////////////
/// Added some headers in between to the list               
///////////////////////////////////////////////

HSSFCell[] cell = new HSSFCell[headers.size()];

for (int i = 0; i < headersHSSF.length; i++) {  
  cell[i] = excelRow.createCell(i);    
  cell[i].setCellValue(new HSSFRichTextString(headers.get(i)));
}

このコードは、行の InvocationTargetException をスローしています

cell[i].setCellValue(new HSSFRichTextString(headers.get(i)));

これが起こっている理由を誰か教えてもらえますか?

(PS: Flex UI からコードを呼び出しています。これは Java コードからは呼び出されません)

4

1 に答える 1

0

InvocationTargetException は、呼び出されたメソッドまたはコンストラクターによってスローされた例外をラップするチェック済み例外です。

HSSFRichTextStringクラスの作成中に例外がスローされた可能性があります。この場合、headers.get(i)first の値を確認 (デバッグ) します。

配列のサイズがリストのサイズよりも大きい可能性があるIndexOutOfBoundsExceptionため、実際にネストされた がある可能性は十分にあります。headersHSSFheaders

ループ署名を次のように変更します。

for (int i = 0; i < headers.size(); i++) {

エラーが同じか、なくなったか、または異なるかを確認します。

于 2010-11-09T10:57:23.990 に答える