XLS — NativeAPI-компонента для чтения файлов Excel, OpenDocument

Дело было вечером, делать было нечего… вот и написал компоненту для чтения файлов XLS, ODS.

 

Компонента позволяет читать файлы форматов Excel 2.0, 5.0-95, 97-2003 (BIFF2, BIFF5, BIFF8) и OpenDocument SpreadSheet (ODS).

Писалась от нечего делать 🙂

Для чтения используется пакет FPSpreadsheet.

Как база для ВК использован модуль 1CNativeLib от Alexander Solomatin.

Пока что собрана только для Windows x86 и x64, можно собрать и под Linux — просто руки пока не дошли. 

Пример использования — в обработке во вложении.

23 Comments

  1. UncleVader

    Вот 2 недели назад бы нечего было делать… 🙂

    Reply
  2. UncleVader

    При выборе файла присутствует маска *.xlsx, хотя данный формат этой ВК не поддерживается!

    Reply
  3. andrewks
    можно собрать и под Linux — просто руки пока не дошли.

    вот-вот, и у меня никак времени на это нет. коллега, если бы Вы собрали рабочий прототип для линукс 32/64, и выложили бы с исходниками для лазарус — это был бы жирный плюс

    Reply
  4. andrewks

    (2) UncleVader, поддерживается частично (на запись, почему-то, чтение не реализовано). но библиотека развивается, возможно, в ближайшем будущем сделают

    Reply
  5. Magister

    (1) На самом деле, без проблем не обошлось. На нескольких файлах часть ячеек возвращаются пустыми — там использован формат, который компонента не поддерживает. Так что всё в ваших руках )))

    (2) Значит, случайно добавил. Надо будет убрать.

    (3) Соберу со временем. Надо только попробовать кросс-компилятор настроить попробовать, чтобы не перезагружаться.

    Reply
  6. UncleVader

    (5) Чтобы не перезагружаться можно попробовать http://wiki.lazarus.freepascal.org/Custom_Drawn_Interface/Android#Use_the_ready_Virtual_Box_Image_with_FPC_and_Lazarus

    Это образ виртуалки с Linux и Lazarus, я под ним пробовал скомпилировать тестовую библиотеку, но она так и не подключилась к серверу 1С на x64 Ubuntu.

    Может у вас получится…

    Reply
  7. Magister

    (6) Чем так — проще перезагрузиться. У меня на ноуте стоит три разных дистрибутива Linux — так что это не проблема 🙂

    Reply
  8. Magister

    (3) (6) Собрал под Linux 32-bit, но проверить не на чем (ключ серверный стоит на винде).

    Проверьте, у кого есть возможность. Если всё нормально — добавлю в публикацию.

    Ссылка: http://yadi.sk/d/nQ0wnEsU2BxZL

    Reply
  9. UncleVader

    (8) Могу проверить только на 64 linux

    Reply
  10. Magister

    (9) Т.е. и сервер 1С у вас тоже x64?

    Reply
  11. UncleVader

    (10) Да, x64

    Reply
  12. GreenFox

    Попробую отпишусь — нужен инструмент чтения XLS файлов без наличия самого EXCEL — на сервере офисный пакет отсутствует.

    Reply
  13. Magister

    (11) Прошу проверить файл на Linux x64. Если всё будет нормально — добавлю в публикацию.

    Ссылка: http://magister.ipsys.net/files/libxls.zip

    Reply
  14. UncleVader

    Что-то не так

    Reply
  15. UncleVader

    Извините, загрузил в макет библиотеку в архиве…

    Загрузил в макет распакованную so-шку — загрузке сначала висит, потом роняет сервер

    Reply
  16. Magister

    Странно… подумаю ещё.

    Reply
  17. UncleVader

    еслиб какой-то лог в текстовый файл писать на каком этапе что происходит, может оно понятнее стало бы

    Reply
  18. babylon_5

    А в обычном приложении работать будет? Что-то у меня не получается завести…

    Reply
  19. babylon_5

    И почему платформа определяется как Win32? (У меня стоит Win 8 64. Правда база файловая…)

    Reply
  20. andrewks

    (19) babylon_5, клиент под вынь всегда х32

    Reply
  21. andrewks

    (18) babylon_5, главное, чтобы версия была не ниже 8.2, т.к. компонента собрана по технологии NativeAPI

    Reply
  22. babylon_5

    (20) я так и подумал. Потому и написал что база файловая.

    Непонятно почему не работает с обычном приложении. Ну, буду ковырять.

    Reply
  23. aleks33.72

    Добрый день!

    Почему у меня не открывается обработка?

    1с Предприятие 8.2 БП 2.0.49.15

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *