[Node.js] Google Spread Sheet 수정 및 삭제하기[Node.js] Google Spread Sheet 수정 및 삭제하기
Posted at 2019. 6. 11. 19:27 | Posted in Node.js/Google Spread Sheet※ 해당 포스팅 google-spreadsheet 2.0.7 버전을 기준으로 작성되었습니다.
google-spreadsheet 3 버전 이후버전부터는 실행에 앞서 에러가 발생합니다.
추후 수정 예정이오니 해당 포스팅을 참고하시는 분은 이점을 꼭 기억해 주시기 바랍니다.
( google-spreadsheet 2.0.7 버전의 경우 2020-05-15일 기준으로 사용에 문제는 없습니다. )
■ 구글 스프레드 시트의 데이터 수정하기
그동안의 데이터에서 내용을 읽어오거나, 입력하는것을 해보았다면
이제 마무리 단계로 수정을 진행해 보려고 한다.
아래와 같이 스프레드 시트를 만들고 그 데이터를 변경해 보자.
# 스프레드 시트
위 스프레드 시트에서는 D2, D4의 영역에 DASONI 라고 적힌 부분이 있다.
이 부분을 한글 DASONI로 변경하려 한다.
# 소스 코드
|
const googleSpreadsheet = require("google-spreadsheet"); const creds = require("./서비스 계정 키.json"); const doc = new googleSpreadsheet("구글 스프레드 시트 ID"); doc.useServiceAccountAuth(creds, function(err) {
doc.getCells( 1 , { "max-row" : 6 // Cell의 최대 열(row)의 갯수( 필수 ) , "max-col" : 5 // Cell의 최대 행(column)의 갯수( 필수 ) , "return-empty" : true } , function(err, cells) {
// 해당 셀(Cell)을 지정한뒤, 변경사항을 수정하고 저장한다. // 셀(Cell)을 수정하면 바로 저장을 해주어야 한다. cells[8].value = "다소니"; // 해당 셀(Cell)의 값을 변경한다. cells[8].save(); // 해당 셀(Cell)의 변경사항을 저장한다.
cells[18].value = "다소니"; // 해당 셀(Cell)의 값을 변경한다. cells[18].save(); // 해당 셀(Cell)의 변경사항을 저장한다. } ); }); |
수정할 clees[8], clees[18]은 전체 셀(Cell)에서 몇번째 셀인지를 나타낸다.
꼭 값을 넣고 save( )를 해주어야 한다.
# 출력 결과
위와같이 영문명 DASONI에서 한글명 다소니로 변경된 것을 확인 할 수 있다.
■ 데이터 한번에 수정하기
이번에는 수정할 영역을 찾아서 검색하는 것을 만들려고 한다.
# 스프레드 시트
# 소스 코드
|
const googleSpreadsheet = require("google-spreadsheet"); const creds = require("./서비스 계정 키.json"); const doc = new googleSpreadsheet("구글 스프레드 시트 ID"); doc.useServiceAccountAuth(creds, function(err) { doc.getCells( 1 , { "max-row" : 8 , "max-col" : 4 , "return-empty" : true } , function(err, cells) {
let black = new Array("김재경", "고우리", "오승아", "조현영");
for(var num = 0; cells.length > num; num++) { if(black.indexOf(cells[num].value) >= 0) {
var unit = num + 3; // 해당 셀에서 3칸 옆의 셀을 선택
cells[unit].value = "★"; cells[unit].save(); } } } ); }); |
# 출력 결과
■ 구글 스프레드 시트의 데이터 삭제하기
# 스프레드 시
# 소스 코
|
const googleSpreadsheet = require("google-spreadsheet"); const creds = require("./서비스 계정 키.json"); const doc = new googleSpreadsheet("구글 스프레드 시트 ID"); doc.useServiceAccountAuth(creds, function(err) { doc.getCells( 1 , { "min-row" : 2 // min-row를 2로 지정하여 필터 키값부분은 제외한 셀값을 가져온다. , "max-row" : 11 , "max-col" : 1 , "return-empty" : true } , function(err, cells) {
let computer = new Array("APPLE", "LG", "HUAWEI", "HEWLETT PACKARD");
for(var num = 0; cells.length > num; num++) {
if(computer.indexOf(cells[num].value) >= 0) {
// console.log(cells[num].value);
cells[num].del(); }
} } ); }); |
# 출력 결과
※ 참고 - getRow( )를 이용하여 수정 및 삭제를 하려 한경우
필자는 아래 코드처럼 getCell이 아닌 getRow를 이용한 방법이 되지 않을까 싶어 테스트 해보았지만
결과는 에러만 날뿐이었다.
아무래도 getRow를 이용한 방법은 되지 않는것 같으니 참고 바란다.
|
const googleSpreadsheet = require("google-spreadsheet"); const creds = require("./서비스 계정 키.json"); const doc = new googleSpreadsheet("구글 스프레드 시트 ID"); doc.useServiceAccountAuth(creds, function(err) {
doc.getRows( 1 , { "offset" : 1 , "limit" : 7 } , function(err, rows) {
// console.log(rows);
let black = new Array("김재경", "고우리", "오승아", "조현영");
for(var num = 0; rows.length > num; num++) {
if(black.indexOf(rows[num].이름) >= 0) {
console.log(rows[num].이름); rows[num].블랙 = "★"; rows[num].블랙.save(); } } } ); }); |
'Node.js > Google Spread Sheet' 카테고리의 다른 글
[Node.js] googleapis 사용한 Googel Spread Sheet 연동 (0) | 2020.08.26 |
---|---|
[Node.js] Google Spread Sheet에 데이터 입력하기 (0) | 2019.06.11 |
[Node.js] Google Spread Sheet의 데이터 가져오기 (0) | 2019.06.10 |
[Node.js] Google Spread Sheet 연동하기 (2) | 2019.06.10 |