Я использую драйвер ACE OLEDB для чтения из электронной таблицы Excel 2007, и я обнаружил, что любое «.» символ в именах столбцов преобразуется в символ «#». Например, если у меня есть следующее в электронной таблице:
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));
Я прочитал всю документацию, которую смог найти, и я не нашел ничего, что даже упоминало бы, что это произойдет. Кто-нибудь сталкивался с этим раньше? Есть ли способ исправить это поведение?