Добавление макроса скрипта в файл Excel извне в Linux - PullRequest
0 голосов
/ 06 июля 2018

Мое требование: я получил Excel (пользователь загружает его на наш сервер), а затем моя программа должна автоматически добавить код макроса (возможно, определенный в текстовом файле) в файл Excel и затем отправить его обратно в Пользователь. Я нашел похожий вопрос, но решение работает только в Windows, но так как наш сервер основан на Linux, я не нашел способа сделать это.

Ссылка на похожий вопрос: Использование Python для внедрения макросов в электронные таблицы

1 Ответ

0 голосов
/ 06 июля 2018

Если вы отправляете файл в формате xlsm, вам необходимы следующие возможности:

  1. Открыть файл в виде zip-файла
  2. Найдите путь детали .bin из файлов rels - см. Соглашения Microsoft Open Packaging
  3. Найдите и откройте поток .bin проекта VBA
  4. анализирует поток .bin как составной двоичный формат файла file
  5. Анализ двоичных потоков, которые описывают и перечисляют содержимое модуля файла, как описано в Структура формата файла Office VBA
  6. Добавьте текст вашего модуля в виде нового потока и обновите файлы с шага 5 новым содержанием.

Это не маленькое начинание. Работа уже выполнена в Python, и многие библиотеки для работы с zip-файлами и файлами составного двоичного формата уже есть в .NET для Windows. В противном случае, насколько я знаю, нет никаких других предварительно собранных инструментов, кроме инструментов из aspose

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