Excel-CSV のメール送付 (Table)

テーブル型データ項目の値を Excel CSV ファイル(TSV)に変換、添付してメールを送信します。

    A. テーブル型データを選択してくださいデータ項目選択テーブル型必須
    B. 送出データの項目 ID をセットしてください (例 "0,1,5,3,6")単一行記述必須
    C. 宛先アドレスが格納されている文字列型データを選択してくださいデータ項目選択文字列型(単一行)必須
    D. 宛先名が格納されている文字列型データを選択してくださいデータ項目選択文字列型(単一行)必須
    E. メール件名が格納される文字列型データを選択してくださいデータ項目選択文字列型(単一行)必須
    F. Fromアドレスをセットしてください (例 "noreply@example.com")単一行記述必須
    G. Fromアドレス名をセットしてください (e.g. "経理ニュース")単一行記述必須
    H. ReplyToアドレスをセットしてください (例 "admin@example.com")単一行記述必須
    I. ReplyToアドレス名をセットしてください (e.g. "経理ニュース管理者")単一行記述必須
    J. メール本文が格納される文字列型データを選択してくださいデータ項目選択文字列型必須
    K. 添付ファイル名が格納される文字列型データを選択してくださいデータ項目選択文字列型(単一行)必須
    -設定変数名設定ラベル
    Aconf_DataIdAテーブル型データを選択してください
    Bconf_ColIds送出データの項目 ID をセットしてください (例 "0,1,5,3,6")
    Cconf_DataIdC宛先アドレスが格納されている文字列型データを選択してください
    Dconf_DataIdD宛先名が格納されている文字列型データを選択してください
    Econf_DataIdEメール件名が格納される文字列型データを選択してください
    Fconf_FromAddressFromアドレスをセットしてください (例 "noreply@example.com")
    Gconf_FromNameFromアドレス名をセットしてください (e.g. "経理ニュース")
    Hconf_ReplyToAddressReplyToアドレスをセットしてください (例 "admin@example.com")
    Iconf_ReplyToNameReplyToアドレス名をセットしてください (e.g. "経理ニュース管理者")
    Jconf_DataIdJメール本文が格納される文字列型データを選択してください
    Kconf_DataIdK添付ファイル名が格納される文字列型データを選択してください
    // Email Table as Excel-CSV (ver. 20160907)
    // (c) 2016, Questetra, Inc. (the MIT License)
    
    //// == 自動工程コンフィグの参照 / Config Retrieving ==
    var dataIdA = configs.get( "conf_DataIdA" ); // (returns Number)
    var colIds = configs.get( "conf_ColIds" ) + "";
    var dataIdC = configs.get( "conf_DataIdC" ); // (returns Number)
    var dataIdD = configs.get( "conf_DataIdD" ); // (returns Number)
    var dataIdE = configs.get( "conf_DataIdE" ); // (returns Number)
    var fromAddress = configs.get( "conf_FromAddress" );
    var fromName = configs.get( "conf_FromName" );
    var replyToAddress = configs.get( "conf_ReplyToAddress" );
    var replyToName = configs.get( "conf_ReplyToName" );
    var dataIdJ = configs.get( "conf_DataIdJ" ); // (returns Number)
    var dataIdK = configs.get( "conf_DataIdK" ); // (returns Number)
    
    //// == ワークフローデータの参照 / Data Retrieving ==
    var myTable = data.get( dataIdA );
    // myTable: com.questetra.bpms.core.model.formdata.ListArray
    var toAddress = data.get( dataIdC ) + "";
    var toName = data.get( dataIdD ) + "";
    var subject = data.get( dataIdE ) + "";
    var myBody = data.get( dataIdJ ) + "";
    var myFileName = data.get( dataIdK ) + "";
    
    //// == 演算 / Calculating ==
    if( myTable !== null){
      var colIdArray = colIds.split(",");
      var numOfCols = colIdArray.length;
      var numOfRows = myTable.size() - 0; // 行(Tableの高さ)
    
      var myTsv = "";
      for( var i = 0; i < numOfRows; i++ ){
        for( var j = 0; j < numOfCols; j++ ){
          if( j != numOfCols - 1 ){
            myTsv += myTable.get(i, parseInt( colIdArray[j] ) ) + "\t";
          }else{
            myTsv += myTable.get(i, parseInt( colIdArray[j] ) ) + "\n";
          }
        }
      }
    
      emailService.begin()
        .addTo( toAddress, toName )
        .setFrom( fromAddress, fromName )
        .setReplyTo( replyToAddress, replyToName )
        .setSubject( subject )
        .setBody( myBody )
        .addAttachment( myFileName, 'text/tab-separated-values; charset=x-UTF-16LE-BOM', myTsv)
        .send();
    }
    

    • A’: Aで選択したデータ項目に格納されているテーブル
    • C’: Cで選択したデータ項目に格納されているToアドレス
    • D’: Dで選択したデータ項目に格納されているToアドレス表示名
    • E’: Eで選択したデータ項目に格納されているメールサブジェクト
    • J’: Jで選択したデータ項目に格納されているメール本文
    • K’: Kで選択したデータ項目に格納されている添付ファイル名
    • テーブルA’が Excel CSV ファイル(実体は tab-separated-values)としてメール添付されます。ファイル拡張子は “.csv” が推奨されます
    • “0,1,5,3,6” は、ID:0、ID:1、ID:5、ID:3、ID:6のカラム順に変更して CSV を生成させることを意味します
    • SJIS版は comma-separated-values です。スマートフォン表示やデータインポートの可用性が高まりますが、Comma情報が欠落します