我需要将哪些字符或字符组合插入到我的csv文件中,以便在Excel中启用换行符时,文本会在此时正确分解?
Private Sub removeHTMLTags(ByRef text As String)
Dim htmlTagRegex As New Regex("<[^>]*>")
Dim lineBreakHTMLTagRegex As New Regex("(<p>)|(<br>)|(</br>)|(</p>)")
text = lineBreakHTMLTagRegex.Replace(text, Chr(10))
text = htmlTagRegex.Replace(text, " ")
text = text.Trim
End Sub
而不是Chr(10)我也尝试了vbNewLine,vbCrLf,vbCr,但每次都有相同的结果:当Excel打开文件时,这些符号被解释为正常的换行符,导致excel中的行分割
它应该是这样的:
这看起来像:
如果我想通过双击csv文件而不是通过导入对话框来加载csv文件,我该如何在第二个屏幕截图中实现样式
备注:这不是VBA,我需要在创建csv文件后打开Excel的外部vb.net控制台应用程序上执行此操作。
答案 0 :(得分:1)
如果要包含CR
和LF
控制字符,则需要用双引号括起该字段。
如果你这样做,我建议你应该在每个字段都加上双引号以保持一致。
所以你的方法看起来像这样:
Private Sub removeHTMLTags(ByRef text As String)
Dim htmlTagRegex As New Regex("<[^>]*>")
Dim lineBreakHTMLTagRegex As New Regex("(<p>)|(<br>)|(</br>)|(</p>)")
text = lineBreakHTMLTagRegex.Replace(text, Chr(10))
text = htmlTagRegex.Replace(text, " ")
text = "" & text.Trim & ""
End Sub
更多细节可以在这里找到: http://www.creativyst.com/Doc/Articles/CSV/CSV01.htm