コンバータ (Excel-CSV ファイル to テーブル型データ) (Converter (Excel-CSV FILE to Table type data))
テーブル型データ項目の値を、ファイル型データ項目に格納されている Excel 対応 CSV ファイル(TSV UTF-16 LE BOM あり)の内容で、上書きします。
2020-10-05 (C) Questetra, Inc. (MIT License)
Configs
  • A: 対象の Excel-CSV が格納されているファイル型データ項目 *
  • B: Excel-CSV を保存するテーブル型データ項目 *
Script
main();

function main() {
//// == 自動工程コンフィグの参照 / Config Retrieving ==
const excelCsvFileDataNum = configs.get( "File_DataId" ); // (returns Number)
const tableDataNum = configs.get( "Table_DataId" ); // (returns Number)

//// == ワークフローデータの参照 / Data Retrieving ==
const myFiles = engine.findDataByNumber( excelCsvFileDataNum );

// ファイル型データに複数添付されている場合、エラー
if (myFiles !== null && myFiles.size() > 1) {
throw new Error( 'Attachment of multiple files can not be supported.' );
}

const myTable = new com.questetra.bpms.core.model.formdata.ListArray();
// ファイル型データにファイルが1つ添付されている場合
if (myFiles !== null) {
// ファイル型を1行ずつ読み込んで、テーブル型にセット
fileRepository.readFile(myFiles.get(0), "x-UTF-16LE-BOM", function(line) {
const tmpRow = new com.questetra.bpms.core.model.formdata.ListArray.ListRow();
const cellsArray = line.split("\t");
for (let j=0; j < cellsArray.length; j++){
tmpRow.addCol( cellsArray[j] );
}
myTable.addRow( tmpRow );
});
}

//// == ワークフローデータへの代入 / Data Updating ==
// ファイル型データ項目にファイルが1つ添付されている場合はその値、1つも添付されていない場合は空をセット
engine.setDataByNumber( tableDataNum, myTable );

}

Download

Capture

%d人のブロガーが「いいね」をつけました。