Отсутствующие значения при импорте из 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
}