标题:调用EXCEL显示E+的问题
只看楼主
yudeyinji198
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:133
注 册:2012-8-30
结帖率:96%
已结贴  问题点数:10 回复次数:4 
调用EXCEL显示E+的问题
请问,VB在调用EXCEL的时候,然后用Listview显示出来,在身份证那一列显示了7.12E+17,怎么样才能不让listview显示科学记数法呢? 14位的可以显示。
如果,不修改EXCEL源文件,既在调用之前,手动打开EXCEL,设置单元格宽度,等这类方法。
还有其他方法吗?
谢谢!

[ 本帖最后由 yudeyinji198 于 2013-4-24 16:22 编辑 ]
搜索更多相关主题的帖子: 身份证 源文件 EXCEL 
2013-04-24 16:14
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
得分:10 
假设省份证所在列为A,用下列语句设置数字显示格式为文本即可
mysheet.range("A:A").NumberFormat="@"
2013-04-24 19:42
yudeyinji198
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:133
注 册:2012-8-30
得分:0 
回复 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的列数。是不是我还需要添加什么?
2013-04-25 09:37
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
得分:0 
你用下面语句试试,他会把列A到Q的都用文本显示,这种方法只适用在输入数据之前设置,已经输入了的在改变不了,因此,你先做该设置,再在单元格中输入数据才行。
xlsheet.Range("A:Q").NumberFormat = "@"


[ 本帖最后由 lowxiong 于 2013-4-25 10:28 编辑 ]
2013-04-25 10:23
yudeyinji198
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:133
注 册:2012-8-30
得分:0 
回复 4楼 lowxiong
我是直接打开已存在的EXCEL,然后读取到Listview的,按您这么方法,就是说改变不了。
是只能这样么,先改变单元格属性,再写入EXCEL数据,再重新读取,显示?
2013-04-25 11:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-405378-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.366719 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved