Чтение данных Excel с помощью JQuery - PullRequest
16 голосов
/ 31 марта 2011

Я хотел бы знать, как читать данные из файла MS Excel 2003 с несколькими листами, используя только jquery.Я прочитал несколько решений для PHP / JQuery, ActiveX и т. Д., Но я хотел бы сделать это с JQuery ONLY .Любая идея о том, как это может работать?

Я нашел http://plugins.jquery.com/project/csv2table, и это делает работу почти идеально, за исключением того факта, что мне приходится разбивать каждый лист в файл CSV.Я хотел бы отказаться от этого шага и прочитать его прямо из файла Excel.Заранее благодарю за помощь!

Кстати - я работаю в FireFox 4 и не нуждаюсь в кросс-браузерной поддержке.

Ответы [ 5 ]

8 голосов
/ 31 марта 2011

Веб-компоненты Office предоставляют API для работы с документами через javascript (или vb).Они плохо документированы, но для приложений типа интрасети они могут выполнить свою работу.Я использовал их для функциональности сводной таблицы в IE6 и не знаю, будет ли она работать с Firefox.

http://en.wikipedia.org/wiki/Office_Web_Components

http://www.microsoft.com/downloads/en/details.aspx?FamilyID=beb5d477-2100-4586-a13c-50e56f101720&DisplayLang=en

4 голосов
/ 25 октября 2012

На самом деле это возможно без OWC и таких экзотических дополнений, но потребуется ручная работа.Еще одна вещь - это выполнимо только на локальной машине - не ожидайте, что ваш лист будет работать как веб-сервер.Другая возможность - настроить его на общем сетевом ресурсе, но я не уверен, как все это будет работать в песочнице.

РЕДАКТИРОВАТЬ: Я знаю, что вопрос был оExcel 2003 формат.Тем не менее, по-прежнему существуют запросы Google о той же функциональности, и сегодня люди используют версии MS Office 2010/2013.Поэтому я считаю, что ответ может быть полезен для читателя.

Итак, вот он:

  1. Используя zip.js , вы можете открытьсжатые файлыЭто означает, что вы можете открывать файлы MS Office, начиная с Office 2007 (.docx, .xlsx и т. Д.).Старые офисные файлы имеют собственный формат, и вы не можете прочитать их как сжатые файлы .
  2. После открытия файла становится доступна иерархическая структура папок с различными файлами в нем.Сами данные находятся в /xl/worksheets/[worksheet name].xml и /xl/sharedStrings.xml, что означает, что вам нужно выкопать их с помощью синтаксического анализатора XML и коррелировать впоследствии.
  3. К счастью, XMLпарсер доступен в jQuery: $.parseXML('...')

Веселись;)

3 голосов
/ 08 июня 2013

Я понимаю, что этот вопрос старый, но у меня есть базовый парсер, который поддерживает большую часть того, что вы просите: http://oss.sheetjs.com/js-xls/

0 голосов
/ 25 октября 2012

Конвертируйте Excel в CSV-файл, чтобы прочитать его из Jquery.использовать плагин Jquery CSV2Table

<div id="view1"></div>
<script type="text/javascript">
$(function(){
    $('#view1').csv2table('Path/Anil.csv');
});
</script>
0 голосов
/ 20 октября 2012

Есть несколько инструментов (библиотек) для nodeJS, которые вы можете найти на сайте npm. Одна из них называется excel, которая читает файлы xlsx, а одна называется office для большинства файлов ms office. Теперь, так как это все-таки Javascript, вы должны иметь возможность скачать и проверить исходный код, чтобы найти способ интегрировать его на стороне клиента. Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...