我有一个数据库表,其中包含我使用 C# 脚本导入的 excel 文件的文件路径。
脚本工作正常,除非文件路径包含空格,例如C:\Temp\My Excel File.xls
并且我收到了 Illegal characters in path
错误消息。不幸的是,我无法在源代码处更改文件名。
如果我将文件路径硬编码为如下所示,它就可以正常工作。
String Filepath = @"C:\Temp\My Excel File.xls";
我该如何改变它,以便我可以包含一个字符串变量来存储来自数据库的文件路径,例如
String Filepath = //Code to get FilePath from database
StringCorrectedFilePath = @+FilePath;
在此先感谢您的帮助
编辑:问题是由以数字开头的文件创建无效的转义序列引起的。例如C:\Temp\20160611 我的 Excel 文件.xls
编辑 2:已解决 - 错误是由文件扩展名后面出现的回车符引起的。请参阅我的解决方案答案。
最佳答案
你是否这样做
String Filepath = @"C:\Temp\My Excel File.xls";
或者这个
String Filepath = "C:\\Temp\\My Excel File.xls";
存储在内存中的字符串只是 C:\Temp\My Excel File.xls
,无论调试器可能告诉您什么。因此,当您从某处(数据库、文件、用户输入等)读取一些字符串时,您不需要“转义”反斜杠。因此,只需使用该字符串即可。
关于C# - 路径中的非法字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37755905/