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

Я хочу импортировать лист Excel в DataTable . я использую следующий код:

        string path = @"" + /****path of excel file****/;
        string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;";
        OleDbConnection xlConn = new OleDbConnection(connectionString);
        xlConn.Open();

        OleDbCommand selectCommand = new OleDbCommand("SELECT * FROM [Sheet1$]", xlConn);
        OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
        dataAdapter.SelectCommand = selectCommand;
        itemMasterUploadDataTable = new System.Data.DataTable();
        dataAdapter.Fill(itemMasterUploadDataTable );
        xlConn.Close();

Все отлично работает за исключением выровненных по левому краю значений в листе Excel.

enter image description here

На изображении выше показана часть одного из столбцов листа Excel. Выровненные по правому краю значения (1511, 1511, 2202, 2202) вводятся в datatable правильно, но выровненные по левому краю значения (0450, 0405, 0406, 0406, 0406, 0406, 0401) вводятся как нулевые. Что я делаю неправильно? Я хочу импортировать все значения в таблицу данных.

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Это будет работать, если вы сделаете это в файле Excel:

  1. скопировать весь столбец
  2. выберите 1-е значение
  3. удерживайте клавиши CTRL (CMD) и ALT (ОПЦИЯ)
  4. толчок V
0 голосов
/ 27 июня 2018

Я думаю, что это не зависит от выравнивания. Все значения в столбце должны быть одного типа данных. Похоже, что выровненные по левому краю приходят из формулы. Проверьте свойства ячеек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...