Google визуализация экспорта DataView в Excel - PullRequest
0 голосов
/ 10 мая 2018

Мне нужен совет по наилучшей практике для предоставления пользователю кнопки, с помощью которой можно экспортировать DataView за диаграммой / таблицей в Excel.

Я изучил функциональность Toolbar , но обнаружил, что это не работает, потому что DataView "заполнен вручную", а не URL-адресом, требуемым API. (Пожалуйста, поправьте меня, если я ошибаюсь в моем понимании.)

Я предпочитаю следовать / использовать методы, которые распространены в этой области.

Предложения

1 Ответ

0 голосов
/ 23 октября 2018

Вот как я решил это для всех, кому интересно.

HTML:

<a id="exportCSV" href="">Excel</a>

JavaScript - слушатель событий визуализации Google

document.getElementById("exportCSV").addEventListener("click", function () {
    var csvData = table.getDataTable(); //google visualization DataTable to download
    export_CSV("exportCSV", csvData);
});

Javascript - исходный материал функции https://stackoverflow.com/a/42956427/7763687

function export_CSV(elementID, data) {

    var csvColumns;
    var csvContent;
    var downloadLink;

    // build column headings
    csvColumns = '';
    for (var i = 0; i < data.getNumberOfColumns(); i++) {
        csvColumns += data.getColumnLabel(i);
        if (i < data.getNumberOfColumns() - 1) {
            csvColumns += ',';
        }
    }
    csvColumns += '\n';

    // get data rows
    csvContent = csvColumns + google.visualization.dataTableToCsv(data);

    //New Download Link - works in chrome and mozilla
    downloadLink = document.getElementById(elementID);
    downloadLink.href = 'data:text/csv;charset=utf-8,' + encodeURI(csvContent);
    downloadLink.download = 'data.csv';
    downloadLink.target = '_blank';
}

Это работало нормально для моего приложения. Ура! * * 1013

...