Я пытаюсь экспортировать в Excel некоторые данные, используя TFlexCelReport TMS в Delphi 10.2, и получаю сообщение об ошибке, которое я не могу понять, как исправить. В более ранней версии Delphi (2007) и TMS все работало нормально. Данные извлекаются из базы данных, выполняется некоторое форматирование и создается файл XML. Затем, используя этот файл и файл шаблона xsl, я пытаюсь произвести вывод в Excel, но получаю сообщение об ошибке, в котором говорится, что «именованный диапазон MAIN в шаблоне Excel относится к DataTable« MAIN », который не определено. Убедитесь, что вы добавили набор данных с помощью метода FlexCelReport.AddTable. ' Я пытался добавить его, но это не помогает.
Не уверен, смогу ли я прикрепить файл XML и шаблон, если какой-либо из них уместен.
Попытка добавления таблицы MAIN, но это не помогает. Это на Windows 10.
procedure TdmExport.RunReport(const ExportFileName: String);
var
Report: TFlexCelReport;
TemplateStream: TResourceStream;
OutputStream: TFileStream;
begin
Report := TFlexCelReport.Create(true);
try
Report.GetInclude := GetIncludes;
Report.AddTable('cdsExport', cdsExport);
TemplateStream := TResourceStream.Create(hinstance, 'CATATemplatesOnTheExe', RT_RCDATA);
try
OutputStream := TFileStream.Create(ExportFileName, fmCreate);
try
Report.Run(TemplateStream, OutputStream); // when executing this I get the error
finally
OutputStream.Free;
end;
finally
TemplateStream.Free;
end;
finally
Report.Free;
end;
end;
Должен получить файл Excel, отформатированный в соответствии с шаблоном, но я получил ошибку, о которой упоминал выше.
procedure TdmExport.RunReport(const ExportFileName: String);
var
Report: TFlexCelReport;
TemplateStream: TResourceStream;
OutputStream: TFileStream;
begin
Report := TFlexCelReport.Create(true);
try
Report.GetInclude := GetIncludes;
Report.AddTable('cdsExport', cdsExport);
TemplateStream := TResourceStream.Create(hinstance, 'CATATemplatesOnTheExe', RT_RCDATA);
try
OutputStream := TFileStream.Create(ExportFileName, fmCreate);
try
Report.Run(TemplateStream, OutputStream); // when executing this I get the error
finally
OutputStream.Free;
end;
finally
TemplateStream.Free;
end;
finally
Report.Free;
end;
end;
Ожидаемый результат - файл Excel, созданный с использованием cdsExport.xml и файла шаблона xsl. Вместо этого я получаю ошибку, о которой упоминал выше. Не уверен, если и как я могу прикрепить файлы xml и xsl, если это необходимо.