回 帖 发 新 帖 刷新版面

主题:在vf中用代码实现EXCEL数字列汇总请教

在vf中怎样用代码实现像在excel中实现数据汇总,并在最后一行增加汇总行?
moz老师用您的代码出错,请给看一下:
isdate( )           是否日期类型
isnumeric( )        是否数值类型
with Excel.Sheels(1) 此处出错
  for i2=1 to 5
      if Excel.isnumeric(.cells(16,i2)) 此处出错
      .cells(16,i2)="=sum(R[-15]C:R[-1]C)" 此处出错

      endif
  endfor
endwith
用range("A16:E16")="=sum(R[-15]C:R[-1]C)"提示出错

回复列表 (共6个回复)

沙发

Sheets

板凳

moz老师,用range("A16:E16")="=sum(R[-15]C:R[-1]C)"为啥出错,请指教

3 楼

Excel.Sheets(1).range("A16:E16")="=sum(R[-15]C:R[-1]C)"

4 楼

[quote]
with Excel.Sheels(1) 此处出错: [color=FF0000]对象引用错误![/color]
   for i2=1 to 5
      if Excel.isnumeric(.cells(16,i2)) 此处出错 [color=FF0000]没有isnumeric这个函数[/color]
      .cells(16,i2)="=sum(R[-15]C:R[-1]C)" 此处出错 [color=FF0000]前面的对象引用错误[/color]
      endif
  endfor
endwith[/quote]

5 楼

oE=CREATEOBJECT('Excel.application')
WITH oE
……打开或添加工作簿
.Worksheets(工作簿序号).Activate && 设置当前工作表(必须的)
.Visible=.T.
FOR i2=1 TO 5
    IF .ISNUMBER(.cells(15,i2)) && 检测最后一行数据,是否是数字型的!
[color=FF0000] *   IF VARTYPE(.cells(15,i2)) )="N"  && 用这个比较好[/color]
      .Range(CHR(64+i2)+"16").Formula="=sum(R[-15]C:R[-1]C)"
    ENDIF
ENDFOR
endwith

6 楼

Excel.WorksheetFunction.IsNumber( )

我来回复

您尚未登录,请登录后再回复。点此登录或注册