【GAS】스프레드시트에서 Insert 문을 작성하는 순서

이 기사에 대하여



This is for 나 자신 as 메모

개요



A1 셀에 테이블 이름을 넣습니다.

두 번째 줄은 열 이름을 나열합니다. 3행째 이후는 레코드가 되는 정보를 세트 한다.

또, result 시트를 미리 작성해 둔다.



그런 다음 Google Apps Script를 열고 다음을 실행합니다.
function makeInsertQuery() {

 let spreadSheetByActive = SpreadsheetApp.getActive();
 let sheetByActive = spreadSheetByActive.getActiveSheet();
 let range = sheetByActive.getRange(1,1,sheetByActive.getLastRow(), sheetByActive.getLastColumn());
 let headerRowIndex = 1;
 let firstValuesRowIndex = headerRowIndex + 1;
 let cells = range.getValues();
 let numRows = range.getNumRows();
 let numColumns = range.getNumColumns();
 let tableName = cells[0][0];
 let columnNames = [];

 for (var i = 0; i < numColumns; i++) {
  columnNames.push(cells[headerRowIndex][i]);
 }

 let prefix = "INSERT INTO " + tableName + " (" + columnNames.join(",") + ") VALUES (";

 let deleteTarget = spreadSheetByActive.getSheetByName('result');
 spreadSheetByActive.deleteSheet(deleteTarget)
 let newSheet = range.getSheet().getParent().insertSheet();
 newSheet.setName('result')

 let targetCell = newSheet.getActiveCell();

 for (var i = firstValuesRowIndex; i < numRows; i++) {
    var values = [];
    for (var j = 0; j < numColumns; j++) {
      values.push('"' + cells[i][j] + '"');
    }
    targetCell.setValue(prefix + values.join(",") + "); ");
    targetCell = targetCell.offset(1, 0);
  }
}

결과.



참고문헌


  • Google 스프레드시트에서 INSERT 문을 생성하는 Google Apps Script
  • 좋은 웹페이지 즐겨찾기