本文整理自网络,侵删。
代码如下:{Excel to Delphi to SqlServer}unit ExcelLoad;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,ComObj, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinCaramel, dxSkinCoffee, dxSkinDarkSide, dxSkinGlassOceans, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinPumpkin, dxSkinSilver, dxSkinStardust, dxSkinSummer2008, dxSkinsDefaultPainters, dxSkinValentine, dxSkinXmas2008Blue, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, DB, cxDBData, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, cxTL, cxTextEdit, cxInplaceContainer, Grids, ADODB;
type TForm1 = class(TForm) OpenDialog: TOpenDialog; btn1: TButton; cxgrdbtblvwGrid1DBTableView1: TcxGridDBTableView; cxgrdlvlGrid1Level1: TcxGridLevel; cxgrd1: TcxGrid; cxgrdbclmnGrid1DBTableView1Column1: TcxGridDBColumn; cxgrdbclmnGrid1DBTableView1Column2: TcxGridDBColumn; lst1: TcxTreeList; cxtrlstclmnlst1cxTreeListColumn1: TcxTreeListColumn; cxtrlstclmnlst1cxTreeListColumn2: TcxTreeListColumn; strngrd1: TStringGrid; con1: TADOConnection; qry1: TADOQuery; procedure btn1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);var ExcelApp:Variant; n1:string; i,j:integer; FileName:string; OpenDialog:TOpenDialog; flag:boolean;begin OpenDialog:=TOpenDialog.Create(nil); OpenDialog.Filter:='Excel文件|*.xls'; if not OpenDialog.Execute then begin OpenDialog.Free; exit; end; FileName:=OpenDialog.FileName; ExcelApp:=CreateOleObject('Excel.Application'); ExcelApp.visible:=False; ExcelApp.workbooks.open(FileName);
//自适应宽度 ExcelApp.worksheets[1].Cells.EntireColumn.AutoFit;
//ShowMessage(ExcelApp.worksheets[1].cells[1,1].text); for i:=1 to 4 do begin for j:=1 to 2 do begin if ExcelApp.worksheets[1].cells[i,1].text <>'' then strngrd1.Cells[j-1,i-1]:=ExcelApp.worksheets[1].cells[i,j].text; end;
end; for i:=0 to 3 do begin with qry1 do begin Close; SQL.Clear; SQL.Text:='insert into excel(name,pwd) values(:name,:pwd)'; Parameters.ParamByName('name').Value:=strngrd1.Cells[0,i+1]; Parameters.ParamByName('pwd').Value:=strngrd1.Cells[1,i+1]; ExecSQL; end; end;end;end.
数据库建表语句:
create table excel( id int identity(1,1) primary key, name nchar(30), pwd nchar(3) );――――――――――――――――
原文链接:https://blog.csdn.net/shenbin6830/article/details/77847705
相关阅读 >>
Delphi 如何通过代码控制打开键盘数字锁定numlock
Delphi 2009 之 tstringbuilder 类[2]: append 与 appendformat
Delphi thread.queue与synchronize的区别
更多相关阅读请进入《Delphi》频道 >>