Нашел способ сохранять лист Эксель через OpenXML таким образом, чтобы удалить из каждой ячейки информацию о схеме. Форматирование ячеек при этом пропало, но для этого отчета не повлияло на его внешний вид, только границы ячеек не прорисовались для динамически добавленных строк.
1) В метод XMLExcelDocument_RU::newFromFile() в третий параметр _templateMode вместо значения true передавать значение false.
X++:
document = XMLExcelDocument_RU::newFromFile(TemplateProvider_RU::getFor(this).get(this.templateName()),
newFileName,
false);
2) В методе XmlExcelReport_RU.execute() убрать следующую строку кода:
X++:
//document.insertRowsByBookmark(_bookmark, (getHeight ? height : 0));
3) В заголовок класса XmlExcelReport_RU добавить объявление переменной numOfRows:
4) В методе XmlExcelReport_RU.insertValueToSection()
X++:
//Заменить строку
//row = conPeek(rangeInfo, #posFromRow);
//На строку
row = conPeek(rangeInfo, #posFromRow) + numOfRows;
5) В конце метода XmlExcelReport_RU.execute() добавить строку кода:
Я на самом деле всё это сделал не внутри классов XmlExcelReport_RU и XMLExcelDocument_RU, а создал новый класс - копию от класса, производного от XmlExcelReport_RU. И все эти изменяемые методы скопировал и изменил в этом новом классе.
Позже сообщу, насколько удалось ускорить открытие получившегося файла в Экселе.