0

我有一些特定的值需要写在 excel 中的特定单元格上。我在 javascript 步骤中执行此操作,我所做的是首先获取路径,然后获取工作表的名称。然后我进行必要的修改。

发生的奇怪的事情是,如果我在访问文件之前没有先输出文件名路径和工作表名,我就无法访问工作表,当我尝试它时说工作表为空并且我尝试初始化或访问一行失败。

var fii = new java.io.FileInputStream( targetFile );
var excelWorkbook = new org.apache.poi.hssf.usermodel.HSSFWorkbook( fii );
var excelSheet = excelWorkbook.getSheet(getVariable('NEW_PRODUCT_NAME', 'noValue'));

这是错误信息

 TypeError: Cannot call method "getRow" of null (script#32)

script#32 正在尝试执行 sheet.getRow 方法

但奇怪的是,当我尝试首先提醒目标文件(完整的文件名和路径)和工作表名时,就在进行引用之前,它工作得非常好,而且我没有遇到任何错误。

我只是不确定为什么会这样。请问有什么想法或建议吗?

编辑:

我试图访问的 excel 也是在同一个转换中动态创建的。

4

1 回答 1

0

即使在访问文件之前我已经有一个阻塞步骤,我仍然需要手动延迟转换集。阻塞步骤的值是创建文件的转换。

我在这里使用了脚本

http://type-exit.org/adventures-with-open-source-bi/2010/07/writing-to-multiple-excel-sheets-with-kettle/

于 2013-05-27T10:59:24.090 回答