Вопрос

Я пытаюсь написать небольшой веб-инструмент, который берет файл Excel, анализирует его содержимое, а затем сравнивает данные с другим набором данных.Можно ли это легко сделать с помощью JavaScript?Есть ли библиотека JavaScript, которая делает это?

Это было полезно?

Решение

Как бы вы загрузили файл в JavaScript?

Кроме того, Excel является проприетарным форматом и достаточно сложным, чтобы серверные библиотеки имели многолетний опыт разработки (например, Apache POI ) пока еще не удалось на 100% правильно перепроектировать эти форматы Microsoft.

Поэтому я думаю, что ответ таков, что вы не можете.

Обновление: в чистом JavaScript.

Обновление 2: теперь можно загружать файлы в JavaScript: https://developer.mozilla.org/en-US/docs/DOM/FileReader

Другие советы

За последние четыре года произошло много достижений.HTML5 File API был принят основными поставщиками браузеров, и улучшения производительности фактически делают возможным анализ файлов Excel (как xls, так и xlsx) в браузере.

Мои записи в этом разделе:

Оба являются парсерами на чистом JS.

Чтобы сделать все в js, вам придется использовать ActiveX и, возможно, офисные веб-компоненты. Просто предложение, но вы, вероятно, не хотите идти по этому пути; это будет неэффективно и только IE / Win. Вам будет лучше с серверным решением.

Вам нужно будет использовать ActiveX (см. раздел W3C Schools по использованию AJAX) и зарегистрировать файл на хост-компьютерах Dataconnectors (только на компьютере, на котором размещен файл). В отличие от упомянутого ранее, этот метод не зависит от платформы Microsoft (для клиента в любом случае), и вам не нужно устанавливать компоненты Office.

Это можно сделать для большинства файлов данных, зарегистрированных в Windows, включая MDB, и позволяет вам иметь столько контроля, сколько вы хотите, так как вы можете назначать разные учетные записи Windows для разных целей.

Как я уже говорил, все это на стороне сервера и никак не влияет на клиента, кроме, возможно, получения учетных данных, действий и всего такого.

Этот метод использует JavaScript, SQL (нет, даже не MSSQL, только стандарт SQL) и требует только, чтобы на хост-компьютере работала ЛЮБАЯ платформа Microsoft NT.

Соединители данных Windows обеспечивают универсальный интерфейс для различных компонентов данных, так же как и DirectX для видеокарт и других периферийных устройств. Вы также можете использовать его для связи MDB (Microsoft Access) с сервером MySQL и подачи данных таким образом, что, как я считаю, даже проще, чем использование электронных таблиц XLS ... тем более, что вы можете импортировать XLS в MDB.

Вам действительно нужен файл Excel? Почему бы не использовать Excel для экспорта данных в CSV или XML и загрузки этого?

Формат файла Excel очень специфичен для реализации Excel. Если вам просто нужны данные, используйте формат файла, который просто содержит данные.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top