Converter (Excel-CSV FILE to Table type data)
Overwrite the value of a Table type data item with a contents of the Excel compatible CSV file(TSV UTF-16 LE with BOM) stored in a File type data item.
2020-10-05 (C) Questetra, Inc. (MIT License)
Configs
  • A: File type data item that stores target Excel-CSV file *
  • B: Table type data item to save Excel-CSV data *
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 bloggers like this: