C# formatting excel column with epplus as negative number with 学徒

C# formatting excel column with epplus as negative number with prentices

我正在尝试将一列格式化为数字。我想要它有 1000 个分隔符和红色学徒。我正在使用 Epplus 5.7.5 和 C# .net 4.72 出于某种原因,它只是忽略了这种格式。

workSheet.Column(4).Style.Numberformat.Format = "#,##0 ;[Red](#,##0)";

我自己想出来了。唯一的问题是,如果您有大量数据格式,单个单元格会减慢导出速度。

private static void CreateData(ExcelWorksheet workSheet, ref int rowIndex, DataTable dt)
    {
        int colIndex = 0;
        int intNumberCheck = 0;

        foreach (DataRow dr in dt.Rows) // Adding Data into rows
        {
            colIndex = 1;
            rowIndex++;

            foreach (DataColumn dc in dt.Columns)
            {
                var cell = workSheet.Cells[rowIndex, colIndex];

                bool isNumber = Int32.TryParse(dr[dc.ColumnName], out intNumberCheck);

                if (isNumber == true)
                {
                    //Setting Value in cell
                    
                    cell.Value = Convert.ToInt32(dr[dc.ColumnName]);
                    cell.Style.Numberformat.Format = "#,##0 ;[Red](#,##0)";
                    
                }
                else
                {
                    //Setting Value in cell
                    cell.Value = Convert.ToString(dr[dc.ColumnName]).Trim();
                }

                colIndex++;

            }
        }

        dt.Dispose();
    }