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

function main() {
  //// == 自動工程コンフィグの参照 / Config Retrieving ==
  let excelCsvFileDataNum = configs.get( "File_DataId" ); // (returns Number)
  let tableDataNum = configs.get( "Table_DataId" ); // (returns Number)
  
  //// == ワークフローデータの参照 / Data Retrieving ==
  let myFiles = engine.findDataByNumber( excelCsvFileDataNum ); 
  
  // ファイル型データに複数添付されている場合、エラー
  if (myFiles !== null && myFiles.size() > 1) {
    throw new Error( 'Attachment of multiple files can not be supported.' );
  }
  
  let 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) {
      let tmpRow = new com.questetra.bpms.core.model.formdata.ListArray.ListRow();
      let 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人のブロガーが「いいね」をつけました。