๐กApps Script๋ก Google Sheets์ ์ซ์์์, ๋ ์ง์์์ ์ ์ฉํ๋๋ฒ์ ์์๋ณธ๋ค.
๋ญ๊ฐ ํ์ ํ๋ค.
์ซ์์ธ๋ฐ ์ฒ๋จ์ ์ฝค๋ง๊ฐ ์๋ค.
Google Sheets์์ ์ ๊ณตํ๋ ์ซ์์์์ ์ ์ฉํ๋ ค๊ณ ํ๋ค.
์ซ์์์ ์ ์ฉ์ ๊ฐ๋จํ๋ค.
Class Range | Apps Script | Google Developers
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var cell = sheet.getRange("B2");
// Always show 3 decimal points
cell.setNumberFormat("0.000");
์์ฑ ์ค์ธ ์ฝ๋์ ๋ฐ์ํด๋ณธ๋ค.
์์ญ์ ์์ด, ์ปฌ๋ผ์ ํญ์ ๋์ผํ ๊ฒ์ด๊ณ ,
row count๋ง ๋ฌ๋ผ์ง ๊ฒ์ด๊ธฐ ๋๋ฌธ์
sheet.getLastRow() ๋ฅผ ์ด์ฉํด ๋ฒ์๋ฅผ ์ง์ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ฐ์ธก ์ ๋ ฌ์ด ์๋๋ ๊ฒฝ์ฐ๋ ์๊ธฐ ๋๋ฌธ์,
sheet.setHorizontalAlignment("right"); ๋ ์ถ๊ฐํ์ฌ ์ฐ์ธก ์ ๋ ฌ์ ์ ์ฉํด์ค๋ค.
/**
* BigQuery์์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ Sheets์ ๋ฟ๋ ค์ฃผ๊ธฐ
*/
function getDataFromBigquery() {
const datasetId = global_datasetId;
const tableId = "standard_long";
const columns = 'BillingDocument, BillingQuantityUnit, TransactionCurrency, NetAmount, TaxAmount, "" AS NULLTXT, BillingDocumentItemText'
const queryString = 'SELECT ' + columns + ' FROM `'
+ GLOBAL_PROJECT_ID + "." + datasetId + "." + tableId + '` WHERE BillingDocumentItem = "82" ORDER BY BillingDocument ASC ;';
const sheetUrl = SpreadsheetApp.getActiveSpreadsheet().getUrl();
const sheetName = "Sheet2"
const dataRange = queryAndBinding(sheetUrl, sheetName, queryString, 2, 1, "N", null, "Y");
const sheet = SpreadsheetApp.openByUrl(sheetUrl).getSheetByName(sheetName);
if ( dataRange != null ) {
// ์กฐ๊ฑด๋ถ์์ ์ ๊ฑฐ
sheet.clearConditionalFormatRules();
// ํ
๋๋ฆฌ ์ค์
setTableBorder(sheet, dataRange, true);
// ์
์์ ์ ์ฉ
var calculateCell = sheet.getRange("F2:f"+sheet.getLastRow());
calculateCell.setFormulaR1C1("=R[0]C[-2]-R[0]C[-1]");
// ์ซ์์์ ์ ์ฉ
var applyRange = "D2:"+"F"+sheet.getLastRow();
sheet.getRange(applyRange).setNumberFormat("#,##0").setHorizontalAlignment("right");
// ์กฐ๊ฑด๋ถ์์ ์ ์ฉ - ์ผ์นํ๋ ํ
์คํธ ๊ฐ์กฐ
setConditionalFormatCompareText(sheet, "KRW");
// ์กฐ๊ฑด๋ถ์์ ์ ์ฉ - ํน์ ์์น ์ด์ ๊ฐ ๊ฐ์กฐ
setConditionalFormatCompareNumber(sheet, 200000);
}
}
๊ฒฐ๊ณผ
์ซ์ํฌ๋งท ๋ง๊ณ ๋, yyyy-mm-dd ๊ฐ์ ๋ ์งํ์ ์ง์ ๋ setNumberFormat()๋ฅผ ์ด์ฉํด ์ค์ ํ ์์๋ค.
activeCell.setValue(oldValue).setNumberFormat('yyyy-mm-dd');
Date and Number Formats | Sheets API | Google Developers
'GCP > Apps Script' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Apps Script ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฑํด์ ๋ค๋ฅธ Apps Script์์ ์ฌ์ฉํ๊ธฐ (0) | 2022.09.06 |
---|---|
Apps Script๋ก Google Sheets์ ๋ฐ์ดํฐ๋ฅผ BigQuery์ Load (0) | 2022.09.06 |
Apps Script๋ก Google Sheets์ ์์ ์ ์ฉํ๊ธฐ (0) | 2022.09.06 |
Apps Script๋ก Google Sheets์ ์กฐ๊ฑด๋ถ์์ ์ค์ ํ๊ธฐ (0) | 2022.09.06 |
Apps Script๋ก Google Sheets์ Dropdown ์์ฑํ๊ธฐ (0) | 2022.09.06 |