Отсутствующие значения при импорте из Excel в представление данных

У меня есть приложение Winform, которое импортирует файл Excel в таблицу данных. Это работает хорошо, но только одна проблема: у меня есть 2 столбца в файле Excel, которые являются целыми числами. Если я изменю значение из одного из этих столбцов и добавлю символ, который не является целым числом, это значение будет отсутствовать в представлении данных.

Я попытался изменить свойства столбца в файле Excel на "Текст", так как тип столбца изначально был "Двойной", но он по-прежнему не влияет на представление данных.

Я также попытался создать свои собственные столбцы с нужным мне типом (все в виде строки), а затем клонировать таблицу данных и добавить клонированную таблицу в представление данных, но проблема все та же.

Вот мой код при нажатии на кнопку импорта:

private void btnImport_Click(object sender, EventArgs e)
{
            #region Import from the Excel
            try
            {
                string pathConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + txtPath.Text + ";Extended Properties=\"Excel 8.0;HDR=Yes;\";";
                OleDbConnection conn = new OleDbConnection(pathConn);
                OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("Select * from [" + sheetName + "$]", conn);
                System.Data.DataTable dt = new System.Data.DataTable();

                myDataAdapter.Fill(dt);

                System.Data.DataTable dtCloned = dt.Clone();
                foreach (DataColumn col in dtCloned.Columns)
                {
                    col.DataType = typeof(String);
                }

                foreach (DataRow row in dt.Rows)
                {
                    dtCloned.ImportRow(row);
                }

                ExceldataGridView.DataSource = dtCloned;


                dt.Dispose();
                myDataAdapter.Dispose();
                conn.Close();
            }
            catch
            {
                MessageBox.Show("Error");
                return;
            }

            #endregion
  }

0 ответов

Другие вопросы по тегам