Диаграммы Google из броска листов - все серии на заданной оси должны иметь одинаковую ошибку типа данных при выборе определенного диапазона - PullRequest
0 голосов
/ 26 февраля 2019

Выбор листов и диапазонов

Когда я пытаюсь запустить приведенный ниже код с диапазоном листов "A: B", он работает, а при выборе "E: F" выдается ошибка.Пожалуйста, обратитесь к изображению для образца данных, и электронная таблица сделана доступной для проверки данных.

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Excel Pull Test</title>
    <script type="text/javascript" src="https://www.google.com/jsapi"> 
  </script>
    <script type="text/javascript">
  // google.charts.load('current', {'packages':['corechart']});

  google.load('visualization', '1.0', {'packages':['corechart']});

  google.setOnLoadCallback(drawSheetName);

   // Load the Visualization API and the corechart package.


  // Set a callback to run when the Google Visualization API is loaded.
  //  google.charts.setOnLoadCallback(drawSheetName);

function drawSheetName() {
      var queryString = encodeURIComponent('SELECT A:B10');

      var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1Di7YkPars5zJs512RhM1wLEhfxUQfavgs6Z2GCIppV4/edit#gid=0&headers=1&tq='+queryString);

      query.send(handleSampleDataQueryResponse);
    }

    function handleSampleDataQueryResponse(response) {
      if (response.isError()) {
        alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
        return;
      }

      var data = response.getDataTable();
      var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
      chart.draw(data, { height: 400 });
    }
  </script>
</head>

<body>
  <div id="chart_div"></div>
</body>
</html>

1 Ответ

0 голосов
/ 26 февраля 2019

в URL для листа,
изменить -> edit# - на -> gviz/tq?

как в ...

var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1Di7YkPars5zJs512RhM1wLEhfxUQfavgs6Z2GCIppV4/gviz/tq?gid=0&headers=1&tq='+queryString);

этопозволит вам выбрать определенные столбцы ...

см. следующий рабочий фрагмент, который выбирает только столбец A ...

google.charts.load('current', {
  packages:['table']
}).then(drawSheetName);

function drawSheetName() {
  var queryString = encodeURIComponent('SELECT A');

  var query = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1Di7YkPars5zJs512RhM1wLEhfxUQfavgs6Z2GCIppV4/gviz/tq?gid=0&headers=1&tq='+queryString);

  query.send(handleSampleDataQueryResponse);
}

function handleSampleDataQueryResponse(response) {
  if (response.isError()) {
    alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
    return;
  }

  var data = response.getDataTable();
  var chart = new google.visualization.Table(document.getElementById('chart_div'));
  chart.draw(data, { height: 400 });
}
<script src="https://www.gstatic.com/charts/loader.js"></script>
<div id="chart_div"></div>

ТАКЖЕ, вы используете старую версию диаграмм Google.
jsapi больше не должен использоваться, см. обновите код загрузчика библиотеки ,
, это только изменит оператор load.

от ...

<script src="https://www.google.com/jsapi">

google.load('visualization', '1.0', {packages: ['corechart']});
google.setOnLoadCallback(drawSheetName);

до ...

<script src="https://www.gstatic.com/charts/loader.js"></script>

google.charts.load('current', {packages:['corechart']});
google.charts.setOnLoadCallback(drawSheetName);
...