使用科学记数法的 QueryTables 问题

问题描述

我正在尝试从文本文件导入数据,这没有问题,代码运行并且数据已导入但不正确。我有包含此类数字的文本文件1.3309884e-13

当我导入值时,Excel 没有采用正确的负指数,而是返回 1.3309884e-5 和类似的值。代码是这样的:

Dim ws As Worksheet,strFile As String
Set ws = ActiveWorkbook.Worksheets("DEPOSITION BC")

strFile = Application.GetopenFilename("Text Files (*.csv),*.csv","Please select Black Carbon Dry Deposition bin 01 file (BCDP01)")
With ws.QueryTables.Add(Connection:="TEXT;" & strFile,_
Destination:=ws.Range("C5"))
    .TextFileParseType = xlDelimited
    .TextFileDecimalSeparator = "."
    .TextFileCommaDelimiter = True
    .TextFileStartRow = 23
    .RefreshStyle = xloverwriteCells
    .Refresh
End With 

我不知道如何避免这个问题。

解决方法

我已经在导入时发现了冲突。如果我也设置千位分隔符,问题就解决了:

Dim ws As Worksheet,strFile As String
Set ws = ActiveWorkbook.Worksheets("DEPOSITION BC")

strFile = Application.GetOpenFilename("Text Files (*.csv),*.csv","Please select Black Carbon Dry Deposition bin 01 file (BCDP01)")
With ws.QueryTables.Add(Connection:="TEXT;" & strFile,_
Destination:=ws.Range("C5"))
    .TextFileParseType = xlDelimited
    .TextFileDecimalSeparator = "."
    .TextFileCommaDelimiter = True
    .TextFileStartRow = 23
    .TextFileThousandsSeparator = False
    .RefreshStyle = xlOverwriteCells
    .Refresh
End With

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...