回 帖 发 新 帖 刷新版面

主题:求教dbf--->xls的格式问题

dbf转到xls,单价列显示为:
 0.2
   2
2.12
  52

我想使单价显示为整齐的三位小数:
 0.200
 2.000
 2.120
52.000
用了这一句:
oExcel.Workbooks[1].Worksheets[alias()].Columns(danjiai).NumberFormatLocal = "0.000_"
但出错,求诸位指点!


mydbf=getfile('自由表文件:dbf','打开表','确定',0,'请取含有日期字段的表')                                     
use (mydbf)
xlsname=Sys(5) + Curdir() + alias()+'.xls'          &&给Excel文件取名
copy to (xlsname) type xls                          &&把当前工作区中的表copy为.xls文件,日期格式不好
oExcel=createobject("excel.application")            &&建立Excel
oExcel.visible=.t.                                  &&显示Excel
oExcel.Workbooks.Open(xlsname)                      &&在Excel中打开已经copy为xls的文件

*-------求单价字段第次i
for i=1 to fcount()                                 
    if allt(field(i))='单价'
        danjiai=i
    endif
endfor

oExcel.Workbooks[1].Worksheets[alias()].Columns(danjiai).select  &&选择此列

*下一句错在哪?
oExcel.Workbooks[1].Worksheets[alias()].Columns(danjiai).NumberFormatLocal = "0.000_" &&使此列为数字型,并为3位小数

oExcel.Workbooks[1].SaveAs(xlsname+'c',39) &&用39表示另存为5.0的Excel格式 

oExcel.Workbooks[1].saved=.t.           &&不保存
oExcel.Workbooks.Close      &&关闭工作簿
oExcel.Quit                 &&退出EXCEL 
Release oExcel              &&释放变量 

use

回复列表 (共4个回复)

沙发

经过调试后发现问题出在这里:
[color=ff00ff]"0.000_"[/color]
后面少了一个空格,应该是[color=0000ff]"0.000_ "[/color]才对。

板凳

MOZ老师:
    谢谢您及时给与帮助!我的问题解决了。

    此外,还有另一问题想求教:我的excel是2007,菜单上的“另存为-其它格式-保存类型”列表中没有dbf类型,怎样把xls文件在excel界面中保存为dbf文件?先谢谢了!

3 楼

不看不知道,一看吓一跳,原来你注册还比我早一年。

我的OFFICE2007安装在另一个操作系统里,现在不方便重启,
oExcel.Workbooks[1].SaveAs(xlsname+'c',39) &&用39表示另存为5.0的Excel格式 
你可以尝试一下改变这个39的值,具体是多少我不太清楚,不过我也查了一下帮助,
你自己试一试看会不会有什么问题:
xlDBF2: 7
xlDBF3: 8
xlDBF4: 11
这三个值你从大到小的尝试一下吧。

4 楼

MOZ老师:
    谢谢!我回头再试一试。

我来回复

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