0

Excelの特定のセルに書き込む必要がある特定の値がいくつかあります。私はjavascriptステップでこれを行います。最初にパスを取得し、次にシートの名前を取得します。そして、必要な修正を行います。

奇妙なことに、ファイルにアクセスする前にファイル名のパスとシート名を最初に出力しないと、シートにアクセスできず、シートが null であると表示され、初期化または行へのアクセスは失敗します。

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 メソッドを実行しようとしています

しかし、奇妙なことは、参照を作成する直前に targetFile (完全なファイル名とパス) とシート名を最初に警告しようとすると、完全に正常に動作し、エラーが発生しないことです。

それがなぜなのかわかりません。アイデアや提案はありますか?

編集:

アクセスしようとしている 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 に答える