Charts.Chart를 Google Sheet에 삽입하는 방법 (스크립트 앱)

루도빅 바그너

Charts.ChartGoogle 스프레드 시트에 를 삽입하는 방법을 찾고 있습니다 (하지만 사용자 양식, Google 문서 등과 같은 다른 지원에도 삽입 할 수 있기를 원합니다.)

function generateChart(data) {
  
  var chartBuilder = Charts.newBarChart();
    // Miscellaneous such as titles, dimensions and data
    // ..
    ;
  
  var chart = chartBuilder.build();
  
  return chart;
}

또한 스프레드 시트 범위의 차트 값을 직접 사용하고 싶지는 않지만 (일부 데이터 조작이있을 것입니다 ..), from datawhere is a struct of array of array.

data = {
  field1: [..],
  field2: ..
}

따라서 기본적으로 Sheet에 대한 종속성을 생성하는 것과 같은 것을 피하고 싶습니다.

var sheet = SpreadsheetApp.getActiveSheet();
var chartBuilder = sheet.newChart()
  // ..
  ;

을 쓰면 sheet.insertChart(generateChart(data))다음과 같은 오류가 발생합니다. 나는 같은 종류의을 다루지 않기 때문에 의미 Chart가 있지만 작업이 있습니까?

예외 : 매개 변수 (Charts.Chart)가 SpreadsheetApp.Sheet.insertChart의 메서드 서명과 일치하지 않습니다.

blobGoogle Sheet Chart 형식과 호환되도록 변환하면 안되는지 궁금 합니다.하지만이를 달성하는 더 간단한 방법이 있다고 확신합니다.

통찰력에 감사드립니다!

호세 바스케스

EmbeddedChart는 클래스 차트의 일부가 아닙니다.

Charts에 대한 문서에 따르면 creates a basic data table, populates an area chart with the data, and adds it into a web page as an image. 이미지 URL과 Blob도 가져올 수 있습니다.

해결 방법

스프레드 시트 사용

Charts에서 제공하는 URL을 사용하는 insertImage 함수를 사용합니다.

function myFunction() {
  var data = Charts.newDataTable()
    .addColumn(Charts.ColumnType.STRING, "Year")
    .addColumn(Charts.ColumnType.NUMBER, "Sales")
    .addColumn(Charts.ColumnType.NUMBER, "Expenses")
    .addRow(["2004", 1000, 400])
    .addRow(["2005", 1170, 460])
    .addRow(["2006", 660, 1120])
    .addRow(["2007", 1030, 540])
    .addRow(["2008", 800, 600])
    .addRow(["2009", 943, 678])
    .addRow(["2010", 1020, 550])
    .addRow(["2011", 910, 700])
    .addRow(["2012", 1230, 840])
    .build();

  var chart = Charts.newColumnChart()
    .setTitle('Sales & Expenses')
    .setXAxisTitle('Year')
    .setYAxisTitle('Amount (USD)')
    .setDimensions(600, 500)
    .setDataTable(data)
    .build();

  var htmlOutput = HtmlService.createHtmlOutput().setTitle('My Chart');
  var imageData = Utilities.base64Encode(chart.getAs('image/png').getBytes());
  var imageUrl = "data:image/png;base64," + encodeURI(imageData);

  // Insert the image in the A1
  SpreadsheetApp.getActiveSheet().insertImage(imageUrl, 1, 1);
}

문서를 사용하여

insertInlineImage를 사용합니다 .

function myFunction() {
  var data = Charts.newDataTable()
    .addColumn(Charts.ColumnType.STRING, "Year")
    .addColumn(Charts.ColumnType.NUMBER, "Sales")
    .addColumn(Charts.ColumnType.NUMBER, "Expenses")
    .addRow(["2004", 1000, 400])
    .addRow(["2005", 1170, 460])
    .addRow(["2006", 660, 1120])
    .addRow(["2007", 1030, 540])
    .addRow(["2008", 800, 600])
    .addRow(["2009", 943, 678])
    .addRow(["2010", 1020, 550])
    .addRow(["2011", 910, 700])
    .addRow(["2012", 1230, 840])
    .build();

  var chart = Charts.newColumnChart()
    .setTitle('Sales & Expenses')
    .setXAxisTitle('Year')
    .setYAxisTitle('Amount (USD)')
    .setDimensions(600, 500)
    .setDataTable(data)
    .build();

  var image = chart.getAs('image/png')
  
  // Insert an image chart
  var doc = DocumentApp.getActiveDocument();

  var cursor = doc.getCursor();
  if (cursor) {
    cursor.insertInlineImage(image);
  } else {
    doc.getBody().insertImage(0, image);
  }
}

참고

Google Apps Script> 차트

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Google 앱 스크립트 HTML 개발에서 탭 키를 사용하는 방법

분류에서Dev

Google 스프레드 시트-iOS 앱에서 스크립트를 실행하는 방법은 무엇입니까?

분류에서Dev

for를 사용하여 Google 앱 스크립트에서 범위를 합산하는 방법은 무엇입니까?

분류에서Dev

Google 앱 스크립트에서 웹 앱으로 메시지 상자를 만드는 방법

분류에서Dev

Google 스크립트 : setValue에 범위를 입력하는 방법

분류에서Dev

Google API 자바 스크립트 클라이언트 라이브러리를 Chrome 앱에로드하는 방법

분류에서Dev

앱 스크립트의 2D 배열에 Google 애널리틱스 데이터를 추가하는 방법

분류에서Dev

Python 스크립트를 React Native 앱에 연결하는 방법

분류에서Dev

앱 스크립트에서 googleapis를 사용하는 방법

분류에서Dev

for 루프에서 setValues () 및 copyto ()를 사용하는 Google 앱 스크립트의 런타임을 줄이는 방법

분류에서Dev

Google 앱 스크립트의 파일 또는 폴더에서 부모를 제거하는 방법

분류에서Dev

앱 스크립트를 사용하여 Google 캘린더에서 참석자 목록을 숨기는 방법

분류에서Dev

Google 앱 스크립트 / 자바 스크립트를 사용하여 2 차원 배열에 열을 추가하는 방법

분류에서Dev

페이지를 새로 고침하는 방법, Google 앱 스크립트 웹

분류에서Dev

Google 앱 스크립트 Byte []에 배열 (숫자)을로드하는 방법

분류에서Dev

Google 앱 스크립트를 사용하여 다른 시트에서 값 번호를 선택하는 방법은 무엇입니까?

분류에서Dev

반응 앱에 조립식 자바 스크립트를 추가하는 방법

분류에서Dev

Google 앱 스크립트로 하위 폴더에 액세스하는 방법은 무엇입니까?

분류에서Dev

Google DataStudio에서 사용할 앱 스크립트 고급 서비스의 배열 필드를 지정하는 방법은 무엇입니까?

분류에서Dev

SpookyJS에 스크립트를 삽입하는 방법은 무엇입니까?

분류에서Dev

스크립트 태그 내에 Analytics 이벤트를 삽입하는 방법

분류에서Dev

스크립트를 사용하여 Google 문서에 텍스트를 삽입하고 가운데 맞추는 방법

분류에서Dev

플라스크 앱에 피갈 차트를 삽입하는 방법은 무엇입니까?

분류에서Dev

시트에 데이터를 삽입하는 Google 시트 스크립트

분류에서Dev

SSR Next.js 앱에 dom-manipulating 스크립트를 포함하는 방법

분류에서Dev

Cherrypy 앱에서 Ajax로 Python 스크립트를 호출하는 방법

분류에서Dev

PS1 변수에 bash 스크립트를 삽입하는 방법

분류에서Dev

HTML에 자바 스크립트 코드를 삽입하는 방법

분류에서Dev

Google Sheet Query에 UPPER 함수를 삽입하는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    Google 앱 스크립트 HTML 개발에서 탭 키를 사용하는 방법

  2. 2

    Google 스프레드 시트-iOS 앱에서 스크립트를 실행하는 방법은 무엇입니까?

  3. 3

    for를 사용하여 Google 앱 스크립트에서 범위를 합산하는 방법은 무엇입니까?

  4. 4

    Google 앱 스크립트에서 웹 앱으로 메시지 상자를 만드는 방법

  5. 5

    Google 스크립트 : setValue에 범위를 입력하는 방법

  6. 6

    Google API 자바 스크립트 클라이언트 라이브러리를 Chrome 앱에로드하는 방법

  7. 7

    앱 스크립트의 2D 배열에 Google 애널리틱스 데이터를 추가하는 방법

  8. 8

    Python 스크립트를 React Native 앱에 연결하는 방법

  9. 9

    앱 스크립트에서 googleapis를 사용하는 방법

  10. 10

    for 루프에서 setValues () 및 copyto ()를 사용하는 Google 앱 스크립트의 런타임을 줄이는 방법

  11. 11

    Google 앱 스크립트의 파일 또는 폴더에서 부모를 제거하는 방법

  12. 12

    앱 스크립트를 사용하여 Google 캘린더에서 참석자 목록을 숨기는 방법

  13. 13

    Google 앱 스크립트 / 자바 스크립트를 사용하여 2 차원 배열에 열을 추가하는 방법

  14. 14

    페이지를 새로 고침하는 방법, Google 앱 스크립트 웹

  15. 15

    Google 앱 스크립트 Byte []에 배열 (숫자)을로드하는 방법

  16. 16

    Google 앱 스크립트를 사용하여 다른 시트에서 값 번호를 선택하는 방법은 무엇입니까?

  17. 17

    반응 앱에 조립식 자바 스크립트를 추가하는 방법

  18. 18

    Google 앱 스크립트로 하위 폴더에 액세스하는 방법은 무엇입니까?

  19. 19

    Google DataStudio에서 사용할 앱 스크립트 고급 서비스의 배열 필드를 지정하는 방법은 무엇입니까?

  20. 20

    SpookyJS에 스크립트를 삽입하는 방법은 무엇입니까?

  21. 21

    스크립트 태그 내에 Analytics 이벤트를 삽입하는 방법

  22. 22

    스크립트를 사용하여 Google 문서에 텍스트를 삽입하고 가운데 맞추는 방법

  23. 23

    플라스크 앱에 피갈 차트를 삽입하는 방법은 무엇입니까?

  24. 24

    시트에 데이터를 삽입하는 Google 시트 스크립트

  25. 25

    SSR Next.js 앱에 dom-manipulating 스크립트를 포함하는 방법

  26. 26

    Cherrypy 앱에서 Ajax로 Python 스크립트를 호출하는 방법

  27. 27

    PS1 변수에 bash 스크립트를 삽입하는 방법

  28. 28

    HTML에 자바 스크립트 코드를 삽입하는 방법

  29. 29

    Google Sheet Query에 UPPER 함수를 삽입하는 방법은 무엇입니까?

뜨겁다태그

보관