Я рассматриваю возможность замены (очень) большого размера кода автоматизации Office на то, что работает с форматом Office XML напрямую. Я только начинаю, но уже беспокоюсь, что это слишком большая задача.Работа с Office «открытый» XML - насколько это сложно?
Я буду иметь дело с Word, Excel и PowerPoint. Пока я смотрел только Word и Excel. Похоже, что документы Word должны быть достаточно легко манипулировать, но книги Excel выглядят как кошмар. Например ...
В Word, похоже, вы можете удалить абзац, просто удалив соответствующий тег «w: p». Тем не менее, предоставленный фрагмент кода для удаления строки в Excel занимает около 150 строк кода (!).
Причина, по которой код Excel настолько велик, что удаление строки означает обновление индексов строк всех последующих строк, исправление таблицы «общие строки» и т. Д. Согласно комментарию вверху, фрагмент кода даже не является полным, поскольку он не будет иметь дело с книгой, в которой есть таблицы (я могу жить с этим).
Что я не понимаю, является ли это единственным ограничением, которое имеет образец кода. Например, возникла бы проблема, если в книге была сводная таблица? Или диаграмму, которая ссылается на данные с одного листа? Или некоторые именованные диапазоны? Вам также не придется обновлять формулы для любых ячеек (и т. Д.), Которые ссылались на строку, индекс строки которой изменился?
[Это не говоря уже о «известкова цепи», которая (к счастью), я думаю, вы можете просто удалить, так как это только chache, который может быть перестроен.]
И вот мой вопрос, шерстистый хотя это является. Насколько тяжело вам приходится работать, сделать что-то так же просто, как правильно удалить строку? Это непреодолимая задача?
Также, если есть другие проблемы, похожие на Excel или Word или PowerPoint, я бы хотел услышать о них сейчас, прежде чем тратить слишком много времени на тупик. Благодарю.
Спасибо. Я нашел некоторые библиотеки для работы с Excel и для решения некоторых проблем, о которых я упомянул в своем вопросе (и вы повторили в своем ответе) - см. Мой ответ. –
Г-н @amurra, мы сейчас в 2014 году, Open XML v2.5 (который выпущен в конце 2012 года) очень многообещающий, когда я читал об этом, моя команда настаивает на том, чтобы использовать только библиотеки, которые поддерживаются Microsoft, что вы предлагаете? –
Я цитирую веб-сайт Microsoft [link] (http://msdn.microsoft.com/en-us/library/bb448854.aspx), который в последний раз обновляется ** 25 июля 2014 года **: « Open XML SDK 2.5 упрощает задачу управления пакетами Open XML и базовыми элементами схемы Open XML в пакете. Open XML SDK 2.5 инкапсулирует многие общие задачи, которые разработчики выполняют на пакетах Open XML, чтобы вы могли выполнять сложные операции только с несколькими строками кода ». –