Мне нужно экспортировать данные в шаблон Excel, содержащий код VBA и проверку данных в PHP.
Я пробовал использовать библиотеку PHPExcel, но она удаляет код VBA и проверки данных из шаблона.
Я пробовал использовать библиотеку PHPReport, но не нашел подходящего решения.
Шаблон содержит несколько листов, и они взаимозависимы. Например: Рабочий лист 1 содержит данные о сотрудниках, затем рабочий лист 2 содержит зарплату с указанием имени сотрудника.






Я потратил много времени, работая над этой проблемой и проблемой потребления памяти для больших наборов данных. Все библиотеки PHP, которые я нашел, хранят все ячейки в памяти, что неприемлемо для чего-либо, кроме небольшого листа.
В итоге я написал набор утилит Java с использованием POI Apache и упаковал их с помощью Мост PHP / Java, чтобы я мог вызывать их из PHP. Это позволит вам создать новую книгу на основе шаблона, сохранив макросы без изменений. Вы также можете использовать API потоковой передачи POI, чтобы вы могли обрабатывать массивные наборы данных без сбоев вашего сервера.
Если у вас есть Java, я настоятельно рекомендую пойти по этому пути, это действительно единственный способ сделать операцию на головном мозге с файлами Excel с PHP.
Если у вас есть вопросы о том, как это сделать, или вам нужен пример кода, я буду рад помочь.