Как я могу прочитать файл Excel с JavaScript (без ActiveXObject)

Мой друг попросил меня сделать простое приложение для генерации диаграмм (гистограммы, кривых) из файла Excel. Я решил использовать JavaScript в качестве языка, так как уже знаю мощный файл chart.js. Однако, прежде чем использовать chart.js, я должен собрать данные из файла Excel. Так как же прочитать файл Excel через JavaScript?

После некоторых исследований мне удалось сделать это с помощью Internet Explorer с (используя ActiveX), но мне нужно, чтобы он работал в разных браузерах.

 Slifer19 мая 2013 г., 18:31
проблема, которую онИспользовать Excel только для набора данных и обновить браузер, если честно, если я не смогу решить эту проблему с помощью Chrome или FF I 'я научу его, как использовать WAMP или XAMPP, а php сделает все остальное с помощью PHP-ExcelReader и отправки JSON на клиентскую часть javascript, которая готова к рисованию диаграмм.
 xxbbcc19 мая 2013 г., 02:54
Делать это в Javascript граничит с невозможным. Файлы Excel представляют собой очень сложные файлы, и получение данных из них для отображения за пределами Excel было бы очень сложным. Если Excel присутствует на клиентском компьютере, вы можете просто загрузить файл Excel и открыть его в Excel, а затем отобразить диаграммы в Excel.
 NickSlash19 мая 2013 г., 12:56
Что не так с графиками в Excel? Если бы они специально не просили веб-диаграмму (если у них нет веб-сервера, возможно, нет?), Использование диаграмм в Excel было бы намного проще.
 elclanrs19 мая 2013 г., 02:44
Я думаю это'Вам будет легче объяснить ему, как настроить сервер, чем делать это в JavaScript честно. Просто скажи ему, чтобы скачать XAMPP, не могна самом деле это не так просто ... Или, может быть, вы можете просто экспортировать в CSV.

Ответы на вопрос(3)

XLS & XLSX быть разобранным в чистом JavaScript. Я тестировал с Chrome (хотя и на Windows), и он работал нормально.

что без использования ActiveX вы не можете прочитать файл Excel .. Я не говорю, что вы не можете прочитать файл Excel без ActiveX, может быть, есть способ, но я не знаю, как это так, если вы хотите читать с использованием Activex, то Вот код, который вы можете использовать для чтения файла Excel

<input type="button" id="btnSubmit" onclick="readdata(1, 2)" value="Submit">
<script>
var xVal = 1;
var yVal = 2

    function readdata(x,y) {
        x = xVal;
        y = yVal;
        try {
            var excel = new ActiveXObject("Excel.Application");
            excel.Visible = false;
            var excel_file = excel.Workbooks.Open("D:\\Test.xls");// alert(excel_file.worksheets.count);
            var excel_sheet = excel_file.Worksheets("Sheet1");

            for(i=0;i<5;i++)
            {
               var data = excel_sheet.Cells(i,2).Value;
                drawWithexcelValue(data);
            }


        }
        catch (ex) {
            alert(ex);
        }

</script>

он будет работать только в IE 9 и выше, и вы должны активировать функциональность ActiveX из настроек.

вместо чтения файла Excel с JavaScript вы можете напрямую использовать JavaScript в Excel с помощью надстройки Funfun Excel. По сути, Funfun - это инструмент, который позволяет вам использовать JavaScript в Excel, чтобы вы могли использовать библиотеки, такие как Chart.js, для построения диаграммы из данных в электронной таблице.

В основном, что вам нужно сделать, это

1). Вставьте надстройку Funfun из магазина надстроек Office

2). Создайте новый Funfun или загрузите образец из онлайн-редактора Funfun.

3). Напишите код JavaScrip, как в любом другом редакторе JavaScript. На этом этапе, чтобы напрямую использовать данные из электронной таблицы, вам нужно написать несколько операций ввода-вывода JSON, чтобы сделать ссылку на ячейку Excel. Место, в котором находится это значениеЗаводское короткие Но это будет всего несколько строк. Например, пустьПредположим, у нас есть некоторые данные, как показано ниже в электронной таблице. Среднее количество часов в ячейке A1.

Average hours    Jan    Feb   Mar    Apr
Baby Jones       93.5   81    94.5   95.5
Joanne Jones     91.5   90    88.5   85.5

В этом случае значение ввода / вывода JSON будет:

{
    "months": "=C6:G6",
    "manager1": "=C7:G7",
    "manager2": "=C8:G8"
}

Вы можете проверить Funfunдокументация для большего объяснения.

4). Запустите код для построения графика

Вот примерная диаграмма, которую я сделал с использованием JavaScript (Chart.js) и данных Excel в онлайн-редакторе Funfun. Вы можете проверить это по ссылке ниже. Вы также можете легко загрузить его в Excel, как описано в Шаге 2.

https://www.funfun.io/1/edit/5a365e7c74efa7334ff272a6

Раскрытие: яЯ разработчик из Funfun.

Ваш ответ на вопрос