如何在从 Excel 中的文本文件导入数据时将默认数据类型设置为“文本”?

如何在从 Excel 中的文本文件导入数据时将默认数据类型设置为“文本”?

我在 Windows 7 系统上使用 Excel 2016。从文本文件(csv、tsv 等)导入数据时,在数据导入向导的第三步,可以手动配置每列的数据类型。该向导页面中的默认数据类型为“常规”。我如何将该默认值更改为“文本”(或其他数据类型)?

答案1

可以将默认数据类型从“常规”更改为“文本”,但需要 VBA。

此宏将把文本文件导入 Excel,并将数据类型指定为 TEXT。

Sub Import()
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Test1.txt", Destination:=Range("$A$1") _
        )
        .Name = "Test1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 437
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(2, 2, 2)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub

笔记:请检查行.TextFileColumnDataTypes = Array(2, 2, 2)。此处 2 设置 TEXT 格式,数组的 3 个元素指定 3 列。您应该将数组设置为具有与文本文件中的列数一样多的元素。

相关内容