c#格式化excel列,将epplus作为带prentice的负数



我试图获得格式化为数字的列。我想要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();
}

最新更新