首页 > 解决方案 > csv 中的换行符导入 Excel

问题描述

我正在将 csv 导入 Excel 2016 - 使用GetData from Text/CSV这样我就可以预测数据类型,否则带有十六进制代码的列会作为垃圾出现

但是它会在任何有换行符的条目的地方创建新行,即使它们在引号内,例如

123 | "Hello.<newline>My name is Jam" | a3e3f3

被解析为

123              | Hello.
My name is Jam   | 

我从使用 Excel 2007 的一个非常古老的线程中找到了一些建议-

在 Excel 2007 中导入带有换行符的 CSV

但指定 UTF-8 不起作用...

我已经尝试记录 VBA 以查找我可以更改的变量:

With ActiveSheet.ListObjects.Add(SourceType:=0, Source:=Array( _
    "OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=""MyWorkBook"";Extended Properties="""""), Destination:=Range("$A$1")).QueryTable
    .CommandType = xlCmdSql
    .CommandText = Array( _
    "SELECT * FROM [MyWorkbook]")
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .PreserveColumnInfo = True
    .ListObject.DisplayName = _
    "MyWorkbook"
    .Refresh BackgroundQuery:=False
End With

看起来那里没有任何内容我可以更改为“忽略逗号内的换行符”

标签: excelvba

解决方案


推荐阅读