首页 > 解决方案 > Excel 打开 CSV 文件并将小数截断为有效数字

问题描述

我正在打开一个看起来像这样的 CSV 文件,

24.0000,19.2500,4.0000,0.7500,

Excel 仅显示有效数字的以下截断值。

24 | 19.25 | 4 | 0.75

但我需要保留小数点后 4 位(即使微不足道)。是否可以以某种方式将我的 CSV 保留为自动文本,而不是数字,以便在 Excel 中显示?即使我尝试在值周围加上引号"4.0000,它仍然会被截断。

我在 CSV 中尝试了这些选项以使其读取为文本:

4.000[space]

"4.000 "

这些都不起作用。唯一有效的是非数字, 4.000a

所以 Excel 将所有数字字段识别为数字,并强制截断,除非它看到非数字?

标签: excelcsv

解决方案


尝试

Sub test()
    Dim Wb As Workbook
    Dim Path As String, Fn As String
    Dim Filename As String
    Dim txtFree As Long
    Dim vS As Variant, v As Variant
    Dim vDB(1 To 1000, 1 To 100) As String
    Dim r As Long, c As Integer

    Path = ThisWorkbook.Path & "\"
    Filename = "csvtest.csv" '<~~ your csv filename
    Fn = Path & Filename

    txtFree = FreeFile()
    Open Fn For Input As #txtFree
    Do While Not EOF(txtFree)
        Line Input #txtFree, Fn
        vS = Split(Fn, ",")
        r = r + 1
        c = 0
        For Each v In vS
            c = c + 1
            vDB(r, c) = v
        Next v

    Loop
    Range("a1").Resize(UBound(vDB, 1), UBound(vDB, 2)) = vDB
End Sub

结果图像

在此处输入图像描述


推荐阅读