加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# EPPlus导出,设置单元格格式,设置列标题样式,设置单元格边框,

发布时间:2020-12-16 01:22:49 所属栏目:百科 来源:网络整理
导读:// 数据源DataTable DataTable dataTable = new DataTable();//...//...ExcelPackage package = new ExcelPackage(); // 创建Sheet ExcelWorksheet workSheet = package.Workbook.Worksheets.Add(Sheet1); // 设置单元格数据格式 foreach (DataColumn item i
//数据源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;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读