Добавлю свои 5 копеек.
Мы с коллегой столкнулись с похожей проблемой.
Исходная ситуация:- AX2012R2 CU6
- MS Office 2010
- Шаблон отчета, в котором в заголовке вставлено изображение (прямо в файл шаблона). Структура xml в шаблоне корректная, ссылка на картинку и сама картинка запакованы в файл.
Проблема:
Отчет создается с помощью класса XmlExcelReport_Invoice4Paym_RU. При построении отчета используется механизм вставки разрывов страниц. В случае добавления хотя бы одного pageBreak выводится сообщение:
Цитата:
Метод "add" в COM-объекте класса "Workbooks" возвратил код ошибки 0x800A03EC (<неизвестно>), который означает: Add method of Workbooks class failed.
Невозможно создать рабочую книгу Microsoft Office Excel.
Сначала показалось что это проблема с версией MS Office, про которую писал gl00mie в сообщении выше. Попробовали переустановить на 2013-ый - не помогло.
При более детальном изучении оказалось, что если pageBreak не вставляется (т.е. отчет помещается на 1 страницу) - все работает отлично!
Решение:
Если кто-то столкнется - с такой же ошибкой и шаблоном отчета с картинкой - просто удалите её и попробуйте перезапустить ваш отчет
Вывод картинки через openXML в имеющихся обертках OXML в стандарте не реализован (видимо для стандартных отчетов не понадобился).
Если все же необходимо выводить картинку в отчет - я нашел 2 пути:
1. В классе XmlExcelReport_RU в методе run() можно перехватить COM объект Excel и вывести картинку через COM:
Image & Excel или
Быстрый способ вывода данных в Excel с картинками
2. Можно доработать семейство OXML, добавив обработку картинок. Я этим путем не пошел т.к. он показался довольно трудоемким. Но при реализации можно опираться на
статью MSDN insert-images-into-specific-excel-cells-using-openxml