ImageVerifierCode 换一换
格式:DOCX , 页数:7 ,大小:16.04KB ,
资源ID:11636932      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11636932.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Excel导入到SQL.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Excel导入到SQL.docx

1、Excel导入到SQLExcel导入到SQL Excel导入到SQL 时间:2011-5-24来源:yang 作者: peng点击: 334次方法一:通过ADO连接Excel将Excel作为一个数据源,读出Excel中的数据将数据直接插入到SQL中的一个表中,其中ADO的连接字符串是:Provider=Microsoft.Jet.OLEDB.4.0;Password=;Extended Properties=Excel 8.0unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Co

2、ntrols, Forms, Dialogs, cxGraphics, dxSkinsCore, dxSkinsDefaultPainters, dxSkinsdxStatusBarPainter, ComCtrls, dxStatusBar, cxControls, DB, ADODB, Grids, DBGrids, StdCtrls, ExtCtrls;type TForm1 = class(TForm) Panel1: TPanel; Button1: TButton; OpenDialog1: TOpenDialog; DBGrid1: TDBGrid; DataSource1: T

3、DataSource; ADOConnection1: TADOConnection; dxStatusBar1: TdxStatusBar; dxStatusBar1Container1: TdxStatusBarContainerControl; ProgressBar1: TProgressBar; ADOQuery1: TADOQuery; ADOConnection2: TADOConnection; ADOQuery2: TADOQuery; Edit1: TEdit; Label3: TLabel; dxStatusBar1Container0: TdxStatusBarCont

4、ainerControl; Label1: TLabel; Label2: TLabel; Label4: TLabel; DateTimePicker1: TDateTimePicker; DateTimePicker2: TDateTimePicker; procedure Button1Click(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1;implementation$R *.dfmprocedure TForm1.Button1Click

5、(Sender: TObject);var i:Integer;plan,stattime,endtime:string;/username:string;MyExcelFile:string;beginOpenDialog1.Title:= 请选择相应的Excel文件;OpenDialog1.Filter:=Excel(*.xls)|*.xls;trybeginif OpenDialog1.Execute thenMyExcelFile :=OpenDialog1.FileName;adoconnection1.Connected:=false;ADOConnection1.Close;AD

6、OConnection1.ConnectionString:=Provider=Microsoft.Jet.OLEDB.4.0;Data Source=+MyExcelFile+;Extended Properties=excel 8.0;Persist Security Info=False;ADOConnection1.Connected:=true;adoquery1.Close;ADOQuery1.SQL.Clear;adoquery1.SQL.Add(SELECT FPNumber,Fnumber,Fscrap*100 as Fscrap,Fmax*100 as Fmax,Fmin*

7、100 as Fmin FROM sheet1$);adoquery1.Open;ProgressBar1.Max:=ADOQuery1.RecordCount;Label1.Caption:=0;for i:=1 to ADOQuery1.RecordCount dobeginApplication.ProcessMessages;self.refresh;ADOQuery2.Close;ADOQuery2.SQL.Clear;ADOQuery2.SQL.Add(select * from f_lossrate2 );ADOQuery2.Open;Label1.Caption:=IntToS

8、tr(StrTOint(Label1.caption)+1);ADOQuery2.Close;ADOQuery2.SQL.Clear;plan:=edit1.text;stattime:=FormatDateTime(yyyy-MM-dd,DateTimePicker1.Date);endtime:=FormatDateTime(yyyy-MM-dd,DateTimePicker2.Date);ADOQuery2.SQL.Add(insert into f_lossrate2(planName,pfnumber,fnumber,lowloss,midloss,bigloss,begineffe

9、ct,endeffect);ADOQuery2.SQL.Add(Values(+QuotedStr(plan)+,+QuotedStr(ADOQuery1.fieldbyName(FPNumber).AsString)+,+QuotedStr(ADOQuery1.fieldbyName(Fnumber).AsString)+,+QuotedStr(ADOQuery1.fieldbyName(Fscrap).AsString)+,+ QuotedStr(ADOQuery1.fieldbyName(Fmax).AsString)+,+QuotedStr(ADOQuery1.fieldbyName(

10、Fmin).AsString)+,+QuotedStr(stattime)+,+QuotedStr(endtime)+);tryADOQuery2.ExecSQL;exceptend;Application.ProcessMessages;ADOQuery1.Next;ProgressBar1.Position :=i;end;adoquery2.Active:=false;adoquery2.Close;adoquery2.SQL.Add(select * from f_lossrate2);adoquery2.Open;adoquery2.Active:=true;Application.

11、MessageBox(导入完毕!,提示,MB_OK+MB_Iconinformation);end;exceptApplication.MessageBox(打开Excel失败,错误;请重启软件再试。,错误信息,MB_Ok);end;end;end.方法二:直接读出Excel数据,但是要将单元格跟SQL中的表中的字段一一对应起来unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxGraphics, dxSkinsCore, d

12、xSkinsDefaultPainters, dxSkinsdxStatusBarPainter, ComCtrls, dxStatusBar, cxControls, DB, ADODB, Grids, DBGrids, StdCtrls,ComObj, ExtCtrls;type TForm1 = class(TForm) Panel1: TPanel; Button1: TButton; OpenDialog1: TOpenDialog; DBGrid1: TDBGrid; DataSource1: TDataSource; ADOConnection1: TADOConnection;

13、 dxStatusBar1: TdxStatusBar; dxStatusBar1Container1: TdxStatusBarContainerControl; ProgressBar1: TProgressBar; ADOQuery1: TADOQuery; ADOConnection2: TADOConnection; ADOQuery2: TADOQuery; Edit1: TEdit; Label3: TLabel; dxStatusBar1Container0: TdxStatusBarContainerControl; Label1: TLabel; Label2: TLabe

14、l; Label4: TLabel; DateTimePicker1: TDateTimePicker; DateTimePicker2: TDateTimePicker; procedure Button1Click(Sender: TObject); private Private declarations public Public declarations end;var Form1: TForm1;implementation$R *.dfmprocedure TForm1.Button1Click(Sender: TObject);const BeginRow = 2; Begin

15、Col = 1;var Excel: OleVariant; iRow,iCol : integer; xlsFilename: string; filename:string;beginOpenDialog1.Title := 请选择相应的Excel文件; OpenDialog1.Filter := Excel(*.xls)|*.xls; if OpenDialog1.Execute then filename := OpenDialog1.FileName;if (trim(edit1.Text) = ) then begin MessageBox(GetActiveWindow(), 方

16、案名不能为空!, 警告, MB_OK + MB_ICONWARNING); exit; end; xlsFilename := trim(filename); try Excel := CreateOLEObject(Excel.Application); except Application.MessageBox(Excel没有安装!, 提示信息, MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL); Exit; end; Excel.Visible := false; Excel.WorkBooks.Open(xlsFilename); tr

17、y iRow := BeginRow; iCol := BeginCol; while trim(Excel.WorkSheets1.CellsiRow,iCol.value) <> do begin with ADOQuery2 do begin Append; /Fields0.AsString := trim(Excel.WorkSheets1.CellsiRow,iCol.value); Fields1.AsString := trim(edit1.Text); Fields2.Asstring := trim(Excel.WorkSheets1.CellsiRow,iCo

18、l.value); Fields3.Asstring := trim(Excel.WorkSheets1.CellsiRow,iCol+2.value); Fields4.AsString := trim(Excel.WorkSheets1.CellsiRow,iCol+1.value); Fields5.Asstring := trim(Excel.WorkSheets1.CellsiRow,iCol+3.value); Fields6.Asstring := trim(Excel.WorkSheets1.CellsiRow,iCol+4.value); Fields7.AsString :

19、= trim(Excel.WorkSheets1.CellsiRow,iCol+5.value); Fields8.Asstring := trim(FormatDateTime(yyyy-MM-dd,DateTimePicker1.Date); Fields9.Asstring := trim(FormatDateTime(yyyy-MM-dd,DateTimePicker2.Date); Fields10.AsString := trim(FormatDateTime(yyyy-MM-dd,now); Fields11.AsString := trim(Excel.WorkSheets1.

20、CellsiRow,iCol+11.value); Fields12.AsString := trim(Excel.WorkSheets1.CellsiRow,iCol+12.value); iRow := iRow + 1; Label1.Caption:=导入记录:+inttostr(iRow-1)+条; end; end; Excel.Quit; ADOQuery2.UpdateStatus ; except Application.MessageBox(导入数据出错!请检查文件的格式是否正确!, 提示信息, MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL); Excel.Quit; end; MessageBox(GetActiveWindow(), 数据导入成功!, 提示, MB_OK + MB_ICONWARNING);end;end.

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1