У меня проблема с форматом строки 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 - содержит пробел
Если убрать пробел из этого имени папки, он будет работать хорошо.
Но как это решить? Смена имени папки не является решением для меня.