2,499
社区成员
发帖
与我相关
我的任务
分享
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids;
type
TForm2 = class(TForm)
dbgrd1: TDBGrid;
con1: TADOConnection;
qry1: TADOQuery;
qry2: TADOQuery;
ds1: TDataSource;
btn1: TButton;
dlgOpen1: TOpenDialog;
procedure btn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure TForm2.btn1Click(Sender: TObject);
var s:string;
ADOConn:TADOConnection;
aDataSet:TADODataSet;
begin
if dlgOpen1.Execute then
begin
ADOConn:=TADOConnection.Create(self);
ADOConn.LoginPrompt:=false;
ADOConn.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Data Source='
+dlgOpen1.FileName
+';Extended Properties=Excel 8.0;Persist Security Info=False';
aDataSet:=TADODataSet.Create(self);
aDataSet.Connection:=ADOConn;
ADOConn.OpenSchema(siTables,EmptyParam,EmptyParam,aDataSet);
aDataSet.Last;
s:=aDataSet.Fields.Fields[2].AsString;//获取第一工作表表名
aDataSet.Close;
aDataSet.Free;
ADOConn.Close;
ADOConn.Free;
qry1.Connection:=con1;
qry1.SQL.Clear;
qry1.SQL.Append('insert stock select * from OPENROWSET(');//将这个‘qqq’字改为你的数据库中的表名
qry1.SQL.Append(quotedstr('MICROSOFT.JET.OLEDB.4.0'));
qry1.SQL.Append(','+quotedstr('Excel 5.0;HDR=YES;Excel 8.0;DATABASE='+dlgOpen1.FileName)+',['+s+'])');
qry1.ExecSQL;
qry2.Active:=True;
showmessage('ok');
end;
end;
end.
create table stock
(
st_id varchar(10),
st_dcdate datetime,
st_gc varchar(10),
st_kcd int,
st_zt varchar(10),
st_lx varchar(10),
st_sx varchar(14),
st_gys varchar(20),
st_sku varchar(12),
st_spmc varchar(80),
st_pch varchar(16),
st_tkdate datetime,
st_kw varchar(10),
st_qty float,
st_bzs float,
st_tj float,
st_zl float,
st_tps float,
st_mj float,
st_kcts float,
st_bz varchar(80)
)