Skip to content
Home » 구글 스프레드 시트 스크립트 예제 | 2장 스프레드시트에서 데이터 가져오기변수 [Apps Script로 시작하는 프로그래밍 입문] 183 개의 정답

구글 스프레드 시트 스크립트 예제 | 2장 스프레드시트에서 데이터 가져오기변수 [Apps Script로 시작하는 프로그래밍 입문] 183 개의 정답

당신은 주제를 찾고 있습니까 “구글 스프레드 시트 스크립트 예제 – 2장 스프레드시트에서 데이터 가져오기변수 [Apps Script로 시작하는 프로그래밍 입문]“? 다음 카테고리의 웹사이트 kk.taphoamini.com 에서 귀하의 모든 질문에 답변해 드립니다: kk.taphoamini.com/wiki. 바로 아래에서 답을 찾을 수 있습니다. 작성자 KENTA 이(가) 작성한 기사에는 조회수 2,148회 및 좋아요 32개 개의 좋아요가 있습니다.

Table of Contents

구글 스프레드 시트 스크립트 예제 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 2장 스프레드시트에서 데이터 가져오기변수 [Apps Script로 시작하는 프로그래밍 입문] – 구글 스프레드 시트 스크립트 예제 주제에 대한 세부정보를 참조하세요

스프레드시트에 저장된 데이터를 가져오고 변수활용에 대해서 알아봅니다
예제 시트는 아래 링크에서 확인하실 수 있습니다
https://docs.google.com/spreadsheets/d/17hwtoEK1Xpo5O6naq0W7aatqzVtWfsvPkieKDyNrAUE/edit?usp=sharing
#AppsScript #구구컬리지 #프로그래밍입무 #비영리

구글 스프레드 시트 스크립트 예제 주제에 대한 자세한 내용은 여기를 참조하세요.

구글 앱스 스크립트 | 시트를 지정해서 데이터를 활용하기

구글 스프레드시트의 스크립트 편집기를 사용하여, 사용자가 시트를 지정하고, 지정한 시트의 셀 또는 범위에 입력값을 적용하거나, 임의로 지정한 한 시트로부터 입력 …

+ 여기에 표시

Source: www.autooffice.io

Date Published: 5/29/2022

View: 9567

알아야 할 5 가지 Google 스프레드 시트 스크립트 함수

예제 스프레드 시트에서 세 행에 대한 계산을 수행 할 수 있습니다. for (var i = 1; i < data.length; i++) { var result = data[i][0] * 100; ...

+ 자세한 내용은 여기를 클릭하십시오

Source: kr.tipsandtricks.tech

Date Published: 6/4/2021

View: 6441

[javascript]자바스크립트로 구글 스프레드시트 이용하기(예제

자바스크립트로 구글 스프레드 시트에 자료 입력하는 방법. 1. 먼저 스프레드 시트를 만들고 제목이나 메뉴등 기본적으로 준비를 한다.

+ 여기에 표시

Source: korearaogong.tistory.com

Date Published: 1/2/2022

View: 2547

2장 스프레드시트에서 데이터 가져오기변수 [Apps Script로 …

구글 스프레드 시트 스크립트 예제 주제에 대한 자세한 내용은 여기를 참조하세요. · 구글 앱스 스크립트 | 시트를 지정해서 데이터를 활용하기 · Google 스프레드시트 …

+ 여기에 자세히 보기

Source: ppa.1111.com.vn

Date Published: 5/8/2022

View: 4021

6장. 앱스 스크립트로 구글한테 일 시키기 – Notion

엑셀 VBA와 마찬가지로 구글 시트의 자체 기능으로 부족한 부분을 앱스 … 앱스 스크립트를 써보기 위한 앱스 스크립트 예제가 아니라, 이걸 써서 클릭 한 번을 줄일 …

+ 더 읽기

Source: www.notion.so

Date Published: 2/15/2021

View: 6593

스프레드시트에서 값 가져오기와 변수 – 구구컬리지

Apps Script 프로젝트를 생성하기 전에 우선 구글 스프레드시트를 새로 생성해서 데이터를 아래와 같이 작성해주세요! 아래 링크를 클릭해서 복사해서 사용하시면 됩니다!

+ 여기에 보기

Source: 99college.org

Date Published: 6/4/2022

View: 4244

구글 스프레드 시트에서 데이터 입력을 위한 폼 구현 Google …

예제를 대충 수정해서 입맛에 맞게 변경하실 수도 있겠네요. 먼저 구글 앱 스크립트로 폼을 만들려면 다음 3가지가 요소가 필요합니다.

+ 더 읽기

Source: richardshin.tistory.com

Date Published: 3/16/2022

View: 9424

구글 스프레드시트에 데이터(DB) 가져오기 – 새 스크립트(Script …

온라인 구글 스프레드시트는 구글에서 제공하는 무료 웹 기반 Google 문서 편집기(쉽게 엑셀이라고 생각하시면 됩니다.) 오늘 포스팅 하려는 내용을 간략이 설명을 드리면.

+ 더 읽기

Source: dbcart.net

Date Published: 4/11/2022

See also  영어 의성어 모음 | 한국어 의성어 Vs 영어 의성어 비교하기! 이렇게 다르다고?! Korean Sound Words Vs English Sound Words(Very Different) 7550 좋은 평가 이 답변

View: 1076

주제와 관련된 이미지 구글 스프레드 시트 스크립트 예제

주제와 관련된 더 많은 사진을 참조하십시오 2장 스프레드시트에서 데이터 가져오기변수 [Apps Script로 시작하는 프로그래밍 입문]. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

2장 스프레드시트에서 데이터 가져오기변수 [Apps Script로 시작하는 프로그래밍 입문]
2장 스프레드시트에서 데이터 가져오기변수 [Apps Script로 시작하는 프로그래밍 입문]

주제에 대한 기사 평가 구글 스프레드 시트 스크립트 예제

  • Author: KENTA
  • Views: 조회수 2,148회
  • Likes: 좋아요 32개
  • Date Published: 2021. 7. 9.
  • Video Url link: https://www.youtube.com/watch?v=P5bPCErjqBU

알아야 할 5 가지 Google 스프레드 시트 스크립트 함수

Google 스프레드 시트는 강력한 클라우드 기반 스프레드 시트 도구로 Microsoft Excel에서 할 수있는 거의 모든 작업을 수행 할 수 있습니다. 그러나 Google 스프레드 시트의 진정한 장점은 함께 제공되는 Google 스크립팅 기능입니다.

Google Apps 스크립팅은 Google 스프레드 시트에서 뿐만 아니라 Google Docs, Gmail에서도 작동하는 백그라운드 스크립팅 도구입니다. , Google 웹 로그 분석 및 거의 모든 다른 Google 클라우드 서비스. 개별 앱을 자동화하고 각 앱을 서로 통합 할 수 있습니다.

이 기사에서는 Google Apps 스크립팅을 시작하고 Google 스프레드 시트에서 셀 데이터를 읽고 쓰는 기본 스크립트를 만드는 방법과 가장 효과적인 고급 Google 스프레드 시트를 만드는 방법에 대해 설명합니다. 스크립트 기능.

Google Apps 스크립트를 만드는 방법

지금 Google 스프레드 시트에서 첫 번째 Google Apps 스크립트를 만들 수 있습니다.

이 작업을 수행하려면 메뉴에서 도구를 선택한 다음 스크립트 편집기를 선택하십시오.

스크립트 편집기 창을 열고 myfunction ()이라는 함수를 기본값으로 설정합니다강한>. 여기에서 Google 스크립트를 만들고 테스트 할 수 있습니다.

In_content_1 all : [300×250] / dfp : [640×360]->

샷을 제공하려면 한 셀에서 데이터를 읽고 계산하고 다른 셀로 데이터 양을 출력하는 Google 스프레드 시트 스크립트 함수를 만들어보십시오.

셀에서 데이터를 가져 오는 함수는 getRange ()및 getValue ()함수입니다. 행과 열로 셀을 식별 할 수 있습니다. 따라서 행 2와 열 1 (A 열)에 값이있는 경우 스크립트의 첫 번째 부분은 다음과 같습니다.

function myFunction() {

var sheet = SpreadsheetApp.getActiveSheet(); var row = 2; var col = 1; var data = sheet.getRange(row, col).getValue(); }

이 값은 data변수의 셀 데이터에 대한 계산을 수행 한 다음 해당 데이터를 다른 셀에 쓸 수 있습니다. 이 함수의 마지막 부분은 다음과 같습니다.

var results = data * 100;

sheet.getRange(row, col+1).setValue(results); }

기능 작성을 마쳤 으면 디스크 아이콘을 선택하여 저장하십시오.

처음 실행할 때 이와 같은 새로운 Google 스프레드 시트 스크립트 기능 (실행 아이콘 선택)을 사용하면 Google 계정에서 스크립트를 실행할 수있는 권한을 제공해야합니다.

계속하려면 권한을 허용하십시오. 스크립트가 실행되면 스크립트가 계산 결과를 대상 셀에 기록한 것을 볼 수 있습니다.

이제 기본 Google Apps 스크립트 기능을 작성하는 방법을 알고 있으므로 고급 기능을 몇 가지 살펴 보겠습니다.

배열을로드하는 데 getValues ​​사용

배열을 사용하여 스크립팅을 통해 스프레드 시트의 데이터 계산 개념을 새로운 수준으로 높일 수 있습니다. getValues를 사용하여 Google Apps 스크립트에서 변수를로드하면 변수는 시트에서 여러 값을로드 할 수있는 배열이됩니다.

function myFunction() {

var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues();

데이터 변수는 다차원입니다. 시트의 모든 데이터를 보유하는 배열. 데이터 계산을 수행하려면 for루프를 사용합니다. for 루프의 카운터는 각 행을 통과하며 데이터를 가져 오려는 열을 기준으로 열이 일정하게 유지됩니다.

예제 스프레드 시트에서 세 행에 대한 계산을 수행 할 수 있습니다.

for (var i = 1; i < data.length; i++) { var result = data[i][0] * 100; sheet.getRange(i+1, 2).setValue(result); } } 위와 같이이 스크립트를 저장하고 실행하십시오. 스프레드 시트의 모든 결과가 열 2에 채워져있는 것을 볼 수 있습니다. 배열 변수에서 셀과 행을 참조하는 것은 getRange 함수와는 다릅니다. data [i] [0]은 첫 번째 차원이 행이고 두 번째가 열인 배열 차원을 나타냅니다. 둘 다 0에서 시작합니다. getRange (i + 1, 2)는 i = 1 일 때 (행 1이 헤더이므로) 두 번째 행을 나타내며 2는 결과가 저장되는 두 번째 열입니다. appendRow를 사용하여 결과 쓰기 새 스프레드 시트에 데이터를 쓰려는 스프레드 시트가있는 경우 새 열 대신 행? appendRow기능으로 쉽게 수행 할 수 있습니다. 이 기능은 시트의 기존 데이터를 방해하지 않습니다. 기존 시트에 새 행을 추가하기 만하면됩니다. 예를 들어, 1에서 10까지 계산하고 카운터에서 2의 배수로 카운터를 표시하는 함수를 만듭니다열. 이 기능은 다음과 같습니다. function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); for (var i = 1; i<11; i++) { var result = i * 2; sheet.appendRow([i,result]); } } 이 기능을 실행할 때의 결과는 다음과 같습니다. URLFetchApp로 RSS 피드 처리 이전 Google 스프레드 시트 스크립트 기능과 URLFetchApp을 결합하여 모든 웹 사이트에서 RSS 피드를 가져오고 최근에 해당 웹 사이트에 게시 된 모든 기사에 대해 스프레드 시트에 행을 작성할 수 있습니다 이것은 기본적으로 자체 RSS 피드 리더 스프레드 시트를 만드는 DIY 방법입니다! 이 작업을 수행하는 스크립트도 너무 복잡하지 않습니다. function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); var item, date, title, link, desc; var txt = UrlFetchApp.fetch("https://www.topsecretwriters.com/rss").getContentText(); var doc = Xml.parse(txt, false); title = doc.getElement().getElement("channel").getElement("title").getText(); var items = doc.getElement().getElement("channel").getElements("item"); // Parsing single items in the RSS Feed for (var i in items) { item = items[i]; title = item.getElement("title").getText(); link = item.getElement("link").getText(); date = item.getElement("pubDate").getText(); desc = item.getElement("description").getText(); sheet.appendRow([title,link,date,desc]); } } 보시다시피 Xml.parse는 RSS 피드에서 각 항목을 가져 와서 제목, 링크, 날짜 및 설명으로 각 줄을 구분합니다. appendRow기능을 사용하면 이러한 항목을 RSS 피드의 모든 단일 항목에 적합한 열에 넣을 수 있습니다. 시트의 출력 결과는 다음과 같이 : 대신 RSS 피드 URL을 스크립트에 삽입하면 URL이 포함 된 시트의 필드를 만든 다음 모니터링하려는 모든 웹 사이트마다 하나씩 여러 시트를 가질 수 있습니다. 문자열 연결 및 캐리지 리턴 추가 텍스트 조작 기능을 추가하여 RSS 스프레드 시트를 한 단계 더 발전시킨 다음, 이메일 기능을 사용하여 모든 새로운 게시물 요약이 포함 된 이메일을 자신에게 보낼 수 있습니다 사이트의 RSS 피드에 있습니다. 이를 수행하려면 이전 섹션에서 만든 스크립트 아래에 스프레드 시트의 모든 정보를 추출하는 스크립팅을 추가해야합니다. RSS 데이터를 스프레드 시트에 쓰는 데 사용한 것과 동일한 "항목"배열의 모든 정보를 구문 분석하여 제목 줄과 전자 메일 텍스트 본문을 작성하려고합니다. 이 작업을 수행하려면 "items"For 루프 앞에 다음 줄을 추가하여 제목과 메시지를 초기화하십시오. var subject = ‘Latest 10 articles published at mysite.com’ var message = ‘’ 그런 다음 루프에 대한 "items"for 루프 (appendRow 함수 바로 뒤에)에 다음 줄을 추가하십시오. message = message + title + ' ' + link + ' ' + date + ' ' + desc + ' ' + ' '; “+”기호는 네 개의 항목을 모두 연결 한 다음“\ n 각 줄 다음에 캐리지 리턴이 표시됩니다. 각 제목 데이터 블록 끝에 멋진 형식의 이메일 본문에 대해 두 개의 캐리지 리턴이 필요합니다. 모든 행이 처리되면 "body"변수에 전체 이메일 메시지 문자열이 포함됩니다. 이제 이메일을 보낼 준비가되었습니다! Google Apps Script에서 이메일을 보내는 방법 Google 스크립트의 다음 섹션은 이메일을 통해 "제목"과 "본문". Google Script에서이 작업을 수행하는 것은 매우 쉽습니다. var emailAddress = [email protected]; MailApp.sendEmail(emailAddress, subject, message); MailApp은 Google Apps 스크립트 내에서 매우 편리한 수업으로 Google 계정의 이메일 서비스에 액세스하여 보내거나받을 수 있습니다 이메일. 덕분에 sendEmail 기능이있는 한 줄만으로도 이메일 주소, 제목 줄 및 본문으로 이메일을 보내 할 수 있습니다. 이것은 결과 전자 메일 모양입니다. . 추출 기능 결합 웹 사이트의 RSS 피드를 Google 스프레드 시트에 저장하고 URL 링크가 포함 된 상태로 자신에게 보내면 모든 웹 사이트의 최신 콘텐츠를 따르는 것이 매우 편리합니다. 이것은 힘의 한 예일뿐입니다. 작업을 자동화하고 여러 클라우드 서비스를 통합하기 위해 Google Apps 스크립트에서 사용할 수 있습니다. 하마터면 열심히 엑셀할 뻔 했다! 7. 엑셀보다 편리한 구글 시트 팁 6가지 Related posts:

[javascript]자바스크립트로 구글 스프레드시트 이용하기(예제 : 랭킹시스템 만들기)

728×90

반응형

취미로 개발을 하다 보니 서버도 없고 해서 랭킹같은 순위를 어디에 저장해야 될까 고민 하다가 생각해낸것이 구글 스프레드시트에 저장을 한뒤 스프레드시트의 함수로 랭킹을 구현해 보았습니다

자바스크립트로 구글 스프레드 시트에 자료 입력하는 방법

1. 먼저 스프레드 시트를 만들고 제목이나 메뉴등 기본적으로 준비를 한다

2. 메뉴 – 확장 프로그램 – Apps Script

//var SHEET_NAME = “시트1”; var SCRIPT_PROP = PropertiesService.getScriptProperties(); function doGet(e){ return handleResponse(e); } function doPost(e){ return handleResponse(e); } function handleResponse(e) { var lock = LockService.getPublicLock(); lock.waitLock(30000); try { var doc = SpreadsheetApp.getActiveSpreadsheet(); //시트이름으로 선택하고자 할 때 //var sheet = doc.getSheetByName(SHEET_NAME); var sheet = doc.getSheets()[0]; var headRow = e.parameter.header_row || 1; var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0]; var nextRow = sheet.getLastRow()+1; var row = []; for (i in headers){ if (headers[i] == “Timestamp”){ row.push(new Date()); } else { row.push(e.parameter[headers[i]]); } } sheet.getRange(nextRow, 1, 1, row.length).setValues([row]); return ContentService .createTextOutput(JSON.stringify({“result”:”success”, “row”: nextRow})) .setMimeType(ContentService.MimeType.JSON); } catch(e){ return ContentService .createTextOutput(JSON.stringify({“result”:”error”, “error”: e})) .setMimeType(ContentService.MimeType.JSON); } finally { lock.releaseLock(); } } function setup() { var doc = SpreadsheetApp.getActiveSpreadsheet(); SCRIPT_PROP.setProperty(“key”, doc.getId()); }

3. 위 코드 복사 후

4. Code.gs에 붙혀넣기(기존 function은 지워도 됨)

시트를 여러개 갖고 계시다면, 데이터를 넣을 시트가 몇 번째인지 기억하시고 doc.getSheets()[0] 부분의 숫자를 변경하세요. 인덱스는 0부터 시작합니다.

혹은 시트의 이름으로 선택하려면 주석처리된 부분을 제거하시고

var sheet = doc.getSheets()[0]; 부분을 주석처리하세요.

라고합니다 출처는 밑에

5. CTRL + S 저장

6. 오른쪽 상단에 배포 – 새배포

7. 유형 – 웹 앱

8. 인증정보는 나(소유자만 배포가능) 액세스 권한은 모든 사용자 – 배포

9. 기다린뒤 액세스 승인을 눌러줍니다

10. 자신의 아이디로 승인해 줍니다

11. 경고창이 뜹니다 고급 – 제목 (으)로 이동(안전하지 않음)을 클릭합니다

12. 허용해줍니다

13. URL이 뜹니다 밑의 url 부분에 넣으면 됩니다

$.ajax({ type: “GET”, url: “복사해둔 URL”, data: { “컬럼명1”: “넣을 데이터”, “컬럼명2”: “넣을 데이터”, “컬럼명3”: “넣을 데이터” }, success: function(response){ alert(‘입력 완료.’); } });

14. 위 코드를 자바스크립트에 넣습니다

컬럼명에 처음에 작성해둔 메뉴를 넣어주면 됩니다

위 사진의 경우에는 레벨, 이름, 점수, 연습목록이 컬럼명입니다

여기까지의 참고 자료

https://kutar37.tistory.com/entry/%EA%B5%AC%EA%B8%80-%EC%8A%A4%ED%94%84%EB%A0%88%EB%93%9C%EC%8B%9C%ED%8A%B8-API-%ED%99%9C%EC%9A%A9%ED%95%98%EA%B8%B0-INSERT

여기까지 테스트 해보실 분들은 위 링크 제일 하단에

Edit in JSFiddle로 들어가 url을 자신의 url로 바꿔서 테스트 해보시면 됩니다

구글 스프레드 시트 내용 게시하기(보여주기)

다시 본론으로 돌아와서 랭킹 시스템을 사용하려면 이렇게 해서 자료만 받는게 끝이 아니라 이 자료를 사용자에게 보여줘야 됩니다

그럼 시트1은 이용자의 자료를 받는 시트로 남겨두고

15. 시트1의 자료를 가지고 순위를 정렬하는 시트를 새로 만들어 주고 이 시트명은 사용자에게 보이기 때문에 시트명도 바꿔줍니다

16. 엑셀 꾸미기(이 부분은 엑셀 함수 부분이기 때문에 자신에게 맞게 엑셀함수를 사용하면 됩니다)

새로운 Ranking시트에 위와 같은 양식을 만들어 둔뒤

=IFERROR(INDEX(‘시트1’!A:D,MATCH(LARGE(‘시트1′!A:A,A2),’시트1’!A:A,0),1),””)

위 함수(랭킹을 구하는 엑셀 함수)를 붙혀넣기 해주면 됩니다

vlooup을 사용해도 되지만 vlooup은 기준열의 왼쪽 열의 값을 받아올 수 없다는 단점이 있습니다

위 함수설명 시트 1의 A:A(점수 열)에 있는 값들 중 A2에 값인 1이라는 값, 즉 1등을 찾아서 A:D 안의 자료를 받아오는 함수입니다

17. 모든게 준비가 됐다면 메뉴-공유-웹에 게시

18. 삽입 탭 – 보여줄 시트 선택 후 게시 – 확인

결과

728×90

반응형

구글 스프레드 시트 스크립트 예제 | 2장 스프레드시트에서 데이터 가져오기변수 [Apps Script로 시작하는 프로그래밍 입문] 답을 믿으세요

We are using cookies to give you the best experience on our website.

You can find out more about which cookies we are using or switch them off in settings.

구글 스프레드 시트에서 데이터 입력을 위한 폼 구현 Google Apps Script

구글 스프레드시트에서 입력 폼을 구현하는 방법을 제가 만든 주식관리 시트에서 추출하여 정리해 보았습니다.

다른 용도로 활용할 수 있게 최대한 간단히 요약했습니다.

이 예제를 이용하여 구글 시트/독스등에서 입력폼을 완벽하게 구현하실 수 있습니다. 예제를 대충 수정해서 입맛에 맞게 변경하실 수도 있겠네요.

먼저 구글 앱 스크립트로 폼을 만들려면 다음 3가지가 요소가 필요합니다.

1. FORM 생성 함수 : 폼 생성 전 준비 함수

2. HTML 코드와 자바스크립트로 구성된 HTML 파일 (확장자명 html)

3. HTML FORM에서 넘어온 데이터를 처리할 함수

// @코드.gs // 1. 폼 생성 전 준비 함수 function createDividendForm() { var ss = SpreadsheetApp.getActiveSpreadsheet(); // 시트의 영역을 선택하여 값을 배열 형태로 추출한다. var sName = ss.getRange(“종합_종목명”).getValues(); var sCode = ss.getRange(“종합_종목코드”).getValues(); var finName = ss.getRange(“증권사목록”).getValues(); // 아래 두줄과 동일 합니다. //개별 시트별로 영역을 직접 지정하려면 시트를 선택해야 하겠지요. // ss.getSheetByName //var codeSheet = ss.getSheetByName(“코드”); //var sCode = codeSheet .getRange(“A2:A5”).getValues(); // HTML 파일로 부터 폼을 불러 들인다. var template = HtmlService.createTemplateFromFile(“dividend_form.html”); // template 에 매개변수 전달 template.stockNames = sName; template.stockCodes = sCode; template.fin_Names = finName; var htmlOutput = template.evaluate().setWidth(400).setHeight(300); var title =”배당금 입력”; // 다이얼로그로 내 보낸다. SpreadsheetApp.getUi().showModalDialog(htmlOutput, title); }

이 함수를 실행시키면 마지막 부분의 SpreadsheetApp.getUi().showModalDialog(htmlOutput, title);

에 의하여 시트 상에서 폼이 대화상자 형태로 표시됩니다.

HTML 파일이 표시가 되면 여기서부터는 HTML 코드와 자바스크립트를 이용하여 홈페이지 만들 듯이 만들 수가 있기에 자바스크립트 프레임워크는 jQuery를 이용하였습니다.

template를 생성해서 매개변수를 전달하고. evaluate() 함수를 실행해 주고 대화상자에 매개변수로 보내면 완성입니다. 여기서 폼 생성 함수로부터 HTML 파일로 데이터를 넘기는 부분이 핵심입니다.

sName이라는 변수에는 ss.getRange(“종합_종목명”).getValues() 가 들어가면 종합_종목명이라는 영역의 값들을 취해서 배열로 만들어 줍니다. [ ‘A’,’B’,’C’,’D’,’E’] 5개의 배열로 됩니다.

sName이라는 변수를 template에 전달하는 것이고

실제 HTML 파일에서는 사이에서 자바스크립트 형태의 변수로 사용되게 됩니다. 변수이니 [i] 인자를 사용하였습니다. 이렇게 되면 A~ E까지 콤보 박스에 나타나게 되는 것입니다.

stockCodes 와 fin_Names 변수도 똑같습니다. 시트에서 값을 가져와서 배열 변수로 만들어 줍니다.

이제 HTML 페이지에서 데이터를 구글 스프레드시트로 보낼 차례입니다.

태그의 기본은 POST 방식으로 데이터를 서버로 보냅니다.

Insert 버튼이 눌려지게 되면 postData 함수가 실행됩니다. 실제 서버로 전송하는 부분은 google.script.run에서 다음 부분이고 나머지는 보내기 전에 값을 체크하고 전송 후에 실패/성공이 되었을 때 후속 작업을 하기 위한 목적입니다.

.withUserObject(this) 뒤에 있는 함수가 담당합니다.

.insertDividendData(this.form);

성공했을 때 실행되는 showSuccess() 함수에 google.script.host.close()가 있는데 이것은 구글 스프레드시트에서 띄운 대화상자를 창을 닫는 명령어입니다.

다음은 실제 입력하는 함수입니다. google.script.run.withuserObject 뒤에 있는 함수와 이름을 같게 해주면 됩니다. 여기서 (e)를 반드시 해줘야 폼에서 넘어간 값이 전달이 됩니다.

e.Price 가 폼에서 input 박스의 name 이 Price에 넣은 값이 전달 되게 됩니다.

// 실제 입력 루틴 function insertDividendData(e){ var ss = SpreadsheetApp.getActiveSpreadsheet() var divSheet = ss.getSheetByName(“배당금”); // 시트 지정 var d = new Date(e.s_date); // 날짜 var Price = e.Price; // 배당금 var up = parseFloat(Price.replace(/,\s/g,”)); var newLine = []; newLine.push(Utilities.formatDate(d, “GMT+9”, “yyyy-MM-dd”) ); // 날짜 형태 조정 newLine.push(e.StockName); //E newLine.push(e.StockCode); //E newLine.push(up); //E newLine.push(e.sec_name); newLine.push(e.div_year); divSheet.appendRow(newLine); // 시트의 appendRow 함수로 newLine 배열 전달 }

newLine 은 1차원 배열입니다. newLine[0], newline[1]…..

divSheet.appendRow(newLine);에 의하여 입력됩니다.

입력 폼은 상단의 데이터입력 이라는 메뉴에 있습니다

Insert 버튼이 눌러지면 배당금 시트의 마지막 줄에 데이터가 삽입됩니다.

웹 앱(Web App)

function doGet(e){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var param = e.parameter; switch(param.mode) { case “dividend”: // 시트의 영역을 선택하여 값을 배열 형태로 추출한다. var sName = ss.getRange(“종합_종목명”).getValues(); var sCode = ss.getRange(“종합_종목코드”).getValues(); var finName = ss.getRange(“증권사목록”).getValues(); // HTML 파일로 부터 폼을 불러 들인다. var template = HtmlService.createTemplateFromFile(“dividend_form.html”); // template 에 매개변수 전달 template.stockNames = sName; template.stockCodes = sCode; template.fin_Names = finName; var htmlOutput = template.evaluate() .setWidth(400) .setHeight(300) .setTitle(“배당금 입력”); break; default: var scriptUrl = ScriptApp.getService().getUrl(); var htmlOutput = “

“; break; } var htmlOutput = HtmlService.createHtmlOutput(htmlOutput); htmlOutput.addMetaTag(‘viewport’, ‘width=device-width, initial-scale=1’); // 모바일에서 동작 하도록 return htmlOutput; }

웹 앱 주소

배포된 웹 앱은 구글 계정이 있으면 누구나 수정 가능합니다.

script.google.com/macros/s/AKfycbw-g6i8D6lWFdAuiPjvS6sCdLy2WeO6o2S804J-QfPPrmrz-IvKc6de2DIvFAtrLjVmhA/exec

e.parameter.mode 매개변수로 mode=dividend 형태로 전달 됩니다.

http://script.google.com/macros/s/AKfycbw-g6i8D6lWFdAuiPjvS6sCdLy2WeO6o2S804J-QfPPrmrz-IvKc6de2DIvFAtrLjVmhA/exec?mode=dividend

해당 예제가 담긴 구글 시트는 다음과 같습니다.

배당금을 입력할 수 있도록 국내 및 해외 주식 관리에 적용 하였습니다.

국내주식관리

해외주식관리

구글 스프레드시트에 데이터(DB) 가져오기

「구글 스프레드시트에 데이터(DB) 가져오기 – 새 스크립트(Script) 편집기 사용」

안녕하세요. 디비카트입니다.

구글 스프레드시트 스크립트 편집기가 편리하게 변경이 되었습니다.

새로운 스크립트 편집기를 사용하여 구글 스프레드시트에 외부 데이터(DB) 가져오는 방법을 포스팅 해보겠습니다.

온라인 구글 스프레드시트는 구글에서 제공하는 무료 웹 기반 Google 문서 편집기(쉽게 엑셀이라고 생각하시면 됩니다.)

오늘 포스팅 하려는 내용을 간략이 설명을 드리면..

다른 사이트(웹/앱등)에서 데이터(DB)를 수집하고 수집한 데이터를 구글 스프레드시트쪽으로 가져오는 방법에 대해서 포스팅하겠습니다.

■ 구글 스프레드시트 가져오기 설정하기 ■

1. 구글 스프레드시트 접속 : https://docs.google.com/spreadsheets/

(계정이 없는경우 하단에 계정만들기를 통해서 구글 계정을 만드시면 됩니다.)

2. 로그인 후 구글 스프레드시트 메인이동

‘+’ 선택하시면 새로운 스프레드시트로 이동합니다.

3. 스크립트 편집기 이동방법

① 확장 프로그램 > ② Apps Script 를 선택합니다.

4. 새 스크립트 편집기 화면입니다.

[참고] 이전 스크립트 편집기를 사용하시려면 우측에 ‘이전 편집기 사용’ 선택하시면 변경이 됩니다.

5. 스크립트 편집기 스크립트 추가 후 저장합니다.

(스크립트 내용은 5-1 참조)

1) 기본내용 function…은 삭제합니다.

2) ① 스크립트 내용을 입력하고 ② 저장 합니다.

5-1. 스크립트 내용

(아래 내용을 복사해서 위에 ①에 붙여넣기 하시면 됩니다.)

// 1. Enter sheet name where data is to be written below

// 2. Run > setup

//

// 3. Publish > Deploy as web app

// – enter Project Version name and click ‘Save New Version’

// – set security level and enable service (most likely execute as ‘me’ and access ‘anyone, even anonymously)

//

// 4. Copy the ‘Current web app URL’ and post this in your form/script action

//

// 5. Insert column names on your destination sheet matching the parameter names of the data you are passing in (exactly matching case)

var XLS_SHEET_NAME = ‘시트1’;

var XLS_SCRIPT_PROP = PropertiesService.getScriptProperties(); // new property service

// If you don’t want to expose either GET or POST methods you can comment out the appropriate function

function doGet(e){

return handleResponse(e);

}

function doPost(e){

return handleResponse(e);

}

function handleResponse(e) {

// shortly after my original solution Google announced the LockService[1]

// this prevents concurrent access overwritting data

// [1] http://googleappsdeveloper.blogspot.co.uk/2011/10/concurrency-and-google-apps-script.html

// we want a public lock, one that locks for all invocations

var lock = LockService.getPublicLock();

lock.waitLock(30000); // wait 30 seconds before conceding defeat.

try{

// next set where we write the data – you could write to multiple/alternate destinations

var doc = SpreadsheetApp.openById(XLS_SCRIPT_PROP.getProperty(‘key’));

var sheet = doc.getSheetByName(XLS_SHEET_NAME);

// we’ll assume header is in row 1 but you can override with header_row in GET/POST data

var headRow = e.parameter.header_row || 1;

var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues()[0];

var nextRow = sheet.getLastRow()+1; // get next row

var row = [];

// loop through the header columns

for (i in headers){

if (headers[i] == ‘Timestamp’){ // special case if you include a ‘Timestamp’ column

row.push(new Date());

} else { // else use header name to get data

row.push(e.parameter[headers[i]]);

}

}

// more efficient to set values as [][] array than individually

sheet.getRange(nextRow, 1, 1, row.length).setValues([row]);

// return json success results

return ContentService

.createTextOutput(JSON.stringify({‘result’:’success’, ‘row’: nextRow}))

.setMimeType(ContentService.MimeType.JSON);

} catch(e){

// if error return this

return ContentService

.createTextOutput(JSON.stringify({‘result’:’error’, ‘error’: e}))

.setMimeType(ContentService.MimeType.JSON);

} finally { //release lock

lock.releaseLock();

}

}

function setup() {

var doc = SpreadsheetApp.getActiveSpreadsheet();

XLS_SCRIPT_PROP.setProperty(‘key’, doc.getId());

}

6. 스크립트 방식을 선택 후 실행합니다.

① setup를 선택 후 ②실행 합니다.

7. 승인절차 메시지 진행합니다.

(이 프로젝트에서 내 데이터에 액세스하려면 내 승인이 필요합니다.)

7-1. 계정 선택

(승인 할 계정을 선택합니다.)

7-2. 고급 선택

(Google에서 아직 확인하지 않는 앱입니다.)

7-3. ‘테스트 프로젝트 이동’ 선택

(고급 설정 클릭시 아래 내용이 나타납니다.)

7-4. 허용 선택

(‘테스트 프로젝트’가 Google 계정에 액세스 허용한다는 이야기 입니다.)

7-5 승인이 완료되며, 하단에 실행 로그 확인

8. 배포 설정을 진행합니다.

(배포를 통해서 구글 스프레드시트쪽에 전송값을 복사할 수 있습니다.)

8-1. 배포 유형 선택

(배포할 유형을 선택합니다. 현재 웹에 대한 값을 받기 때문에 ‘웹 앱’ 선택합니다.)

① 유형 톱니바퀴를 선택 후 ② ‘웹 앱’ 선택합니다.

8-2. 배포 구성 선택

① 해당 구글 스프레드시트 사용할 배포명(구분하기 위한 설명) 입력합니다.

② 다음 사용자 인증 정보로 실행 ‘나(*****)’ 선택합니다.

③ 액세스 권한이 있는 사용자 ‘모든 사용자’ 선택합니다.

8-3.배포가 업데이트되며, ‘웹 앱 URL’이 생성

① 웹 앱 URL을 복사합니다. (복사된 URL를 바로 사용하지 않는경우 메모장에 저장해 두세요.)

② 배포 설정을 완료합니다.

9. 구글 스프레드시트 설정은 모두 끝났습니다.

[참고]웹 앱 URL를 통해서 외부 사이트와 데이터(DB)를 주고 받습니다.

해당부분을 디비카트에 적용을 해보도록 하겠습니다.

■ 디비카트 데이터(DB)를 구글 스프레드시트로 가져오기■

1. 디비카트 회원가입 : https://dbcart.net/member.html

2. 디비카트 디비전송(NOTI) 페이지 이동합니다.

① 디비내역 > ② 랜딩기본정보 > ③ 디비전송(NOTI) 선택합니다.

3. 디비전송(NOTI) 설정을 합니다.

① 사용유무 : 디비전송(NOTI) 사용 체크

② 수신주소 : 구글 스프레드시트 ‘웹 앱 URL’ 입력 (해당 포스팅 내용 : 8-3 참조)

③ 전달 파라메터 :

★ 등록방법 예시 ★

ex) 아래처럼 4개의 전달값을 외부사이트에서 잔달 받고 싶다면..

ⅰ구글 스프레드시트에 title,date,data1,data2 4개의 값을 이미지처럼 등록합니다.(알파벳 좌우 여백 꼭 확인 – 여백이 들어가면 데이터오류가 납니다.)

* title=랜딩타이틀

* date=날짜

* data1=이름

* data2=연락처

ⅱ 전달 파라미터에 해당 내용 추가

[전달 파라미터 완성 전] &title=랜딩타이틀&date=날짜&data1=이름&data2=연락처

[전달 파라미터 완성 후] &title={#TITLE#}&date={#DATE#}&data1={#ITEM1#}&data2={#ITEM2#}

이렇게 전달 파라미터를 만들어서 추가하시면 됩니다. 처음하실때는 힘드실 수 있습니다. 혹시 연결이 잘 안되시면 언제든지 디비카트에 문의주세요.

④ 내용을 확인 후 저장

4. 디비카트와 구글 스프레드시트가 연결되어 있습니다.

■ 디비카트와 구글 스프레드시트 연결 테스트■

1. 디비카트 랜딩페이지 테스트 디비를 입력합니다.

(해당 이미지는 디비카트 샘플 랜딩입니다.)

2. 구글 스프레드시트에 아래 이미지처럼 해당 값들이 들어가야 정상적으로 연동이 된겁니다.

* title => 대출상담

* date => 2019.12.26

* data1 => 홍길동

* data2 => 010-1234-1234

키워드에 대한 정보 구글 스프레드 시트 스크립트 예제

다음은 Bing에서 구글 스프레드 시트 스크립트 예제 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 2장 스프레드시트에서 데이터 가져오기변수 [Apps Script로 시작하는 프로그래밍 입문]

  • 동영상
  • 공유
  • 카메라폰
  • 동영상폰
  • 무료
  • 올리기

2장 #스프레드시트에서 #데이터 #가져오기변수 #[Apps #Script로 #시작하는 #프로그래밍 #입문]


YouTube에서 구글 스프레드 시트 스크립트 예제 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 2장 스프레드시트에서 데이터 가져오기변수 [Apps Script로 시작하는 프로그래밍 입문] | 구글 스프레드 시트 스크립트 예제, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

Leave a Reply

Your email address will not be published. Required fields are marked *