C#导出Excel时,设置列为数字类型
只需要在PutValue时,转为数字类型即可。导出时,在Excel会自动显示为数字。默认是文本。
for (int i = 0; i < dt.Rows.Count; i++)
{
for (int j = 0; j < dt.Columns.Count; j++)
{
if (j > 3)
{
style = cells[i + N, j].GetStyle();
style.Number = 1;
cells[i + N, j].SetStyle(style);
cells[i + N, j].PutValue(dt.Rows[i][j].ToString() == "" ? 0 : decimal.Parse(dt.Rows[i][j].ToString().Trim()));
}
else
{
style = cells[i + N, j].GetStyle();
style.Number = 49;
cells[i + N, j].SetStyle(style);
cells[i + N, j].PutValue(dt.Rows[i][j].ToString());
}
}
}
workbook.Save(filename);
按网上的,设置了style.Number = 1;依然没用。