我正在使用EPPlus將數據從Excel選項卡導入到DataTable中。 Excel文件中的所有列都設置爲「常規」選項。我有很多列包含一個整數值(該列仍然設置爲「常規」,但所有的值都是類似整數的,即1,2,3等),但是當我導入到一個DataTable我得到像1.00,2.00,3.00等數值。導入Excel數據的EPPlus應爲Int
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)' –