Проблема со сводной таблицей

Симптом

«Я попытался открыть сгенерированный файл Excel с помощью кнопки «Открыть» в IE. Excel был создан путем чтения шаблона Excel. Пока я нажимаю кнопку «Открыть», он открывается, и в то же время появляется всплывающее окно. сообщение об ошибке «Не удается открыть исходный файл сводной таблицы…».

Но когда я сохраняю сгенерированный файл excel с помощью кнопки «Сохранить» и открываю его из файла по сохраненному пути, он открывается правильно без каких-либо ошибок. "

Решение

Aspose.Cells устанавливает формат сводных данных и заставляет MS Excel создавать отчет сводной таблицы и другие задачи расчета на основе источника данных, когда рабочая книга открывается в MS Excel. Поэтому следует использоватьSaveType.OpenInBrowser вместо того, чтобы использоватьSaveType.OpenInExcelОдна из многих причин заключается в том, что когда вы используете параметр OpenInExcel при сохранении сгенерированного выходного файла в MS Excel во время выполнения с помощью кнопки «Открыть» в диалоговом окне загрузки, MS Excel не может проанализировать данные рабочей книги для создания отчета сводной таблицы. Это вызвано проблемой имени файла. Это процедура IE, поскольку он добавляет что-то вроде «[1]», чтобы сделать его как «fileName» + «[1]» + «.xls» к исходному имени и, таким образом, ничего не делать. сделать с Aspose.Cells. (т.е. всегда добавляется «[1]», чтобы сделать «fileName» + «[1]» + «.xls», а не как fileName.xls). Короче говоря, если файл содержит сводную таблицу, его нельзя открыть с помощью параметра OpenInExcel SaveType, и это будет применяться в обоих случаях, например, если вы создаете файл с нуля или используете любой файл шаблона для исходных данных для создания отчета сводной таблицы. Таким образом, вы должны использовать опцию OpenInBrowser SaveType, если в файле есть данные сводной таблицы, для создания отчета сводной таблицы.

Вы должны изменить свой код и обновить его до SaveType.OpenInBrowser, если вы используете метод Workbook.Save().

Или отредактируйте свой код, чтобы использовать «встроенный», если вы используете опцию «вложение» в своем коде. то есть