我对 OleDbConnection 字符串格式有疑问。我使用 OleDb 类访问 Excel 文件。
这是将excel表加载到数据集的方法。
public DataSet LoadExcelFileToDataSet(string file,
string sheetName)
{
string connString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + file + ";" +
"Extended Properties=Excel 8.0;";
var oledbConn = new OleDbConnection(connString);
try
{
// Open connection
oledbConn.Open();
// Create OleDbCommand object and select data from worksheet Sheet1
var cmd = new OleDbCommand("SELECT * FROM [" + sheetName + "$]", oledbConn);
// Create new OleDbDataAdapter
var oleda = new OleDbDataAdapter { SelectCommand = cmd };
// Create a DataSet which will hold the data extracted from the worksheet.
var ds = new DataSet();
// Fill the DataSet from the data extracted from the worksheet.
oleda.Fill(ds, "SIMCards");
return ds;
}
catch(Exception ex)
{
throw ex;
}
finally
{
// Close connection
oledbConn.Close();
}
}
这种方法效果很好。问题是如果我尝试在 WPF 应用程序中将此方法与相对路径一起使用。
LoadExcelFileToDataSet(Config\\simcard.xls,sheetName)
完整路径为:E:\C# PROJECTS\AUSK\T-TOOL\T-TOOL\bin\Release\Config\simcard.xls
问题是这个文件夹名称 C# PROJECTS - 包含空格
如果从此文件夹名称中删除空格,则效果很好。
但是如何解决呢?更改文件夹名称对我来说不是解决方案。