【发布时间】:2016-04-20 14:23:56
【问题描述】:
我正在使用 closedXML 获取数据表并将其放入 Excel 文件中。
我正在使用的代码可以处理我通过应用程序放置的 99% 的文件,但我时不时地收到一个文件错误。 (不,这不是调试问题)
问题必须源于数据,但是我不知道如何解决这个问题。
我使用的代码是
Public Sub WriteToExcel(dt As DataTable, filePath As String)
Dim workbook = New XLWorkbook()
Dim worksheet = workbook.Worksheets.Add(dt, "Call Validate Export")
Try
workbook.SaveAs(filePath)
Process.Start(filePath)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
End Sub
保存文件时出现错误
'',十六进制值 0x1A,是无效字符。
在''之间有一个指向右边的小箭头。
将文件读入数据表时,它可以正常读取,查看文件我看不到十六进制字符。
正在读取的文件是一个 ^ 分隔的 csv 文件。
所以,我的问题是如何检查和修复\替换输出中的坏字符,这将使我节省 100% 的时间。
【问题讨论】:
-
即substitute character,不应包含在普通文本中,也可能无法包含在 Excel 文件的字符串中。尝试遍历您的数据表并删除所有出现的字符。