//添加列头
IRow dataRow = sheet.CreateRow(headStartIndex);
for (j = 0; j < data.Columns.Count; ++j)
{
dataRow.CreateCell(j).SetCellValue(data.Columns[j].ColumnName);
dataRow.GetCell(j).CellStyle = ColumnTitleStyle;
}
ICellStyle ColumnStyle = workbook.CreateCellStyle();
IFont ColumnFont = workbook.CreateFont();
ColumnFont.FontName = "宋体";
ColumnFont.FontHeightInPoints = 12;
ColumnStyle.SetFont(ColumnFont);
ColumnStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; //居中对齐
ColumnStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
ColumnStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
ColumnStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
ColumnStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
ICellStyle MoneyColumnStyle = workbook.CreateCellStyle();
MoneyColumnStyle.SetFont(ColumnFont);
MoneyColumnStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Right; //居中对齐
MoneyColumnStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
MoneyColumnStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
MoneyColumnStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
MoneyColumnStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
//添加列及内容
for (i = 0; i < data.Rows.Count; ++i)
{
IRow row = sheet.CreateRow(i + headStartIndex +1);
for (j = 0; j < data.Columns.Count; ++j)
{
row.CreateCell(j).SetCellValue(data.Rows[i][j].ToString());
if (IsSpecialType(data.Rows[i][j].GetType()))
{
//cell.SetCellValue(data.Rows[i][j].ToString());
string ColumnName = data.Columns[row.GetCell(j).ColumnIndex].ColumnName;
if (!ColumnName.Contains("天数") && !ColumnName.Contains("序号"))
{
row.GetCell(j).SetCellValue(String.Format("{0:N2}", data.Rows[i][j]));
}
row.GetCell(j).CellStyle = MoneyColumnStyle;
}
else if (data.Rows[i][j].GetType() == typeof(int) || data.Rows[i][j].GetType() == typeof(int?))
{
row.GetCell(j).CellStyle = MoneyColumnStyle;
}
else
{
row.GetCell(j).CellStyle = ColumnStyle;
}
}
}