Преобразование Excel в xml не работает для столбцов с разными значениями типа данных, начиная с числа в строку

Я столкнулся с проблемой при чтении Excel и записи их в XML с использованием LINQ to XML.

У меня есть имя столбца как PinCode, которое имеет такие значения, как

9999 12 "123" "20" "999" 3 При преобразовании Excel в набор данных у меня есть значения 9999,12,3. Я не могу получить значения в строковом формате.

Я не хочу менять форматы в таблицах Excel. Можно ли изменить строку подключения для чтения всех данных в столбце независимо от типа данных столбца

Примечание. Я пытался использовать IMEX=1 в расширенных свойствах, но это не работает.

Чтение данных, как это

private static OleDbDataReader GetDatafromExcel(OleDbConnection oledbConn)
        {
            OleDbDataReader OledBReader = null;
            try
            {
                string query = "SELECT * FROM [Sheet1$]";
                OleDbCommand oledbCommand = new OleDbCommand(query, oledbConn);
                OledBReader = oledbCommand.ExecuteReader();

            }
            catch (Exception ex)
            {

            }
            return OledBReader;
        }

person web dunia    schedule 26.02.2010    source источник
comment
Как вы читаете данные из электронной таблицы Excel? В чем вы храните данные после их чтения? Пожалуйста, опубликуйте пример кода.   -  person Ben Robinson    schedule 26.02.2010


Ответы (1)


Осторожно - известный хак -

Для первой записи в электронной таблице Excel сделайте ее '9999 вместо 9999. Это должно обрабатывать значения как строку, а не число.

http://www.freeimagehosting.net/uploads/86e14302e9.png

person Kris Krause    schedule 26.02.2010
comment
@Kris Я не буду удалять данные. Есть ли другой способ? - person web dunia; 26.02.2010