[Node.js] Google Spread Sheet에 데이터 입력하기[Node.js] Google Spread Sheet에 데이터 입력하기

Posted at 2019. 6. 11. 17:51 | Posted in Node.js/Google Spread Sheet
반응형






※ 해당 포스팅 google-spreadsheet 2.0.7 버전을 기준으로 작성되었습니다.

    google-spreadsheet 3 버전 이후버전부터는 실행에 앞서 에러가 발생합니다.

    추후 수정 예정이오니 해당 포스팅을 참고하시는 분은 이점을 꼭 기억해 주시기 바랍니다.

    ( google-spreadsheet 2.0.7 버전의 경우 2020-05-15일 기준으로 사용에 문제는 없습니다. )





■ 구글 스프레드 시트에 데이터 입력하기





google-spreadsheet 모듈을 사용해 데이터를 입력할 경우에는 


단순히 마구잡이로 데이터를 넣는 것이 아니라.


양식에 맞게 설정을 잡아 주어야 데이터의 입력이 가능하다.


아래와 같이 스프레드 시트에 필터 or (Key)로 사용할 값을 1열에 작성하여 준다.




# 스프레드 시트






위와같이 스프레드 시트의 A1, B1열에 


필터로 쓰일 값을 생성해 두었다.


필자는 코드에 주석을 제외하고는 한글을 사용하는것을 별로 좋아하지는 않지만.


실제적으로 실무등에서는 한글로 된 키값이 많을 것이라 판단되고.


다행 google-spreadsheet 모듈을 한글을 키값으로 사용하는것에 아무런 문제가 있지는 않았다.


그럼 이제 아래 코드와 같이 작성하여 데이터를 입력해 보자.



# 소스 코드

 

const googleSpreadsheet =require("google-spreadsheet");

const creds = require("./서비스 계정 키.json");

const doc = new googleSpreadsheet("구글 스프레드 시트 ID");


doc.useServiceAccountAuth(creds, function(err) {

let rowData = { 명칭 : "크루즈", 제조사 : "쉐보레" };

doc.addRow(

         1 // 첫번째 시트

rowData // 입력할 데이터

, function(err) { // 콜백 데이터

console.log(err);

}

);

});




필터의 키 명에 대응되는 값을 입력해 주고


실행해 보면 아래와 같이 필터 바로 아래 (Row)에


입력한 값이 들어가는 모습을 확인 할 수 있다.







위처럼 한 (Row)에 데이터를 삽입하는 것을 해보았다.


그렇지만 실제로 사용하게 된다면


반복문을 통해 한번에 많은 데이터를 입력하게 될것이고.


아래 그 내용을 간단히 정리해 두었다.









■ 한번에 여러개의 데이터 입력하기




# 소스 코드

 

const googleSpreadsheet = require("google-spreadsheet");

const creds = require("./서비스 계정 키.json");

const doc = new googleSpreadsheet("구글 스프레드 시트 ID");


doc.useServiceAccountAuth(creds, function(err) {

let carDatas = new Array();

carDatas[0] = { 명칭 : "아반떼", 제조사 : "현대" }

carDatas[1] = { 명칭 : "K3", 제조사 : "기아" }

carDatas[2] = { 명칭 : "SM3", 제조사 : "르노삼성" }

carDatas[3] = { 명칭 : "골프", 제조사 : "폭스바겐" }

carDatas[4] = { 명칭 : "포커스", 제조사 : "포드" }

carDatas[5] = { 명칭 : "프리우스", 제조사 : "토요타" }

carDatas[6] = { 명칭 : "시빅", 제조사 : "혼다" }

for(let carType of carDatas) {


doc.addRow(

               1         // 첫번째 시트

carType // 입력할 데이터

, function(err) { // 콜백 데이터

console.log(err);

}

);

}

});





# 출력 결과




※ 소스 코드 배열의 차종과, 스프레드 시트의 차종 정렬이 다르다.

   이 부분은 어떻게 해야 하는지 확인 후 해당 포스팅 수정 예정이다.






반응형
//