导入EXCEL的时候 如何判断某一行为合并格及某行某列为空?另外如何判断所用行列的总数呢? ( 积分: 100 )

  • 主题发起人 主题发起人 lkdbdlkq
  • 开始时间 开始时间
L

lkdbdlkq

Unregistered / Unconfirmed
GUEST, unregistred user!
困惑中。。
 
pb_plan.Position:=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;datai:=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dataj:=0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;i:=1&nbsp;to&nbsp;xlsapp.WorkSheets[x].UsedRange.Rows.Count&nbsp;do&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pb_plan.Position:=round(i/xlsapp.worksheets[x].usedrange.rows.count*100);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application.processmessages;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;j:=1&nbsp;to&nbsp;xlsapp.worksheets[x].usedrange.Columns.count&nbsp;do&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;pos('計划',trim(xlsapp.worksheets[x].Cells.item[i,j].value))&gt;0&nbsp;then&nbsp;splan_biaoti:=trim(xlsapp.worksheets[x].Cells.Item[i,j].value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dbgrid1.BringToFront;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;cpos('rev:',trim(xlsapp.worksheets[x].Cells.item[i,j].value))&gt;0&nbsp;then&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;splan_rev:=trim(xlsapp.worksheets[x].Cells.item[i,j+1].value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;datai:=i+2;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dataj:=j;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;cpos('2007/',trim(xlsapp.worksheets[x].Cells.item[i,j].value))&gt;0&nbsp;then&nbsp;splan_date:=trim(xlsapp.worksheets[x].Cells.item[i,j].value);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lbl_biaoti.Caption:=splan_biaoti;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sinput_date:=datetostr(now);<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(i&gt;=datai)&nbsp;and&nbsp;(datai&gt;0)&nbsp;and&nbsp;(j&gt;=dataj)&nbsp;then&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xlsApp.ActiveSheet.Range[chr(j+64)+inttostr(i)].Select;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;j&nbsp;of<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2:&nbsp;sshift:=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trim(xlsapp.activesheet.cells.item[xlsApp.Selection.Row,xlsApp.Selection.Column]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3:&nbsp;sline_name:=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trim(xlsapp.activesheet.cells.item[xlsApp.Selection.Row,xlsApp.Selection.Column]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4:&nbsp;sserial_no:=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trim(xlsapp.activesheet.cells.item[xlsApp.Selection.Row,xlsApp.Selection.Column]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5:&nbsp;sfpn:=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trim(xlsapp.activesheet.cells.item[xlsApp.Selection.Row,xlsApp.Selection.Column]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6:&nbsp;swo:=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trim(xlsapp.activesheet.cells.item[xlsApp.Selection.Row,xlsApp.Selection.Column]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7:&nbsp;sbatch:=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trim(xlsapp.activesheet.cells.item[xlsApp.Selection.Row,xlsApp.Selection.Column]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8:&nbsp;sprod_qty:=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trim(xlsapp.activesheet.cells.item[xlsApp.Selection.Row,xlsApp.Selection.Column]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;9:&nbsp;scust:=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trim(xlsapp.activesheet.cells.item[xlsApp.Selection.Row,xlsApp.Selection.Column]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10:&nbsp;sin_store_qty:=&nbsp;trim(xlsapp.activesheet.cells.item[xlsApp.Selection.Row,xlsApp.Selection.Column]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11:&nbsp;sremark:=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trim(xlsapp.activesheet.cells.item[xlsApp.Selection.Row,xlsApp.Selection.Column]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;12:&nbsp;sprod_abibity:=&nbsp;trim(xlsapp.activesheet.cells.item[xlsApp.Selection.Row,xlsApp.Selection.Column]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;13:&nbsp;smanpower:=&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;trim(xlsapp.activesheet.cells.item[xlsApp.Selection.Row,xlsApp.Selection.Column]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(i&gt;=datai)&nbsp;and&nbsp;(datai&gt;0)&nbsp;and&nbsp;(sfpn&lt;&gt;'')&nbsp;then&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qry1.close;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qry1.sql.Clear;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qry1.sql.Add('&nbsp;&nbsp;insert&nbsp;into&nbsp;m_daily_plan&nbsp;(shift,line_name,serial_no,fpn,wo,batch,prod_qty,cust,in_store_qty,remark,prod_ability,manpower,&nbsp;');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qry1.SQL.add('&nbsp;&nbsp;plan_rev,plan_date,input_date,user_name)values(&nbsp;');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qry1.SQL.add('&nbsp;&nbsp;'+Quotedstr(sshift)+','+Quotedstr(sline_name)+','+Quotedstr(sserial_no)+','+Quotedstr(sfpn)+','+Quotedstr(swo)+','+Quotedstr(sbatch)+',');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qry1.SQL.add('&nbsp;&nbsp;'+Quotedstr(sprod_qty)+'&nbsp;,'+Quotedstr(scust)+','+Quotedstr(sin_store_qty)+','+Quotedstr(sremark)+',&nbsp;');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qry1.SQL.add('&nbsp;&nbsp;'+Quotedstr(sprod_abibity)+','+Quotedstr(smanpower)+','+Quotedstr(splan_rev)+',&nbsp;:plan_date,:input_date,'''+emp+'''&nbsp;)');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qry1.Parameters.ParamByName('plan_date').Value:=strtodate(splan_date);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qry1.Parameters.ParamByName('input_date').value:=now;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qry1.execsql;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;application.ProcessMessages;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end;
 
顶一下,我目前只能写简单的代码
 
http://www.star-reg.com/dl/ExcelRead&amp;WriteOCX.rar&nbsp;<br>这项技术可较好地解决你的问题<br>QQ:292044357
 
1、判断某行某列为空,if&nbsp;trim(ExcelApp.Cells[1,4].Value)=''&nbsp;then&nbsp;为空<br>2、如果是判断横向合并的,你可以判断列宽,例如1、2列合并,则第一列宽为1,2之和。如果大于正常的列宽(可以取一个此列非合并的列宽),就是合并列。<br>3、另外如何判断所用行列的总数呢,不明白什么意思?你可以加上行和列的结束标志啊,语到这个标志就表示结束啊
 
接受答案了.
 
后退
顶部