这是一段把数据库数据保存到excel的代码,或许对你有帮助。procedure TOfficeform.Button2Click(Sender: TObject);
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;
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;
解决方案 »
- GLScene中如何给FreeForm的3DS文件添加它自带的贴图?
- 大家快来帮忙亚...在使用TWordDocument时,总是提示“超出范围,不知道如何解决!急!!!!
- [在线等]弱弱的问:delphi里使用贴图算不算GDI编程?
- 如何得到ocx的路径
- 怎么实现鼠标滚动轮实现滚动条拖动??????
- ole双击触发的什么事件
- 各位大侠帮忙:如何使用哪些API获取打开的浏览器的窗口的句柄?(不够再)
- 如何控制启动窗体与主窗体关系?
- Help ME 特急!我发现2k的宋体空格占了2个字节,9x的宋体只有1个字节!
- 求delphi 的大神指点
- 整型变量于字符串变量的转换问题?
- Delphi做数据库可以不用BDE吗?
A的帮助文件,在Office的帮助里面找(要完全安装的Office),或打开VBA使用帮助,或直接在帮助文件里找! 以利用Variant对象创建打开Excel文件,在执行读取单元格的操作(若是规则的表格还好,如果是不规则的表格,操作要麻烦一些)。 使用Delphi或 VB或VBA都比较快!我曾经试过这样将一份同学录列表提取到数据库中。
Table1.FieldByName('CODE').AsString:=MSExcel.Cells[i,1].Value;
Table1.FieldByName('COLOR').AsString:=MSExcel.Cells[i,2].Value;我想问题的关键是怎么取得excel的行数和列数,这个我也想知道。