分享

c# EPPlus导出,设置单元格格式,设置列标题样式,设置单元格边框,格式化日期时间

 百晓生nyj 2020-04-15
//数据源DataTableDataTable dataTable = new DataTable();
//...
//...

ExcelPackage package = new ExcelPackage();//创建SheetExcelWorksheet workSheet = package.Workbook.Worksheets.Add(Sheet1);//设置单元格数据格式foreach (DataColumn item in dataTable.Columns)
{    if (item.DataType == typeof(DateTime))
    {        var i = dataTable.Columns.IndexOf(item);        //设置列格式为自定义 "yyyy/MM/dd HH:mm:ss"
        workSheet.Cells[2, i + 1, dataTable.Rows.Count + 1, i + 1].Style.Numberformat.Format = "yyyy/MM/dd HH:mm:ss";
    }
}//设置第一行列标题样式using (ExcelRange r = workSheet.Cells[startRowFrom, 1, startRowFrom, dataTable.Columns.Count])
{
    r.Style.Font.Color.SetColor(System.Drawing.Color.White);
    r.Style.Font.Bold = true;
    r.Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
    r.Style.Fill.BackgroundColor.SetColor(System.Drawing.ColorTranslator.FromHtml("#1fb5ad"));
}//设置单元格边框using (ExcelRange r = workSheet.Cells[startRowFrom + 1, 1, startRowFrom + dataTable.Rows.Count, dataTable.Columns.Count])
{
    r.Style.Border.Top.Style = ExcelBorderStyle.Thin;
    r.Style.Border.Bottom.Style = ExcelBorderStyle.Thin;
    r.Style.Border.Left.Style = ExcelBorderStyle.Thin;
    r.Style.Border.Right.Style = ExcelBorderStyle.Thin;

    r.Style.Border.Top.Color.SetColor(System.Drawing.Color.Black);
    r.Style.Border.Bottom.Color.SetColor(System.Drawing.Color.Black);
    r.Style.Border.Left.Color.SetColor(System.Drawing.Color.Black);
    r.Style.Border.Right.Color.SetColor(System.Drawing.Color.Black);
}//加载DataTable到Excel单元格workSheet.Cells["A1"].LoadFromDataTable(dataTable, true);//输出为字节byte[] result = package.GetAsByteArray();return result;

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多