实现以Excel形式打印报表问题(100分)

  • 主题发起人 主题发起人 金玉清
  • 开始时间 开始时间

金玉清

Unregistered / Unconfirmed
GUEST, unregistred user!
急切求助:
如何实现将报表以Excel表格形式打印,并且能够导入Excel文件和报表一起打印,报表还要能够导出到Excel文件,需要装什么控件啊,希望那位前辈给一个具体例子的编码,万分感谢!
急用。
谢谢!
 
报表还要能够导出到Excel文件是有函数实现的。以Excel表格形式打印是有控件的,
至于能够导入Excel文件和报表一起打印好象没有。
 
导入Excel文件和报表一起打印?
 
FastReport吧,可以保存成EXCEL,但是不能EXCEL导入生成报表。
 
用XMLREADWRITE控件吧,比较好用而且速度很快,而且还支持常用的图表。自带的DEMO代码如下:
unit Main;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, XLSReadWriteII2, ApplyFormat, CellFormats2, BIFFRecsII2,
XLSFonts2;
type
TfrmMain = class(TForm)
Button1: TButton;
Label1: TLabel;
edFilename: TEdit;
Button2: TButton;
dlgSave: TSaveDialog;
Button3: TButton;
XLS: TXLSReadWriteII2;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
procedure AddFormats;
public
{ Public declarations }
end;

var
frmMain: TfrmMain;
implementation
{$R *.dfm}
procedure TfrmMain.Button2Click(Sender: TObject);
begin
dlgSave.FileName := edFilename.Text;
if dlgSave.Execute then
edFilename.Text := dlgSave.FileName;
end;

procedure TfrmMain.Button3Click(Sender: TObject);
begin
Close;
end;

procedure TfrmMain.Button1Click(Sender: TObject);
begin
AddFormats;
XLS.Filename := edFilename.Text;
XLS.Write;
end;

procedure TfrmMain.AddFormats;
var
Fnt: TFont;
begin
// Format a single cell
XLS.Sheets[0].AsString[0,1] := 'Cell 1';
XLS.Sheets[0].Cell[0,1].FillPatternForeColor := xcYellow;
XLS.Sheets[0].Cell[0,1].FontStyle := [xfsBold,xfsItalic];
// Format a range of cells using the ApplyFormat object
XLS.Sheets[0].ApplyFormat.Box(2,1,8,5,cbsMedium,xcLightOrange,xcRed);
XLS.Sheets[0].ApplyFormat.Color(2,7,8,10,xcPaleSky);
Fnt := TFont.Create;
try
XLS.Sheets[0].AsString[2,12] := 'Hello, world';
XLS.Sheets[0].AsFloat[2,13] := 12345;
Fnt.Name := 'Courier New';
Fnt.Size := 14;
Fnt.Style := [fsBold];
XLS.Sheets[0].ApplyFormat.Font(2,12,8,14,Fnt);
finally
Fnt.Free;
end;
end;

end.
 
有没有办法将数据导出到已经存在的Excel文件中去呢,在导出数据时怎么设置Excel表中的各个列宽呢,俺是刚学编程的菜鸟一个,能否请各位大侠把具体要用到的控件名和主要的代码例子给出来阿。
TO:hyperbrain:我现在用你的方法试一下,非常感谢啊!
谢谢各位大侠!
 
你所提的需求这个控件都能够满足, 上http://www.tomore.com可以下,有一个2.0.0.0是有源码的,有些功能没有,去作者的网站下最新的2.0.2.0版,但是试用版没有源码并且在最后输出的EXCEL文件中加入控件的信息.
如果你用XLSREADWRITE控件的话,欢迎随时一起讨论.
 
TO:hyperbrain:你说得源码我没有找到。
现在还是不知道如何将数据导出到一个已经存在的Excel文件中去。
请高手多多帮忙!
这里先行谢过!
 
给个地址,明天上班发给你!OK
 
TO:hyperbrain:真是谢谢你了
我的邮箱是:wuhan.2001@163.com
万分感谢
 
接受答案了,已散分
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部