Чтение Excel с именем ячейки столбца - PullRequest
0 голосов
/ 05 февраля 2019

Я читаю файл Excel и отображаю в DataGrid.Мне нужно отобразить имя ячейки столбца вместе со значениями ячейки.Например, если у меня есть какое-либо значение в столбце A, заголовок таблицы данных должен отображаться как A, B, C,…, AA, BB,… Но здесь я вижу F1, F2,…

Этоэто изображение, которое я получаю.

enter image description here

Мне нужен следующий формат.

enter image description here И вот мой код.

string conn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName +
               ";Extended Properties='Excel 12.0;HDR=NO;IMEX=1;';";

using (OleDbConnection con = new OleDbConnection(conn))
{                
    string selectQuery = "SELECT * FROM [Sheet2$G1:L20]";

    OleDbDataAdapter oleAdpt = new OleDbDataAdapter(selectQuery, con);
    oleAdpt.Fill(dtexcel);                       
}

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 07 февраля 2019

После того, как ваша таблица данных построена, просто измените имена столбцов следующим образом:

for (int i = 0; i < dtexcel.Columns.Count; i++)
    dtexcel.Columns[i].ColumnName = GetExcelColumnName(i + 7);

+7 там, потому что вы начали с столбца G. Если вы начали с A, это будет +1.

Метод GetExcelColumnName можно найти здесь:

https://stackoverflow.com/a/182924/1278553

Чтобы дать вам некоторую уверенность, что это работает, я попробовал его на примере проекта:

enter image description here

...