(OpenXML) Добавление страниц данных в пакет xml без фреймворка - PullRequest
1 голос
/ 15 декабря 2009

В последнее время я занимаюсь объединением нескольких таблиц OpenXML через PHPExcel , который показал мне, что у этого фреймворка есть определенные проблемы, которые делают его практически непригодным за то, что я хочу сделать ( мой связанный вопрос SO ).

Короче говоря: трудно гарантировать, что все функции форматирования Excel 2007 будут сохранить объединение файлов, выполненное с этой конкретной платформой.

Anways, теперь я думаю о более общем подходе. Я хочу открыть шаблон XLSX который содержит различные форматы и добавить несколько простых буквенно-цифровых таблиц данных «в конце» книги.

Разумно возможно сделать следующее:

  • Распаковать шаблон XLSX
  • анализ файлов XML
  • добавить листы
  • сохранить XML-файлы
  • разархивируйте файлы, чтобы получить полноценный XLSX

Любые намеки или опыт будут высоко оценены.

заранее спасибо

K

1 Ответ

1 голос
/ 17 декабря 2009

Я не слишком много работал с .xlsx, но я изменил файлы .docx, вручную добавив и отредактировав XML.

Самая большая проблема с добавлением новых частей в документ - это необходимость обновления файлов .rels. Лучший способ выяснить, что необходимо обновить, - это создать новый документ .xlsx в Excel, добавить лист, сохранить файл, а затем разархивировать его, чтобы увидеть, что изменилось. Вы также можете использовать инструмент DocumentReflector, который поставляется с OpenXML SDK, если вы хотите просмотреть внутреннюю часть файла, не распаковывая его.

Я нашел справочное руководство OpenXML очень полезным при ручном редактировании файлов, потому что оно говорит вам, какие элементы вы должны сохранить и какие элементы необязательны для создания действительного документа. С ним легче работать, когда вы можете удалить некоторые посторонние элементы, которые Excel добавляет автоматически.

...