读取excel循环语句

sanyuan35 CSDN会员 sanyuan35 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
现要把excel数据导入表中,现有代码,可是到了读取时,循环语句没有读全。
excel数据为:

以下代码读取时,没有update到2017-09-10数据
var
iRE:Integer;
iRow,iCol :Integer;
MsExcel,MsExcelWorkBook,MsExcelWorkSheet:Variant;
i:Integer;
eicol:Integer;
eirow:Integer;
begin
Try
OpenDialog1.FileName:='*.xls';
if not OpenDialog1.Execute then
begin
Exit;
end;
if ExtractFileExt(OpenDialog1.FileName) <> '.xls' then
begin
MessageBox(0, '请选择正确的excel文件',PChar('提示'),MB_OK or MB_ICONWARNING);
Exit;
end;
MsExcel:=CreateOleObject('Excel.Application');
MsExcel.visible:=true;
MsExcelWorkBook:=MsExcel.WorkBooks.Open(OpenDialog1.FileName);

//更新排班主数据
Application.ProcessMessages;//防止进程阻塞
iRow:=2;
iCol:=1;
i:=1;


while trim(msExcel.WorkSheets['sheet1'].Cells[iCol,eicol].value) <> '' do begin

with query.Close;
query.SQL.Text := 'update wh_dict set wh_amount=:wh_ amount where wh_id= :wh_id and wh_name:=wh_name and in_date:=in_date ;

Parameters.ParamByName('wh_id').Value := Trim(msExcel.WorkSheets[1].Cells[iRow,iCol].value);
Parameters.ParamByName('wh_name').Value := Trim(msExcel.WorkSheets[1].Cells[iRow,iCol+1].value);
Parameters.ParamByName(' wh_amount').Value := Trim(msExcel.WorkSheets[1].Cells[iRow,iCol+2].value);
Parameters.ParamByName('duty_date').Value := Trim(msExcel.WorkSheets[1].Cells[i,iCol+2].value);
ExecSQL;
end;
iRow:=iRow+1;

end;
MsExcel.Quit;
Except
MessageBox(self.Handle,'数据导入失败!','系统提示',0);
MsExcel.Quit;
Exit;
end ;
MessageBox(self.Handle,'数据导入成功!','系统提示',0);
end;

...全文
评论 5
收藏 已收藏
分享
返回顶部
sanyuan35 CSDN会员
数据库相关 2,508 成员 88,437 内容