it-swarm-ko.com

Google 문서에 Google 스프레드 시트 포함

Google 스프레드 시트를 Microsoft Excel 및 Microsoft Word의 Google 문서에 포함시킬 수 있습니까? 스프레드 시트의 차트는 어떻습니까?

82
ale

오늘 (2016-05-20)부터 Google은 Google 스프레드 시트의 차트를 Google 문서에 포함하는 기능을 출시하기 시작했습니다. 현재 내 3 개의 Google 계정 중 2 개가 Insert 메뉴에서 Insert→Chart 항목 아래에 새로운 Insert→Drawing… 하위 메뉴를 사용하여 옵션을 사용할 수 있습니다.

이러한 차트를 삽입하면 원래 스프레드 시트에 연결된 상태로 유지됩니다. 원하는 것이 테이블 형식 데이터 인 경우 데이터를 간단한 테이블로 표시하는 데 사용할 수있는 테이블 차트 유형이 있습니다.

이 단계에는 몇 가지 제한 사항이 있으며 (예 : 차트 크기) 차트를 삽입하려면 스프레드 시트에 차트가 있어야하지만 올바른 방향으로 가고 있습니다.


스프레드 시트 또는 테이블을 삽입하려면 시트에서 문서로 복사하여 붙여 넣기하여 Google 스프레드 시트에서 테이블 추가 를 사용하고 연결된 옵션을 선택하십시오.

문서가 열려있는 동안 소스 스프레드 시트를 수정하면 차트가 not ​​실시간으로 업데이트되지만 문서는 변경 사항을 감지하여 포함 된 스프레드 시트 위에 pdate 단추를 제공합니다. 소스의 최신 변경 사항을 반영합니다.

24
Jean-Rene Bouvier

AFAIK의 경우 스프레드 시트에서 텍스트 문서로만 복사하여 붙여 넣을 수 있습니다. 스프레드 시트는 표로 삽입되었지만 연결되어 있지 않습니다. 스프레드 시트에서 무언가를 변경하면 텍스트 문서에 반영되지 않습니다.

물론, 나는 틀린 것으로 판명되고 싶습니다!

32
jfoucher

다음은 주어진 스프레드 시트 내에서 지정된 범위의 내용이 포함 된 테이블을 삽입 할 수있는 스크립트 기반 솔루션입니다. 데이터를 실시간으로 동기화하는 방법을 찾지 못했습니다. 잠재적으로 많은 양의 데이터가 스프레드 시트로 편집 될 때마다 전송되어야하는 데이터가 많기 때문에 실용적이지 않은 것 같습니다. 대신, 스크립트는 사용자 정의 메뉴 항목 "업데이트 데이터"를 문서에 추가합니다.

스크립트는 문서에 바인딩되어야합니다 (즉, 문서 메뉴에서 도구> 스크립트 편집기를 사용하여 생성). 스프레드 시트 URL과 사용할 시트 및 범위는 스크립트 내에 지정됩니다. 시트에 모든 데이터를 포함 시키려면 .getRange(rangeName).getDataRange()으로 바꾸십시오.

UpdateData 함수가 처음 실행될 때 문서 끝에 테이블을 추가합니다. 이후 실행시 테이블이 제자리에 업데이트됩니다 (즉, 테이블 뒤에 더 많은 텍스트가 추가되면 순서가 유지됨).

붙여 넣은 복사본이 새 개체이므로 테이블을 잘라 붙여 넣으면 업데이트 프로세스가 중단됩니다 (스크립트가 끝에 새 테이블을 추가 함). 대신, 테이블 주위에 텍스트를 잘라 붙여 넣기하십시오.

function onOpen() {
  DocumentApp.getUi()
             .createMenu('Custom')
             .addItem('Update Data', 'updateData')
             .addToUi();
}

function updateData() {
  var ssUrl = ' spreadsheet url here ';
  var sheetName = 'Sheet2';   // name of sheet to use
  var rangeName = 'A1:C3';    // range of values to include 

  var values = SpreadsheetApp.openByUrl(ssUrl)
                             .getSheetByName(sheetName)
                             .getRange(rangeName)
                             .getValues();
  var doc = DocumentApp.getActiveDocument();
  var body = doc.getBody();
  var ranges = doc.getNamedRanges('embeddedSheet-range');
  if (ranges.length == 0) {
    var table = body.appendTable(values);
  }
  else {
    tableRange = ranges[0];
    table = tableRange.getRange().getRangeElements()[0].getElement();
    var ind = body.getChildIndex(table);
    tableRange.remove();
    body.removeChild(table);
    table = body.insertTable(ind, values);
  }
  var rangeBuilder = doc.newRange();
  rangeBuilder.addElement(table);
  doc.addNamedRange('embeddedSheet-range', rangeBuilder.build());
}

기술 노트

  1. 수동과 더불어 매시간마다 데이터를 동기화 할 수도 있습니다. 스크립트 편집기의 리소스 메뉴에서 시간 기반 트리거를 추가하여 updateData 함수를 실행하십시오.

  2. 대신이 스크립트를 소스 스프레드 시트에 바인딩하도록 조정할 수도 있습니다. 이를 위해서는 문서를 여는 방법 (예 : URL)을 변경해야하지만 논리는 동일합니다.

  3. 스크립트의 성가신 부분은 문서에서 기존 테이블의 핸들을 얻는 것입니다. 이를 위해서는 명명 된 범위 내에 배치해야합니다. 또한 기존 테이블의 항목을 엉망으로 만드는 것보다 테이블 요소를 완전히 바꾸는 것이 훨씬 편리합니다. 명명 된 범위는 변경할 수 없으므로 포함 된 테이블로 제거 된 다음 새 테이블과 함께 다시 생성됩니다.

11
user79865

그래 넌 할수있어. 시트의 내용을 복사하여 문서에 붙여 넣습니다. 오른쪽 모서리에 스프레드 시트에 연결할 것인지 묻습니다. 수정 한 경우 스프레드 시트를 편집 한 후 문서에서 업데이트 아이콘을 클릭하여 변경 사항을 문서에 통합 할 수 있습니다.

4
Fish Monitor

대안은 Google 사이트 도구 또는 iframe 컨텐츠 포함을 허용하는 다른 컨텐츠 편집기를 사용하는 것입니다.

Google 사이트 도구 페이지에 Google 스프레드 시트를 포함하려면

  1. 새 사이트를 만들거나 기존 사이트로 이동하십시오.
  2. 새 페이지를 작성하거나 기존 페이지에서 편집을 클릭하십시오.
  3. 삽입> 드라이브> 스프레드 시트를 클릭하십시오.
  4. 스프레드 시트를 선택하십시오
  5. 옵션 설정
  6. 저장을 클릭하십시오
3
Rubén