G
gammaray
Здравствуйте!
Пишу программу, которая считывает данные из таблицы Excel и заносит их в базу SQL. В таблице данные представлены в виде слов и цифр.
И проблема заключается в том, что при считывании из файла некоторые столбцы имеют не тот формат, который нужен. Я все столбцы хочу считать как строки. Но некоторые читаются, как целотипные, и поэтому символьные данные данные в этих столбцах теряются. Вот типы данных считанных строк:
Получил эти данные через просмотр в отладчике объекта DataReader.
Код такой:
Те данные, у которых следующие типы:
COLUMN_FLAGS=6
DATA_TYPE=130
CHARACTER_MAXIMUM_LENGTH=255
CHARACTER_OCTET_LENGTH=510
NUMERIC_PRECISION=null
читаются нормально. Так, как собственно и нужно. А остальные столбцы воспринимаются (как я понимаю) в качестве численных.
Собственно вопрос: как в Excel отформатировать строки так, чтобы потом при считывании через OleDbConnection провайдер они имели нужный тип? Формат ячеек в самом Excel в типе не изменяет ничего!
Пишу программу, которая считывает данные из таблицы Excel и заносит их в базу SQL. В таблице данные представлены в виде слов и цифр.
И проблема заключается в том, что при считывании из файла некоторые столбцы имеют не тот формат, который нужен. Я все столбцы хочу считать как строки. Но некоторые читаются, как целотипные, и поэтому символьные данные данные в этих столбцах теряются. Вот типы данных считанных строк:
Получил эти данные через просмотр в отладчике объекта DataReader.
Код такой:
Код:
string[] restrictions = { null, null, "Лист1$", null };
DataTable tbl = OleDBCon.GetSchema("Columns", restrictions); //OleDbCon - объект подключения к книге Excel
COLUMN_FLAGS=6
DATA_TYPE=130
CHARACTER_MAXIMUM_LENGTH=255
CHARACTER_OCTET_LENGTH=510
NUMERIC_PRECISION=null
читаются нормально. Так, как собственно и нужно. А остальные столбцы воспринимаются (как я понимаю) в качестве численных.
Собственно вопрос: как в Excel отформатировать строки так, чтобы потом при считывании через OleDbConnection провайдер они имели нужный тип? Формат ячеек в самом Excel в типе не изменяет ничего!