Foxtable(狐表)用户栏目专家坐堂 → EXCEL读取后格式不对


  共有1784人关注过本帖树形打印复制链接

主题:EXCEL读取后格式不对

帅哥哟,离线,有人找我吗?
lur320
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
EXCEL读取后格式不对  发帖心情 Post By:2024/1/9 9:39:00 [只看该作者]

 读取excel的数值后,0.0004被保存位4E-05的科学计算法。如何改为0.0004?

如下: 结论一列是250的字符列。而excel这一行的数据是0.0004.
即使使用cstr还是会显示为科学计数法。

  Dim Book As New XLS.Book(file)
                Dim Sheet As XLS.Sheet = Book.Sheets(1)
  dr("测试项") = Sheet(0, i).text
                            dr("结论") = CStr(Sheet(1, i).text)

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/9 9:41:00 [只看该作者]

使用value呢

dr("结论") = Sheet(1, i).value

 回到顶部
帅哥哟,离线,有人找我吗?
lur320
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/1/9 9:47:00 [只看该作者]

                             dr("结论") = CStr(Sheet(1, i).text)
                            If CStr(Sheet(1, i).text) = "4E-05" Then
                                MessageBox.Show(Sheet(1, i).value)
                            End If

我通过这个方式显示value。还是4e-05

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/9 10:04:00 [只看该作者]

那就只能使用vba导入了:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=65686&skin=0

 回到顶部
帅哥哟,离线,有人找我吗?
lur320
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/1/9 11:23:00 [只看该作者]

 不对,我使用了tryparse还是科学计数法。

图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看




 回到顶部
帅哥哟,离线,有人找我吗?
lur320
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/1/9 11:33:00 [只看该作者]

 应该是自动按照科学计数法表达了,怎么做格式化处理?

图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
lur320
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/1/9 11:38:00 [只看该作者]

 自定义的是可以的,读取就算抓换了还是不行。
图片点击可在新窗口打开查看此主题相关图片如下:123.png
图片点击可在新窗口打开查看

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/1/9 11:39:00 [只看该作者]

Dim s As String = "1E-07"
Dim d As Double = 0
If Double.TryParse(s, d) Then
    Output.Show(format(d, "0.############"))
End 

 回到顶部
帅哥哟,离线,有人找我吗?
lur320
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1030 积分:8973 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/1/9 11:42:00 [只看该作者]

好像可以了。。。
Dim D As Decimal

        d = val(Sheet(1, i).value)
        Output.Show("sadada" & d)



 回到顶部