(C) Questetra, Inc. (MIT License)
2
Appends values of table data item after the last row in a sheet. Inserts new rows if necessary.
シート末尾にテーブル型データの値を入力します。必要あれば行領域を拡大します。
2022-01-13
https://support.questetra.com/bpmn-icons/googlesheets-appendtable/
https://support.questetra.com/ja/bpmn-icons/googlesheets-appendtable/
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADbElEQVRYR8WXS0hUURjH/2dGJFDz
lqNimmORhAU5hRVFojgTQSTarl3azN5x1aboQdAqGoVc2AyOFoGCpQuN7E6MRIVW4BBZUqJkbYTw
+H7M48Sdx3Ve986d0crFuDjfd8/v+5/vcQ7Bf/4jyezPWfX1IKQKDDoAHIj/P8AwBoCCYAwETnqF
71f63YQAXEc1B19aE8DMAOGUfZhRgFig8rTQRieV85EF4Gw1DQC5r3zj6K0YBUMjNTn6pCAkATir
3gJCmpRFnNDKQo18czyruACcVW8HIZcTfjYpA2anRkdjtEsMQHjkvefuoqawQvTxMV8w54S8Y2DM
/4uhmRGUZhfj9gcbBn+8lcZirIWaHOZwgwiAwJmrOkIGzro2lOeUJozzxcwITuYf8ts1v2lB39Sw
HMTF8JwQAQLZrp4KT7hkAbj0LMxvLOHquwfonuQlIBiFyrsvVB2bADbDTQA3wr1SARD8F9zLuD7a
jq6JQSklblEjL+yHTQCrQWgk2akC7FCnY2d6hug+uzqHSy+vSapAjY5dIkCwwz2LtlaqwNz6Ihbd
yxHuK551nHpqSpgLfgWkal4pQLxdlj1rKOqqTVgRAQCbwQmgKlUFUgIAhqmRrw4pMA1CtHIAK541
LGxEyhxtr1apkbsjMC4SK4AxauKPhhRg8aIIPwLX7294NPEch3fvR/d3HpUFOuzJ0IhuHuYF//M9
us/eUQYgjE8jT5ICGJoZhU5TivbxPpwvPo2izLxNAJ8X9omBFAGs+oRHICjw6tdHHNMcRNvnXtRq
z2BvZr4I4PZ58PBLfxIAzEWNDp3iJBQAeiYdOJJzAJ1fB2AoOoHCzFwRwOvzon/6dRIAkUkYd/RG
58Do7DgqcsvQ+qkHdSWV0GYVRChwz/VEOUBwMIWqQLhqyTaibU9CxvxDSXErFspwyb0q3VgAqAiB
RkkZMsxTE++v120ZRik0ojjDSBjH3rTp8IH0V1oxwzzUnpKYcRxoyZEXkqELrTieVyYru9Si0DW1
j+tjl4NnH1qQvZKltLO8kyi9JEBwOm7/pZSxTmpyNETz/atreUzksgqEFv0XFRB79E1J8dEICQfW
kNLDRIQIPM3MYDArBhE2JhCeZpYtPc2iIw0ogmoQogMYB5DygA1zAYSCMeGR6pSLWHEOKJZ5i4Z/
AEwJzTC2ALrNAAAAAElFTkSuQmCC
{
configs.put('conf_OAuth2', 'Google');
// スプレッドシートの ID を設定した文字型データ項目(単一行)を準備
const spreadSheetIdDef = engine.createDataDefinition('スプレッドシートの ID', 1, 'q_SpreadSheetId', 'STRING_TEXTFIELD');
engine.setData(spreadSheetIdDef, spreadSheetId);
configs.putObject('conf_DataIdW', spreadSheetIdDef);
// シートのタイトルを設定した文字型データ項目(単一行)を準備
const sheetTitleDef = engine.createDataDefinition('シートのタイトル', 2, 'q_SheetTitle', 'STRING_TEXTFIELD');
engine.setData(sheetTitleDef, sheetTitle);
configs.putObject('conf_DataIdX', sheetTitleDef);
// テーブル型データ項目を準備
const tableDef = engine.createDataDefinition('テーブル', 3, 'q_Table', 'LIST');
// 文字型のサブデータ項目を設定可能な列数ぶん準備し、config にフィールド名をセット
COLUMNS.forEach(col => {
tableDef.addSubDataDefinition(`${col}列のサブデータ`, `q_SubData${col}`, 'STRING');
configs.put(`conf_DataId${col}`, `q_SubData${col}`);
});
// テーブルにデータを2行追加
const table = tableDef.createListArray();
for (let i = 0; i < 2; i++) {
const row = table.addRow();
COLUMNS.forEach((col, j) => {
row.put(`q_SubData${col}`, `${i+1}行${j+1}列の文字列`);
});
}
engine.setData(tableDef, table);
configs.putObject('conf_DataIdT', tableDef);
// POST リクエストボディ確認用の行データを準備
const expectedRows = [];
for (let i = 0; i < 2; i++) {
expectedRows[i] = [];
for (let j = 0; j < COLUMNS.length; j++) {
expectedRows[i][j] = {
type: 'stringValue',
value: `${i+1}行${j+1}列の文字列`
};
}
}
return {tableDef, expectedRows};
};
/**
* スプレッドシートの ID をデータ項目で指定し、値が空でエラーになる場合
*/
test('Target Spreadsheet ID is empty', () => {
prepareConfigs(null, 'シート1');
//