我用以下代码实现table中的数据导入到电子表格中,可是太慢.
还有谁能帮我写段电子表格导入到oracle中的代码,万分感谢!
uses ComObj;
{$R *.dfm}procedure TForm1.Button1Click(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;
with DataSource1.Dataset do
begin
first;
for i:=0 to fieldcount-1 do
begin
Msexcel.cells[1,i+1].value:=fields[i].DisplayLabel ;
end;
j:=2;
while not eof do
begin
for i:=0 to fieldcount-1 do
begin
Msexcel.cells[j,i+1].numberformat:='@';
Msexcel.cells[j,i+1].value:=fields[i].AsString ;
end;
inc(j);
next;
end;
end;
MSExcel.ActiveWorkBook.SaveAs(SaveDialog1.FileName);
MSExcel.ActiveWorkBook.Saved:=True;
MSExcel.Quit;
end;end;
还有谁能帮我写段电子表格导入到oracle中的代码,万分感谢!
uses ComObj;
{$R *.dfm}procedure TForm1.Button1Click(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;
with DataSource1.Dataset do
begin
first;
for i:=0 to fieldcount-1 do
begin
Msexcel.cells[1,i+1].value:=fields[i].DisplayLabel ;
end;
j:=2;
while not eof do
begin
for i:=0 to fieldcount-1 do
begin
Msexcel.cells[j,i+1].numberformat:='@';
Msexcel.cells[j,i+1].value:=fields[i].AsString ;
end;
inc(j);
next;
end;
end;
MSExcel.ActiveWorkBook.SaveAs(SaveDialog1.FileName);
MSExcel.ActiveWorkBook.Saved:=True;
MSExcel.Quit;
end;end;
解决方案 »
- 请问向Oracle数据库插入记录时,如何捕捉主键重复的异常
- StringGrid中可以把特定的单元格合并吗?
- dxDBTreeView中,增加记录时如何自定义ID的值?
- ★★★软件产品(Delphi解释器)市场调查 (请求版主勿删)★★★
- 请问:在TABCONTROL中,我将TabPosition的值设成tpLeft,但怎样将TABS的字符也设成竖排的?
- help~~!
- 我想把一个大文本压缩后传至后台UNIX的服务器上,传完后通知后台服务器解压,并处理该文本,应该怎样做?
- 操作字符串的小问题,我不知用什么函数了。
- 请问谁会windows信息的有关编程?
- 关于数据库中的自增长字段
- 如何让TRichEdit中每一行字的字体颜色或者大小不同?
- ListView,TreeView问题
用ADO JET4.0 与EXCEL 建立连接(把EXCEL当成一个数据库)
然后可以直接写SQL语句导入ORACLE!
速度非常快。