【发布时间】:2016-11-29 07:54:48
【问题描述】:
假设某些单元格中没有换行符,这可以正常工作。
dgvResults.SelectAllCells()
dgvResults.ClipboardCopyMode = DataGridClipboardCopyMode.IncludeHeader
ApplicationCommands.Copy.Execute(Nothing, dgvResults)
Dim result As [String] = DirectCast(Clipboard.GetData(DataFormats.CommaSeparatedValue), String)
Clipboard.Clear()
dgvResults.UnselectAllCells()
Try
Dim file As New System.IO.StreamWriter("c:\export.csv")
file.WriteLine(result)
file.Close()
Process.Start("c:\export.csv")
Catch ex As Exception
MessageBox.Show(ex.Message, "Error")
End Try
这就是我添加换行符的方式
Dim x As New List(Of String)
For Each item In res.Properties("proxyaddresses")
x.Add(item)
Next
AllSMTPAddresses = String.Join(ControlChars.Lf, x)
当我导出这个时,它没有考虑到有换行符,并且完全忽略了它们......所以 excel 格式有点不稳定。我尝试过:Environment.NewLine、vbCrLf,现在是 ControlChars.Lf。我认为 excel 不知道如何处理换行符,所以它只是做它想要的,并用它们创建新行。
知道我将如何攻击它吗?
更新结果@Jimmy
这就是它应该看起来的样子......
【问题讨论】:
-
假设数据中没有逗号,
result = """" & result.Replace(",", """,""") & """"有帮助吗?
标签: wpf vb.net datagridview