Проработав с Open XML SDK 2.0 уже почти два года, я могу сказать, что выполнение, казалось бы, тривиальных задач может занять много часов, а иногда и дней, чтобы понять, как это сделать правильно.Например, удаление строки Excel должно быть довольно простым и легким для того, чтобы сделать это правильно?Нет, потому что вам нужен не только код для удаления вашей строки, но также вы должны обновить все индексы строк, обновить все объединенные ссылки на ячейки, обновить ссылки на гиперссылки и т. Д. Наш внутренний метод удаления составляет около 500 строк кода, чтобы просто удалитьи я уверен, что мы не учли все случаи.
Самая большая жалоба, которую я имею, - это отсутствие документации о том, как выполнять наиболее распространенные задачи.Раздел MSDN в Open XML SDK очень ограничен, и всякий раз, когда вам нужно сделать что-то сложное, вы действительно сами по себе.Мне пришлось много читать стандарт Open XML , чтобы выяснить, что означают определенные элементы и как их следует реализовывать, поскольку я мог найти очень мало онлайн.
Другая сложная часть -если вы вставите элемент в место, где он не принадлежит, или поместите недопустимый атрибут в элемент, вы получите поврежденный файл при попытке открыть его.Большую часть времени вы не получите никакой информации о том, что вызвало ошибку, и вам придется взглянуть на стандартную спецификацию Open XML, чтобы увидеть, что вы сделали неправильно.
Если вам нужно быстрое время обработки для преобразования этогоКод автоматизации делопроизводства в Open XML, и то, что вы делаете, на самом деле не является базовым, тогда я бы сказал, пас.Если у вас есть время и терпение, чтобы прочитать XML-структуры Word, Excel и PowerPoint и ознакомиться с их взаимосвязью, тогда я скажу: сделайте это.На мой взгляд, это действительно единственный способ очень хорошо контролировать эти офисные документы, но когда вы начнете, у вас будет отличная кривая обучения.
Да, и просто для забавы, вот сколько кода требуется, чтобы добавить комментарий в ячейку Excel .