我正在使用ACE OLEDB驅動程序從Excel 2007電子表格中讀取數據,而且我發現任何'。'列名中的字符被轉換爲'#'字符。舉例來說,如果我有一個電子表格如下:如何避免OLEDB將「。」s轉換爲列名中的「#」s?
Name Amt. Due Due Date
Andrew 12.50 4/1/2010
Brian 20.00 4/12/2010
Charlie 1000.00 6/30/2010
時,用下面的代碼讀取第二列的名稱將被報告爲「金額#由於」:
OleDbConnection connection = new OleDbConnection(
"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=MyFile.xlsx; " +
"Extended Properties=\"Excel 12.0 Xml;HDR=YES;FMT=Delimited;IMEX=1\"");
OldDbCommand command = new OleDbCommand("SELECT * FROM MyTable", connection);
OleDbReader dataReader = command.ExecuteReader();
System.Console.WriteLine(dataReader.GetName(1));
我我仔細閱讀了所有可以找到的文檔,並且我還沒有發現任何甚至提到會發生的情況。有沒有人遇到過這個?有沒有辦法解決這個問題?
這似乎是http://stackoverflow.com/questions/1088394/why-is-the-column-name-from的另一個變型-a-CSV文件,不同高於其-數據表 – 2010-04-29 01:39:47