(转)-------------------------------------------
1、例子解析
for i := 0 to xls.Sheets[m].lastrow do
//**** i定义的是行,lastrow是最大行号,是从0开始的行号,而不是
行数,如按count计算会少计算一行。
for j := 0 to xls.Sheets[m].LastCol do
//****j定义的是列,lastcol是最大列号,是从0开始算的列号,而不是
列数,
begin
//取出单元格的值
s := xls.sheet[0].AsFmtString[j, i];
//判断是否有格式
if xls.sheet[0].cell[j, i].IsFormatted then
begin
//如果单元格背景色是黄色,则..,背景色是FillPatternForeColor
,而不是有backcolor的那个,这是上了当的。
//cell,sheet都是不带s的,且【】后都是先列后行的,与excel,vb的
习惯是不一样的,那是先行后列。
if xls.sheet[0].cell[j, i].FillPatternForeColor =
biffrecsII2.texcelcolor(13) then
begin
tb1.Append;
tb1.fieldbyname('nrow').AsInteger := i;
tb1.fieldbyname('ncol').AsInteger := j;
tb1.FieldByName('mbdm').AsInteger := mb_mctodm
(XLS.Sheets[M].Name);
tb1.post;
end;
end;
except
ShowMessage(IntToStr(i) + '--' + inttostr(j));
end;
end;
2、怎样显示枚举变量的值
// ShowMessage(GetEnumName(TypeInfo(Texcelcolor),
Integer(xls.sheet[0].cell[j, i]
// .FillPatternForeColor)));
当然在前面的引用单元中要加入TypInfo单元。