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