Использование OleDBDataReader для чтения Excel без извлечения всего содержимого ячеек столбца заголовка - PullRequest
0 голосов
/ 27 июля 2011

У меня есть лист Excel, который я использую для заполнения данных в базе данных.Кажется, что существует только определенное количество символов, которые OleDBDataReader действительно читает из заголовка столбца, прежде чем усечь остальные.

Есть ли способ обойти это?

Как я получаю заголовки столбцов:

OleDbCommand oleDbCommand = new OleDbCommand("select * from [sheet1$]",
OleDbConnection);
OleDbDataReader reader = oleDbCommand.ExecuteReader();
DataTable dataTable = new DataTable();
dataTable.Load(reader);

foreach (DataColumn column in dataTable.Columns)
{
string columnName = column.ColumnName;
}

Ожидаемый результат: целевые программы для удовлетворения потребностей учащихся в социальном обеспечении.Например, breakfast clubs

Фактический результат: целевые программы для удовлетворения потребностей учащихся в социальном обеспечении.Например, br

Я также пытался использовать метод reader.GetName(i) для получения информации с тем же результатом.

1 Ответ

1 голос
/ 27 июля 2011

64 символа - это предел заголовка столбца считывателя Jet Engine.

http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataproviders/thread/2fb51d81-3d64-445f-806a-519861b561ba/

Извините, я не могу найти более точную ссылку.

...