[Delphi-码农]Delphi EXCEL导入 – CSDN博客

来源: [Delphi-码农]Delphi EXCEL导入 – CSDN博客

 

整理过的

  1. procedure TParameterALterFines.btnImportExcelClick(Sender: TObject);
  2. const
  3.   BeginRow = 2; BeginCol = 1;
  4. var
  5.   Excel: OleVariant;
  6.   iRow,iCol : integer;
  7.   xlsFilename: string;
  8.   ExcelRowCount  : integer;
  9. begin
  10.   OpenDialog1.Title := ‘请选择正确的excel文件’;
  11.   OpenDialog1.Filter := ‘Excel(*.xls)|*.xls’;
  12.   if OpenDialog1.Execute then
  13.     edit1.Text := OpenDialog1.FileName;
  14.   if (trim(edit1.Text) = then
  15.   begin
  16.     GetActiveWindow();
  17.     showmessage( ‘请选择正确的excel路径’);
  18.     exit;
  19.   end;
  20.   xlsFilename := trim(edit1.Text);
  21.   try
  22.     Excel := CreateOLEObject(‘Excel.Application’);
  23.   except
  24.     showmessage(‘excel没有安装’);
  25.     Exit;
  26.   end;
  27.   Excel.Visible := false;
  28.   Excel.WorkBooks.Open(xlsFilename);
  29.   ExcelRowCount := Excel.WorkSheets[1].UsedRange.Rows.Count;
  30.   //showmessage(inttoStr(ExcelRowCount));
  31.   try
  32.     iRow := BeginRow;
  33.     iCol := BeginCol;
  34.     while trim(Excel.WorkSheets[1].Cells[iRow,iCol].value) <>  do
  35.     //WHILE iRow<ExcelRowCount Do
  36.     begin
  37.       with ADOQuery1 do
  38.       begin
  39.         //Append;
  40.         //Fields[0].AsString := trim(Excel.WorkSheets[1].Cells[iRow,iCol].value);
  41.         //Fields[1].AsString := trim(Excel.WorkSheets[1].Cells[iRow,iCol+1].value);
  42.         //Fields[2].Asstring := trim(Excel.WorkSheets[1].Cells[iRow,iCol+2].value);
  43.           close;
  44.           SQL.clear;
  45.           SQL.Text:=‘insert into Temp (ID,Content) ‘;
  46.           sql.Text:=sql.Text+‘select   ‘+trim(Excel.WorkSheets[1].Cells[iRow,iCol].value);
  47.           sql.Text:=sql.Text+‘ , ‘+  trim(Excel.WorkSheets[1].Cells[iRow,iCol+1].value);
  48.           execsql;
  49.           iRow := iRow + 1;
  50.       end;
  51.     end;
  52.     Excel.Quit;
  53.     ADOQuery1.UpdateStatus ;
  54.   except
  55.     showmessage(‘导入数据出错’);
  56.     Excel.Quit;
  57.     //Exit;
  58.   end;
  59.   //MessageBox(GetActiveWindow(), ‘数据导入成功’, ‘提示信息’, MB_OK +  MB_ICONWARNING);
  60. end;

 

http://zhidao.baidu.com/link?url=hNhGnrIAKOWJEIICoZwdKtcof7zyj_LMp-PlV2xmjgRIdAKSWDRuPT3xxzqGdhSlZc6NXsKSckbPSOdk7cBJ2a

  1. 元接口部分引用 comobj 单元(uses )
  2. procedure TForm1.Button1Click(Sender: TObject);
  3. var excelx,excely : string;
  4. begin
  5.     try
  6.       ExcelApp := CreateOleObject(‘Excel.Application’);
  7.       WorkBook := ExcelApp.WorkBooks.Open(opendialog.FileName);//使用opendialog对话框指定
  8. //excel档路径
  9. ExcelApp.Visible := false;
  10.       ExcelRowCount := WorkBook.WorkSheets[1].UsedRange.Rows.Count;
  11.       for i := 1 to excelrowcount + 1 do
  12.       begin
  13.         excelx := excelapp.Cells[i,1].Value;
  14.         excely := excelapp.Cells[i,2].Value;
  15.         if ((excelapp.Cells[i,1].Value  = and (ExcelApp.Cells[i,2].Value = )) then
  16. //指定excel档的第 i 行 ,第 1,2(看情况而定)行如果为空就退出,这样的设定,最好是你的档案力这两行//对应数据库中不能为空的数据
  17.           exit
  18.         else
  19.         with query1 do
  20.         begin
  21.           close;
  22.           sql.clear;
  23. sql.add(insert into test(name,address) values(:name,:address));
  24. parambyname(‘name’).asstring := excelx;//excel档的第一列插入到test表的 name栏位;
  25. parambyname(‘address’).asstring := excely;//excel档的第二列插入到test表的 address 栏位;
  26. execsql;
  27.         end;
  28.       end;
  29.       finally
  30.         WorkBook.Close;
  31.         ExcelApp.Quit;
  32.         ExcelApp := Unassigned;
  33.         WorkBook := Unassigned;
  34.     end;
  35.   end;

 

Delphi Excel导入 的通用程序 .

http://www.cnblogs.com/zhangzhifeng/archive/2013/05/24/3096742.html
  1. Delphi Excel导入 的通用程序 .
  2. 分类: delphi 20120924 18:19 127人阅读 评论(0) 收藏 举报
  3. exceldelphiintegerprocedure TForm1.btnClick(Sender: TObject);
  4. begin
  5.   OpenDialog1.Title := ‘请选择正确的excel文件’;
  6.   OpenDialog1.Filter := ‘Excel(*.xls)|*.xls’;
  7.   if OpenDialog1.Execute then
  8.   edit1.Text := OpenDialog1.FileName;
  9. end;
  10. procedure TForm1.btninClick(Sender: TObject);
  11. const
  12.   BeginRow = 2; BeginCol = 1;
  13. var
  14.   Excel: OleVariant;
  15.   iRow,iCol : integer;
  16.   xlsFilename: string;
  17. begin
  18. if (trim(edit1.Text) = then
  19.   begin
  20.   MessageBox(GetActiveWindow(), 请选择正确的excel路径’, MB_OK +
  21.   MB_ICONWARNING);
  22.   exit;
  23.   end;
  24.   xlsFilename := trim(edit1.Text);
  25.   try
  26.   Excel := CreateOLEObject(‘Excel.Application’);
  27.   except
  28.   Application.MessageBox(‘excel没有安装’‘提示信息’, MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL);
  29.   Exit;
  30.   end;
  31.   Excel.Visible := false;
  32.   Excel.WorkBooks.Open(xlsFilename);
  33.   try
  34.   iRow := BeginRow;
  35.   iCol := BeginCol;
  36.   while trim(Excel.WorkSheets[1].Cells[iRow,iCol].value) <>  do begin
  37.   with ADOQuery1 do begin
  38.   Append;
  39.   Fields[0].AsString := trim(Excel.WorkSheets[1].Cells[iRow,iCol].value);
  40.   Fields[1].AsString := trim(Excel.WorkSheets[1].Cells[iRow,iCol+1].value);
  41.   Fields[2].Asstring := trim(Excel.WorkSheets[1].Cells[iRow,iCol+2].value);
  42.   iRow := iRow + 1;
  43.   end;
  44.   end;
  45.   Excel.Quit;
  46.   ADOQuery1.UpdateStatus ;
  47.   except
  48.   Application.MessageBox(‘导入数据出错’‘提示信息’, MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL);
  49.   Excel.Quit;
  50.   end;
  51.   MessageBox(GetActiveWindow(), ‘数据导入成功’‘提示信息’, MB_OK +
  52.   MB_ICONWARNING);
  53. end;
分享到: 更多 (0)