delphi中如何将EXCEL中的数据导入到SQL2000中
我从网上查了下:大体有2种
1、直接写SQL语句
2、下面代码
我现在想试试下面代码:
不知道怎么改?请大家帮帮我,我刚学DELPHI不久,现在只知道想法,不知道怎么实现
请说明要哪些控件!!ExcelApplication1?ExcelWorkbook1?ExcelWorksheet1?还有吗?
这个是按钮把?btn2Click
这个是什么?Edt_1
(问题如果说得不明白请指出,我第一时间解释)Procudure ExcelToSqlserver;
var
i,j: integer;
ExcelApplication1:TExcelApplication;
ExcelWorksheet1:TExcelWorksheet;
ExcelWorkbook1:TExcelWorkbook;
filename: string;
begin
btn2Click(Self);
filename:=Edt_1.Text;//文件名
try
ExcelApplication1:=TExcelApplication.Create(Application);
ExcelWorksheet1:=TExcelWorksheet.Create(Application);
ExcelWorkbook1:=TExcelWorkbook.Create(Application);
ExcelApplication1.Connect;
except
Application.Messagebox( 'Excel没有安装! ', 'Hello ', MB_ICONERROR + mb_Ok);
Abort;
end;
Try
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Open(fileName,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0));
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
Except
Exit;
end;
i :=2;//开始导入行数
// j :=100;//默认导入总行数
j := ExcelApplication1.Rows.Count;
try
tblTA.Open; //要导入的表
while i <=j do
begin
if trim(ExcelWorksheet1.cells.item[i,1]) <> ' ' then
begin
tblTA.AppendRecord([
ExcelWorksheet1.Cells.Item[i,1],//第i行第1列.
ExcelWorksheet1.Cells.Item[i,2],//第i行第2列.
ExcelWorksheet1.Cells.Item[i,3],//第i行第3列.
ExcelWorksheet1.Cells.Item[i,4],//第i行第1列.
ExcelWorksheet1.Cells.Item[i,5],//第i行第2列.
ExcelWorksheet1.Cells.Item[i,6],//第i行第3列.
ExcelWorksheet1.Cells.Item[i,7],//第i行第1列.
ExcelWorksheet1.Cells.Item[i,8],//第i行第2列.
ExcelWorksheet1.Cells.Item[i,9],//第i行第3列.
ExcelWorksheet1.Cells.Item[i,10],//第i行第3列.
ExcelWorksheet1.Cells.Item[i,11]//第i行第3列.
]);
end else Break;
Inc(i);
end;
finally
tblTA.close;
tblTA.Open;
showMessage( '数据导入完毕! ');
end;
try
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
ExcelApplication1.Free;
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;
except
showMessage( '关闭出错! ');
end; end;
我从网上查了下:大体有2种
1、直接写SQL语句
2、下面代码
我现在想试试下面代码:
不知道怎么改?请大家帮帮我,我刚学DELPHI不久,现在只知道想法,不知道怎么实现
请说明要哪些控件!!ExcelApplication1?ExcelWorkbook1?ExcelWorksheet1?还有吗?
这个是按钮把?btn2Click
这个是什么?Edt_1
(问题如果说得不明白请指出,我第一时间解释)Procudure ExcelToSqlserver;
var
i,j: integer;
ExcelApplication1:TExcelApplication;
ExcelWorksheet1:TExcelWorksheet;
ExcelWorkbook1:TExcelWorkbook;
filename: string;
begin
btn2Click(Self);
filename:=Edt_1.Text;//文件名
try
ExcelApplication1:=TExcelApplication.Create(Application);
ExcelWorksheet1:=TExcelWorksheet.Create(Application);
ExcelWorkbook1:=TExcelWorkbook.Create(Application);
ExcelApplication1.Connect;
except
Application.Messagebox( 'Excel没有安装! ', 'Hello ', MB_ICONERROR + mb_Ok);
Abort;
end;
Try
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks.Open(fileName,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,EmptyParam,
EmptyParam,EmptyParam,EmptyParam,EmptyParam,0));
ExcelWorkbook1.ConnectTo(ExcelApplication1.Workbooks[1]);
ExcelWorksheet1.ConnectTo(ExcelWorkbook1.Worksheets[1] as _worksheet);
Except
Exit;
end;
i :=2;//开始导入行数
// j :=100;//默认导入总行数
j := ExcelApplication1.Rows.Count;
try
tblTA.Open; //要导入的表
while i <=j do
begin
if trim(ExcelWorksheet1.cells.item[i,1]) <> ' ' then
begin
tblTA.AppendRecord([
ExcelWorksheet1.Cells.Item[i,1],//第i行第1列.
ExcelWorksheet1.Cells.Item[i,2],//第i行第2列.
ExcelWorksheet1.Cells.Item[i,3],//第i行第3列.
ExcelWorksheet1.Cells.Item[i,4],//第i行第1列.
ExcelWorksheet1.Cells.Item[i,5],//第i行第2列.
ExcelWorksheet1.Cells.Item[i,6],//第i行第3列.
ExcelWorksheet1.Cells.Item[i,7],//第i行第1列.
ExcelWorksheet1.Cells.Item[i,8],//第i行第2列.
ExcelWorksheet1.Cells.Item[i,9],//第i行第3列.
ExcelWorksheet1.Cells.Item[i,10],//第i行第3列.
ExcelWorksheet1.Cells.Item[i,11]//第i行第3列.
]);
end else Break;
Inc(i);
end;
finally
tblTA.close;
tblTA.Open;
showMessage( '数据导入完毕! ');
end;
try
ExcelApplication1.Disconnect;
ExcelApplication1.Quit;
ExcelApplication1.Free;
ExcelWorksheet1.Free;
ExcelWorkbook1.Free;
except
showMessage( '关闭出错! ');
end; end;
这句话不知执行了什么操作