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

//数据源DataTable
DataTable dataTable = new DataTable();
//...
//...

ExcelPackage package = new ExcelPackage();

//创建Sheet
ExcelWorksheet 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;

 

转载于:https://www.cnblogs.com/BenPaoWoNiu/p/11535727.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值