这样的报表怎么作?(20分)

X

xcx227

Unregistered / Unconfirmed
GUEST, unregistred user!
我们的方案是:用excel作出多个报表模板,输出报表时,选择某一报表模板,将数据
导出到制定的报表模板中。怎么实现?请各位大侠指点。另外,teechart图形怎么导出到
exce报表中?
 
use xlreport
 
能具体说说么?
 
高手都那去了?!
 
不仿用F1BOOK试一试,f1book做电子报表很不错的
 
uses Excel2000;

procedure TFZJM.WriteExcel(AdsData: TADOQUERY;
sName, Title: string);
var
ExcelApplication1: TExcelApplication;
ExcelWorksheet1: TExcelWorksheet;
ExcelWorkbook1: TExcelWorkbook;
i, j: integer;
filename: string;
begin
filename := concat( sName,'.xls');
try
ExcelApplication1 := TExcelApplication.Create(Application);
ExcelWorksheet1 := TExcelWorksheet.Create(Application);
ExcelWorkbook1 := TExcelWorkbook.Create(Application);
ExcelApplication1.Connect;
except
MessageDlg('Excel 没有安装!',mtInformation,[MBOK],0);
// Application.Messagebox('Excel 没有安装!', '提示', MB_ICONERROR + mb_Ok);
Abort;
end;
try
ExcelApplication1.Workbooks.Add(EmptyParam, 0);
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
AdsData.First;
for j := 0 to AdsData.Fields.Count - 1do
begin
ExcelWorksheet1.Cells.item[1, j + 1] := AdsData.Fields[j].DisplayLabel;
ExcelWorksheet1.Cells.item[1, j + 1].font.size := '10';
end;
for i := 2 to AdsData.RecordCount + 1do
begin
for j := 0 to AdsData.Fields.Count - 1do
begin
ExcelWorksheet1.Cells.item[i, j + 1] :=
AdsData.Fields[j].Asstring;
ExcelWorksheet1.Cells.item[i, j + 1].font.size := '10';
end;
AdsData.Next;
end;
ExcelWorksheet1.Columns.AutoFit;
//ExcelWorksheet1.Cells.item[1, 2] := Title;
//ExcelWorksheet1.Cells.Item[1, 2].font.size := '14';
ExcelWorksheet1.SaveAs(filename);
MessageDlg('数据成功导出'+#13+#13+ filename,mtInformation,[MBOK],0);
//Application.Messagebox(pchar('数据成功导出' + filename), '提示',mb_Ok);
finally
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
ExcelApplication1.Free;
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;
end;
end;
 
to badboy_chh:好像是直接往excel中写,设计excel模板了么?
 
以上的程序是直接往EXCEL中写的,如果使用模板的话,你要把模板中的数据(对应EXCEL中的位置)
先保存到数据库中,然后再调出来,再进行修改
 
认真接收!
 

Similar threads

顶部