|
@@ -585,7 +585,10 @@ begin
|
|
|
Node := extvReport.Items[iIndex];
|
|
|
if Node.HasChildren or (Node.Checked <> csChecked) or (Node.Data = nil) then Continue;
|
|
|
vTemplateNode := TTemplateNode(Node.Data);
|
|
|
- sOutputFileName := sPath + ExtractSimpleFileName(vTemplateNode.FileName) + '.xls';
|
|
|
+ if IsExcel2010 then
|
|
|
+ sOutputFileName := sPath + ExtractSimpleFileName(vTemplateNode.FileName) + '.xlsx'
|
|
|
+ else
|
|
|
+ sOutputFileName := sPath + ExtractSimpleFileName(vTemplateNode.FileName) + '.xls';
|
|
|
if FileExists(vTemplateNode.FileName) then
|
|
|
PrintReport(vTemplateNode, False, True, sOutputFileName, GetTemplateXlsFileName);
|
|
|
end;
|
|
@@ -598,8 +601,16 @@ var
|
|
|
sFileName: string;
|
|
|
begin
|
|
|
sFileName := extvReport.Selected.Text;
|
|
|
- if (PrintStartPage <= PrintEndPage) and SaveFile(sFileName, '.xls') then
|
|
|
- ExportXlsReport(PrintStartPage, PrintEndPage, sFileName, PreviewComXML);
|
|
|
+ if IsExcel2010 then
|
|
|
+ begin
|
|
|
+ if (PrintStartPage <= PrintEndPage) and SaveFile(sFileName, '.xlsx') then
|
|
|
+ ExportXlsReport(PrintStartPage, PrintEndPage, sFileName, PreviewComXML);
|
|
|
+ end
|
|
|
+ else
|
|
|
+ begin
|
|
|
+ if (PrintStartPage <= PrintEndPage) and SaveFile(sFileName, '.xls') then
|
|
|
+ ExportXlsReport(PrintStartPage, PrintEndPage, sFileName, PreviewComXML);
|
|
|
+ end;
|
|
|
end;
|
|
|
|
|
|
procedure TReportsForm.AfterExport;
|
|
@@ -1438,7 +1449,7 @@ procedure TReportsForm.ExportXlsReport(AStartPage, AEndPage: Integer;
|
|
|
// 康博士代码中写批量打印是,用Printer.Canvas,打印当前时,用PreviewBox.Canvas。不懂为什么
|
|
|
//APrintCom.OutputToExcelRangeXMLEx(PreviewBox.Canvas, AStartPage,
|
|
|
//AEndPage, GetTemplateXlsFileName, AFileName, Border, ExcelMode)
|
|
|
- APrintCom.OutputToExcelFileOE(PreviewBox.Canvas, AStartPage, AEndPage, GetTemplateXlsFileName, ExcelMode, Border, nil)
|
|
|
+ APrintCom.OutputToExcelFileOE(PreviewBox.Canvas, AStartPage, AEndPage, AFileName, ExcelMode, Border, nil)
|
|
|
else
|
|
|
APrintCom.OutputToExcelFile(PreviewBox.Canvas, AStartPage,
|
|
|
AEndPage, GetTemplateXlsFileName, AFileName, ExcelMode, Border);
|