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 的值。

很有可能您实际上有一个 nested IndexOutOfBoundsException,因为headersHSSF数组的大小可能大于headers列表的大小。

将循环签名更改为:

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

并检查错误是否相同、消失或不同。

于 2010-11-09T10:57:23.990 回答