只需要在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);

C#导出Excel时,设置列为数字类型

按网上的,设置了style.Number = 1;依然没用。

https://blog.csdn.net/peng790/article/details/54600924

相关文章:

  • 2022-12-23
  • 2021-06-22
  • 2022-12-23
  • 2021-10-07
  • 2022-12-23
  • 2021-12-05
  • 2021-06-02
  • 2021-04-19
猜你喜欢
  • 2021-05-31
  • 2021-05-30
  • 2021-09-13
  • 2022-12-23
  • 2021-11-21
  • 2021-07-31
  • 2021-12-15
相关资源
相似解决方案