注册 登录
编程论坛 VB6论坛

调用EXCEL显示E+的问题

yudeyinji198 发布于 2013-04-24 16:14, 550 次点击
请问,VB在调用EXCEL的时候,然后用Listview显示出来,在身份证那一列显示了7.12E+17,怎么样才能不让listview显示科学记数法呢? 14位的可以显示。
如果,不修改EXCEL源文件,既在调用之前,手动打开EXCEL,设置单元格宽度,等这类方法。
还有其他方法吗?
谢谢!

[ 本帖最后由 yudeyinji198 于 2013-4-24 16:22 编辑 ]
4 回复
#2
lowxiong2013-04-24 19:42
假设省份证所在列为A,用下列语句设置数字显示格式为文本即可
mysheet.range("A:A").NumberFormat="@"
#3
yudeyinji1982013-04-25 09:37
回复 2楼 lowxiong
程序代码:
Set xlsheet = xlBook.Worksheets(1)

xlsheet.Range("Q1:Q1").NumberFormat = "@"
xlsheet.Range("17:17").NumberFormat = "@"
For i = 2 To 10
            Set litem = ListView1.ListItems.Add()
            litem.Text = xlsheet.Cells(i, 1)
            litem.SubItems(1) = xlsheet.Cells(i, 2)
.....
to lowxiong:
    我添加了,可是还是显示了数值格式的,并没改变。
    Q1是在EXCEL的列数,17是身份证 在listview的列数。是不是我还需要添加什么?
#4
lowxiong2013-04-25 10:23
你用下面语句试试,他会把列A到Q的都用文本显示,这种方法只适用在输入数据之前设置,已经输入了的在改变不了,因此,你先做该设置,再在单元格中输入数据才行。
xlsheet.Range("A:Q").NumberFormat = "@"


[ 本帖最后由 lowxiong 于 2013-4-25 10:28 编辑 ]
#5
yudeyinji1982013-04-25 11:08
回复 4楼 lowxiong
我是直接打开已存在的EXCEL,然后读取到Listview的,按您这么方法,就是说改变不了。
是只能这样么,先改变单元格属性,再写入EXCEL数据,再重新读取,显示?
1