我正在从csv文件创建一个DataTable,并且正在努力处理文件名,因为它们包含括号和“#”字符。代码:
CnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Me.TextBox2.Text & "\;Extended Properties=""text;HDR=No;FMT=Delimited"";"
Dim tbl As New DataTable
fn = System.IO.Path.GetFileName(filename)
s = "select * from [" & fn & "]"
Using Adp As New OleDbDataAdapter(s, CnStr)
Adp.Fill(tbl)
End Using
它返回错误:
Microsoft Jet数据库引擎找不到该对象 '.W5000FLT.Wilshire 5000浮点调整指数[M] .csv'
但实际的文件名('fn'的值)是
“。W5000FLT#Wilshire 5000 Float Adjusted Index(M).csv”
正如您所看到的,Jet引擎将“#”字符和方括号替换为圆形到方形。
“普通”文件名一切正常。
有关如何修复它的任何建议吗?
谢谢!