2022-02-08
(C) Questetra, Inc. (MIT License)
2
Insert a new row with data at the specified position in a sheet.
シート内の指定された場所に新しい行を挿入し、データを入力します。
https://support.questetra.com/bpmn-icons/excel-row-insert/
https://support.questetra.com/ja/bpmn-icons/excel-row-insert/
iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAEZklEQVRYR8WXf2xTVRTHv3evo9v6
+/XHyuZccRMjc8QRkkFEI9MWJCHBJSgqzIjJshFxjqHGuCAh8VdcJy7DEYyiGY5/QDFElHaKmZjM
P3AiatAprcsiLDoawlZbWXvNvesrb91r+waY3qRJ8969537uOd9zzn0EOR5E7f4ljWuLtPpIPSVk
JQGtAYgLgCWxPgTQIAUZIpSeiE4UfPTnvqNhNbazArieXeNEbOp5QtAEoECNUQARSrEXgub14BvH
LmRakxHA1eZuIiAdAHQqN06dNklBtwe9/r3p1qcFcG33vE0omq9x4xnLKEFPsMO3RcmWIoCrzd1H
QB65EZtLNijowaDX/2iqzVkAak6+ofYBLHEtQrmtBA6DiG+Gh9B+uCsrr5InZgAkYt4jWVpeeSfu
r1qGCkcZ5pvsEPUmGAv1yBc0MzY7dnoAT/W+nBWATaCgzXJNJAGY2kl86jdJcD++8gmK5qkTPQMQ
BAE2vRlxSkETP/afEIIuXy8Gf/9BApykeZpKKTuuAmzzvEkInpFmnes4rupEbBIDWOh0odhk5dDh
fyN8rUDyUKQtxK4jPXj/5JGkPUqxO9jpa2UPOAAvMobouDzP5woghWBwx0Es2zWt3xbPRrR4Ns0C
YHUiellrZcWKAyzY5t4IQnrlR04HwNz7z5UotJp8CHkCX8I8wIbNYMEdpZU4MzqMqXiMe6Om/HYl
AIDSTYFO/wEO4GrzvEuAzekA3vnqEBaXLURtxWIMX/gDHZ/tx56GdmgSYmQAI+PnuUhXVa/A8TMn
uSmnyYZ7bluqCECB94Je35PTHmhzfweQmnQAbNPOzz9Ad0M7uvs/xH1Vy/lJpSHPAnkImuoexnNr
Nit7AHQo4PUvSQB4LsoaC7crD0EsHseLh97C6uq78OnpAbz2UGvS/VIIWE0oNlphLjIgFL6MWDzG
09WqN6cBQCjg9YkSAE2VfKoGvh85i/quFhzeupvHVT7SeWCr+zG0rmpIB4CA10dUATDhdfkPwKIz
ITR5CU9zzV6tYQyAndRuFFFitmP04hivBRpBwAL7TaoAMobg3F+j2NPfh1fXt6Jx/068tK6ZG5Zr
YHhsBKLOiLU1K3F06AR/VWopRt2iWjUhSC9CFv+dH3ejfqmbu/7rX0/hi58GsWPdFuQlvMA8MPDL
KR7/xnvXo7u/D5ErUdzqLMcTdz+YXYSZ0pABTETD0M0r4Gk3EQljNDSGm63zk6WaAZRYHHAYRdj0
Fvw9EeIeyBfyYTdYVKThHApRqlilLFCqhBlFKC9EN6IUsz5gN4i8H4xdGudpyDxWJjqzl2JeDa+z
Gd3iKEOxUZzloKl4HI/vewFnzweS72Y1Iw6Q0o6b6zagqrSCx5bFlQlMpy2ckX5KlVApRCnPlNvx
dE/gl9DkhSTVGOsHq6tX8NbrNNt47psK9fjy52+v/0IibabmSqbilIpTsl7JkhC5vJT+H56Y87Vc
5oncfZgkIXL5aSZXUs4+Tq9V8WrX/Qc0OzY/XizhkgAAAABJRU5ErkJggg==
{
configs.put('conf_OAuth2', 'Microsoft');
// ブックの URL を設定した文字型データ項目(単一行)を準備
const bookUrlDef = engine.createDataDefinition('ブックの URL', 1, 'q_BookUrl', 'STRING_TEXTFIELD');
engine.setData(bookUrlDef, bookUrl);
configs.putObject('conf_Url', bookUrlDef);
// シート名を設定
configs.put('conf_Title', sheetTitle);
// 行番号を設定した数値型データ項目を準備
const rowNumDef = engine.createDataDefinition('行番号', 3, 'q_RowNum', 'DECIMAL');
if (rowNum === null) {
engine.setData(rowNumDef, null);
} else {
engine.setData(rowNumDef, new java.math.BigDecimal(rowNum));
}
configs.putObject('conf_RowNumber', rowNumDef);
const columns = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'];
columns.forEach((col, i) => {
configs.put(`conf_Value${col}`, rowData[i]);
});
};
const SAMPLE_URL_1 = 'https://test-my.sharepoint.com/personal/user_test_onmicrosoft_com/Documents/test.xlsx';
const SAMPLE_URL_1_ENCODED = 'u!aHR0cHM6Ly90ZXN0LW15LnNoYXJlcG9pbnQuY29tL3BlcnNvbmFsL3VzZXJfdGVzdF9vbm1pY3Jvc29mdF9jb20vRG9jdW1lbnRzL3Rlc3QueGxzeA';
// base64 エンコードした時点で / や + や末尾の = が含まれる文字列
const SAMPLE_URL_2 = 'https://test-my.sharepoint.com/:x:/g/personal/user_test_onmicrosoft_com/abc012_def456-ghi789-jkl00?e=xyz>A';
const SAMPLE_URL_2_ENCODED = 'u!aHR0cHM6Ly90ZXN0LW15LnNoYXJlcG9pbnQuY29tLzp4Oi9nL3BlcnNvbmFsL3VzZXJfdGVzdF9vbm1pY3Jvc29mdF9jb20vYWJjMDEyX2RlZjQ1Ni1naGk3ODktamtsMDA_ZT14eXo-QQ';
// スペースを含むシート名でテストする
const SAMPLE_SHEET_1 = 'シート 1';
const SAMPLE_SHEET_2 = 'シート 2;.!';
const SAMPLE_ROW = ['A列の値', 'B列の値', 'C列の値', 'D列の値', 'E列の値', 'F列の値', 'G列の値', 'H列の値', 'I列の値', 'J列の値'];
const SAMPLE_ROW_BLANK = new Array(10).fill(''); // 全ての要素が空文字列
/**
* ブックの URL をデータ項目で指定し、値が空でエラーになる場合
*/
test('Book URL is empty', () => {
prepareConfigs(null, SAMPLE_SHEET_1, '3', SAMPLE_ROW);
//