小弟刚学DELPHI请大家多指教,
我把我的东西贴上来`大家看一下``运行总是出错
这是导入的代码,从网上看到得``我修改了下`
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, FileCtrl, comobj ;type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
con1: TADOConnection;
tbl1: TADOTable;
btn1: TButton;
btn2: TButton;
btn3: TButton;
qry1: TADOQuery;
fllst1: TFileListBox;
procedure btn3Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.btn3Click(Sender: TObject);
begin
Application.Terminate;end;procedure TForm1.btn1Click(Sender: TObject);
var
oe:Variant ;
n1:string;
i,j:Integer;
sheetname:Variant;
begin
oe:=CreateOleObject('excel.application');
oe.visible:=True;
oe.workbooks.open(fllst1.FileName);
j:=2;
try
with qry1 do
begin
n1:='insert into tablename(fieldslist) values(:fieldslist)';
close ;
sql.clear;
sql.add(n1);
while oe.worksheets[sheetname].cells[j,1].text<>'' do
begin
for i:=1 to dbgrid1.Columns.Count do
parameters.items[i-1].value:=Oe.worksheets[sheetname].cells[j,i].Text;
execsql;
j:=j+1;
end;
Oe.visible:=False;
showmessage('导入完毕');
end;
except
oe.ivsible:=False;
showmessage('数据库错误或有重复编号,请检查');
end;
end ;
这是运行时出现的问题:
[Warning] Unit1.pas(7): Unit 'FileCtrl' is specific to a platform
[Error] Unit1.pas(76): Declaration expected but end of file found
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'本来想做个导入导出``但现在折腾了很久都没弄好,如果那位有源代码或帮忙看一下我这代码`小弟感激不尽``
我把我的东西贴上来`大家看一下``运行总是出错
这是导入的代码,从网上看到得``我修改了下`
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids, FileCtrl, comobj ;type
TForm1 = class(TForm)
DataSource1: TDataSource;
DBGrid1: TDBGrid;
con1: TADOConnection;
tbl1: TADOTable;
btn1: TButton;
btn2: TButton;
btn3: TButton;
qry1: TADOQuery;
fllst1: TFileListBox;
procedure btn3Click(Sender: TObject);
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.btn3Click(Sender: TObject);
begin
Application.Terminate;end;procedure TForm1.btn1Click(Sender: TObject);
var
oe:Variant ;
n1:string;
i,j:Integer;
sheetname:Variant;
begin
oe:=CreateOleObject('excel.application');
oe.visible:=True;
oe.workbooks.open(fllst1.FileName);
j:=2;
try
with qry1 do
begin
n1:='insert into tablename(fieldslist) values(:fieldslist)';
close ;
sql.clear;
sql.add(n1);
while oe.worksheets[sheetname].cells[j,1].text<>'' do
begin
for i:=1 to dbgrid1.Columns.Count do
parameters.items[i-1].value:=Oe.worksheets[sheetname].cells[j,i].Text;
execsql;
j:=j+1;
end;
Oe.visible:=False;
showmessage('导入完毕');
end;
except
oe.ivsible:=False;
showmessage('数据库错误或有重复编号,请检查');
end;
end ;
这是运行时出现的问题:
[Warning] Unit1.pas(7): Unit 'FileCtrl' is specific to a platform
[Error] Unit1.pas(76): Declaration expected but end of file found
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'本来想做个导入导出``但现在折腾了很久都没弄好,如果那位有源代码或帮忙看一下我这代码`小弟感激不尽``
[Fatal Error] Internal error: BC1993
[Fatal Error] Internal error: BC1993
如果不存在。
delphi-project-options-directories/conditionals-output directory 后面的内容删掉
2.重起一下Delphi
你就把Excel的每个sheet当做一个预定义的二维数组就可以任意的读写了。
Oe.visible:=False;
showmessage('导入完毕');
end;
except
oe.ivsible:=False;
showmessage('数据库错误或有重复编号,请检查');
end;
end ;
很明显的,没有 end.