Я использую EPPlus для импорта данных со вкладки Excel в DataTable. Все столбцы в файле Excel имеют значение «Общий».EPPlus импорт данных Excel должен быть Int
У меня есть несколько столбцов, которые содержат целочисленное значение (столбец по-прежнему установлен в «Общие», но все значения являются целыми, то есть 1, 2, 3 и т. Д.), Но когда я импортирую в DataTable Я получаю значения, такие как 1.00, 2.00, 3.00 и т. Д.
Есть ли причина, по которой EPPlus добавляет десятичные точки и/или как это предотвратить?
Это блок кода, который делает импорт:
int startRow = headerRow + 1;
ExcelRange wsRow;
DataRow dr;
// if headerRow exists (headerRow > 0) then add columns with names
foreach (var firstRowCell in ws.Cells[headerRow, 1, headerRow, totalCols])
{
dt.Columns.Add(headerRow > 0 ? firstRowCell.Text : string.Format("Column {0}", firstRowCell.Start.Column));
}
for (int rowNum = startRow; rowNum <= totalRows; rowNum++)
{
wsRow = ws.Cells[rowNum, 1, rowNum, totalCols];
dr = dt.NewRow();
foreach (var cell in wsRow)
{
dr[cell.Start.Column - 1] = cell.Text;
}
dt.Rows.Add(dr);
}
Вы пытались установить тип данных столбца в своем DataTable для Int32? 'dt.Columns.Add (" Id ", typeof (Int32))' Или когда вы добавляете его в свой DataRow, преобразуйте его в Int32. 'dr [cell.Start.Column - 1] = Convert.ToInt32 (cell.Text)' –