本文整理自网络,侵删。
代码如下:{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 2009 泛型容器单元(generics.collections)[3]: tstack<t>
Delphi 莫名奇妙的错误 Delphi is not a valid integer value
Delphi int64:是Delphi中最大的整数,64位有符号整数
更多相关阅读请进入《Delphi》频道 >>