C# форматирование столбца excel с epplus в виде отрицательного числа с помощью подмастерьев

#c# #epplus

Вопрос:

Я пытаюсь отформатировать столбец в виде числа. Я хочу его с 1000 разделителями и красными подмастерьями. Я использую Epplus 5.7.5 и C# .net 4.72 По какой-то причине он просто игнорирует это форматирование.

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

Комментарии:

1. Под подмастерьями вы подразумеваете круглые скобки (т. е. (parentheses) )

2. @flydog57 — за форматирование данных будет отвечать ученик

Ответ №1:

Я и сам это понял. Единственная проблема с этим заключается в том, что если у вас большой объем данных, форматирование отдельной ячейки замедлит экспорт.

 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();
    }