请教一个OLE读取Excel数据的问题 ( 积分: 50 )

  • 主题发起人 主题发起人 ilovecaicai
  • 开始时间 开始时间
I

ilovecaicai

Unregistered / Unconfirmed
GUEST, unregistred user!
今天上午在编写OLE导入Excel数据的时候,遇到这么一个问题:
我设置了这么几个变量:
i,k:integer;
temp:string;
xlapp:variant;
然后利用temp:=xlapp.cells[i,k].value;从Excel的每个单元格中取值赋给temp,一般都没有问题,但如果我在Excel中定义的某个公式出错,比如:Excel中设置A1=B1+C1,在B1填入“AA”,C1填入“25”,那么A1格就等于“#VALUE!”,这个值因为不能转换为string类型,因而导致导入数据失败。
所以,我现在想在读入的时候,通过某种方法来排除这样类似于“#VALUE!”的格子,请问怎么实现呢?
期待高手答复……
 
今天上午在编写OLE导入Excel数据的时候,遇到这么一个问题:
我设置了这么几个变量:
i,k:integer;
temp:string;
xlapp:variant;
然后利用temp:=xlapp.cells[i,k].value;从Excel的每个单元格中取值赋给temp,一般都没有问题,但如果我在Excel中定义的某个公式出错,比如:Excel中设置A1=B1+C1,在B1填入“AA”,C1填入“25”,那么A1格就等于“#VALUE!”,这个值因为不能转换为string类型,因而导致导入数据失败。
所以,我现在想在读入的时候,通过某种方法来排除这样类似于“#VALUE!”的格子,请问怎么实现呢?
期待高手答复……
 
try
temp:=xlapp.cells[i,k].value;
except
continue;
end;
 
试了一下,这样子还是不行的呀,同样出错:(
 
Tools--Debugger Options...--Language Exceptions,
把stop on Delphi Exceptions的勾去掉,再试下。
 
后退
顶部