用XLSReadWrite一个格子一个格子的写啊
解决方案 »
- 串口每隔1秒发来数据,在发来数据后的半秒内执行一个事件,请问怎样捕获这半秒时间?
- 如何用fastreport制作报表定制工具??求救!!万分感激!!
- 简单问题,在线等,解决完问题马上结贴
- 比较delphiX与Open GL!来者有分!
- 请教:用fr做报表。
- 如何确定 USB 移动硬盘是 2.0 的?
- 菜菜菜:我用TFileStream创建的文件怎么是文本的呀?
- 想做一个封装ADO记录集的东东,注册到服务器上供ASP调用,该怎么做呢?
- 几个初学者一起的问题,关于李维的书这几本适合吗?已经凑了钱准备去买
- 提问:zswang(伴水)(伤心中)
- 请问一个数据库操作问题?
- TRegistry中如何编辑二进键值???
然后将 数据送到模板里面就可以了
这个方法,是用excel 输出数据最方便的方法。
var MSExcel:Variant;
i,j:Integer;
begin
SaveDialog1.Filter:='*.XLS|*.XLS';
SaveDialog1.DefaultExt:='XLS';
if SaveDialog1.Execute then
begin
MSExcel:=CreateOLEObject('Excel.Application');
MSExcel.WorkBooks.Add;
MSExcel.Visible:=False;
Table1.Open;
j:=Table1.RecordCount;
Table1.First;
for i:=1 to j do
begin
MSExcel.Cells[i,1].NumberFormat:='@';
MSExcel.Cells[i,1].Value:=Table1.FieldByName('CODE').AsString;
MSExcel.Cells[i,2].Value:=Table1.FieldByName('COLOR').AsString;
Table1.Next;
end;
MSExcel.ActiveWorkBook.SaveAs(SaveDialog1.FileName);
MSExcel.ActiveWorkBook.Saved:=True;
MSExcel.Quit;
end;
end;
可采用ADO格式。
var
RangeE: Excel97.Range;
I, Row: Integer;
Book: TBookStr;
Ea:TExcelApplication;
begin
// create and show
try
Ea:=TExcelApplication.Create(nil);
ea.Connect;
Ea.Visible [0] := True;
if FileExists(MyFileName) then
begin
Ea.Workbooks.Add (myFileName, 0);
end
else
Ea.Workbooks.Add(Null,0);
Except
showmessage('本机没有安装Excel,请安装后再执行!');
Exit;
end;// fill is the first row with field titles
RangeE := Ea.ActiveCell;
RangeE.Value:=title;
CDS.EnableControls;
row:=2;
RangeE := Ea.Range ['A' + IntToStr (Row),'A' + IntToStr (Row)];
for I := 0 to CDS.Fields.Count - 1 - cutcount do
begin
RangeE.Value := CDS.Fields[I].DisplayLabel;
RangeE := RangeE.Next;
end;// add field data in following rows
CDS.DisableControls;
try
Book := CDS.Book;
try
CDS.First;
Row := 3;
while not CDS.EOF do
begin
RangeE := Ea.Range ['A' + IntToStr (Row),'A' + IntToStr (Row)];
for I :=0 to CDS.Fields.Count - 1 - cutcount do
begin
RangeE.Value := CDS.Fields [I].AsString;
RangeE := RangeE.Next;
end;
CDS.Next;
Inc (Row);
end;
finally
CDS.Book := Book;
end;
finally
CDS.EnableControls;
Ea.Free;
end;
//
CDS:Table
CutCount:Integer