zoukankan      html  css  js  c++  java
  • Epplus 使用案例

    //拷贝

    sheet.Cells["6:12"].Copy(sheet.Cells["1:2"]);

    //边框无

    sheet.Cells[(i * 6 + i + j), 2].Style.Border.Right.Style = ExcelBorderStyle.None;

    //设边框颜色

    sheet.Cells[5, 5 + i].Style.Border.Right.Style = ExcelBorderStyle.Thin;
    sheet.Cells[5, 5 + i].Style.Border.Right.Color.SetColor(Color.FromArgb(223, 223, 223));

    //背景色
    sheet.Cells[5, 5 + i].Style.Fill.PatternType = ExcelFillStyle.Solid;

    sheet.Cells[5, 5 + i].Style.Fill.BackgroundColor.SetColor(Color.FromArgb(89, 89, 89));           

    //垂直居中

    sheet.Cells[5, 5 + i].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;

    //上下居中

    sheet.Cells[5, 5 + i].Style.VerticalAlignment = ExcelVerticalAlignment.Center;             

    //字体颜色

    sheet.Cells[5, 5 + i].Style.Font.Color.SetColor(Color.FromArgb(255, 255, 255));

    using (ExcelPackage p = new ExcelPackage(fi))
                    {
                        foreach (ExcelWorksheet sheet in p.Workbook.Worksheets)
                        {
                            //Template
                            switch (selectProject)
                            {
                                case "0":
                                    for (int i = 2; i < rtList.Count; i++)
                                    {
                                        sheet.Cells["6:12"].Copy(sheet.Cells[(i * 6 + i - 1) + ":" + (i * 6 + i + 5)]);
                                        if (i == rtList.Count - 1)
                                        {
                                            for (int j = -1; j < 6; j++)
                                            {
                                                sheet.Cells[(i * 6 + i + j), 2].Style.Border.Right.Style = ExcelBorderStyle.None;
                                                sheet.Cells[(i * 6 + i + j), 1].Style.Border.Right.Style = ExcelBorderStyle.None;
                                            }
                                        }
                                    }
                                    break;
                                case "1":
                                    for (int i = 2; i < rtList.Count; i++)
                                    {
                                        sheet.Cells["6:7"].Copy(sheet.Cells[(6 + i + i - 2) + ":" + (6 + i + i - 1)]);
                                        if (i == rtList.Count - 1)
                                        {
                                            sheet.Cells[(6 + i + i - 2 ), 1, (6 + i + i - 1),1].Style.Border.Right.Style = ExcelBorderStyle.None;
                                            sheet.Cells[(6 + i + i - 2), 2, (6 + i + i - 1), 2].Style.Border.Right.Style = ExcelBorderStyle.None;
                                            sheet.Cells[(6 + i + i - 2), 3, (6 + i + i - 1), 3].Style.Border.Left.Style = ExcelBorderStyle.None;
                                            sheet.Cells[(6 + i + i - 2), 2, (6 + i + i - 1), 2].Style.Border.Left.Style = ExcelBorderStyle.None;                                        
                                        }
                                    }
                                    break;
                                case "2":
                                    for (int i = 2; i < rtList.Count; i++)
                                    {
                                        sheet.Cells["6:9"].Copy(sheet.Cells[(i * 4 + 2) + ":" + (i * 4 + 5)]);
                                        if (i == rtList.Count - 1)
                                        {
                                            for (int j = 0; j < 4; j++)
                                            {
                                                sheet.Cells[(i * 4 + 2 + j), 2].Style.Border.Right.Style = ExcelBorderStyle.None;
                                                sheet.Cells[(i * 4 + 2 + j), 1].Style.Border.Right.Style = ExcelBorderStyle.None;
                                            }
                                        }
                                    }
                                    break;
                            }
                            
                            
                            //Title
                            sheet.Cells[1, 2].Value = bs.MEASURES_NM.ToString();
                            sheet.Cells[2, 2].Value = bs.MEASURES_OVERVIEW.ToString();
                            sheet.Cells[3, 2].Value = bs.BEGIN_DATE.ToString() + " ~ " + bs.END_DATE.ToString();
                            //TableTitle
                            sheet.Cells[5, 1].Value="分類";
                            sheet.Cells[5, 2].Value="媒体属性";
                            sheet.Cells[5, 3].Value="ASP/ASID/AS名/運営者";
                            sheet.Cells[5, 4].Value="項目";
                            for (int i = 0; i < rtList[0].DETAIL_TITLE.Count(); i++)
                            {
                                sheet.Cells[5, 5 + i].Value = rtList[0].DETAIL_TITLE[i].ToString().Replace("年", "/").Replace("月", "").Substring(2);
                            }

                            //Contents
                            int currentrow = 6;
                            for (int i = 1; i < rtList.Count; i++)
                            {
                                switch (selectProject)
                                {
                                    case "0":
                                        #region すべて
                                        //1 DataRow
                                        sheet.Cells[currentrow, 1].Value = rtList[i].PROM_NM;
                                        sheet.Cells[currentrow, 2].Value = rtList[i].SITE_CATEGORY;
                                        sheet.Cells[currentrow, 3].Value = rtList[i].ASP_ID;
                                        sheet.Cells[currentrow, 4].Value = MBProject.PV数.ToString();
                                        for (int j = 0; j < rtList[i].DETAIL.PV_CNT_LIST.Count(); j++)
                                        {
                                            sheet.Cells[currentrow, 5 + j].Value = rtList[i].DETAIL.PV_CNT_LIST[j].CalculateValue;
                                        }
                                        //2 DataRow
                                        sheet.Cells[currentrow + 1, 3].Value = rtList[i].AS_ID;
                                        sheet.Cells[currentrow + 1, 4].Value = MBProject.Click数.ToString();
                                        for (int j = 0; j < rtList[i].DETAIL.CL_CNT_LIST.Count(); j++)
                                        {
                                            sheet.Cells[currentrow + 1, 5 + j].Value = rtList[i].DETAIL.CL_CNT_LIST[j].CalculateValue;
                                        }
                                        //3 DataRow
                                        sheet.Cells[currentrow + 2, 3].Formula = "HYPERLINK("" + rtList[i].URL + "","" + rtList[i].AS_NM + "")";
                                        sheet.Cells[currentrow + 2, 4].Value = MBProject.Click率.ToString();
                                        for (int j = 0; j < rtList[i].DETAIL.CL_RATE_LIST.Count(); j++)
                                        {
                                            sheet.Cells[currentrow + 2, 5 + j].Value = rtList[i].DETAIL.CL_RATE_LIST[j].FormateValue;
                                        }
                                        //4 DataRow
                                        sheet.Cells[currentrow + 3, 3].Value = rtList[i].UNEI_USER_NAME;
                                        sheet.Cells[currentrow + 3, 4].Value = MBProject.申込数.ToString();
                                        for (int j = 0; j < rtList[i].DETAIL.MOSHI_CNT_LIST.Count(); j++)
                                        {
                                            sheet.Cells[currentrow + 3, 5 + j].Value = rtList[i].DETAIL.MOSHI_CNT_LIST[j].CalculateValue;
                                        }
                                        //5 DataRow
                                        sheet.Cells[currentrow + 4, 4].Value = MBProject.CV率.ToString();
                                        for (int j = 0; j < rtList[i].DETAIL.CV_RATE_LIST.Count(); j++)
                                        {
                                            sheet.Cells[currentrow + 4, 5 + j].Value = rtList[i].DETAIL.CV_RATE_LIST[j].FormateValue;
                                        }
                                        //6 DataRow
                                        sheet.Cells[currentrow + 5, 4].Value = MBProject.契約数.ToString();
                                        for (int j = 0; j < rtList[i].DETAIL.KEIYAKU_CNT_LIST.Count(); j++)
                                        {
                                            sheet.Cells[currentrow + 5, 5 + j].Value = rtList[i].DETAIL.KEIYAKU_CNT_LIST[j].CalculateValue;
                                        }
                                        //7 DataRow
                                        sheet.Cells[currentrow + 6, 4].Value = MBProject.契約率.ToString();
                                        for (int j = 0; j < rtList[i].DETAIL.KEIYAKU_RATE_LIST.Count(); j++)
                                        {
                                            sheet.Cells[currentrow + 6, 5 + j].Value = rtList[i].DETAIL.KEIYAKU_RATE_LIST[j].FormateValue;
                                        }
                                        currentrow += 7;
                                        #endregion
                                        break;
                                    case "1":
                                        #region 申込数
                                        //1 DataRow 申込数
                                        sheet.Cells[currentrow, 1].Value = rtList[i].PROM_NM;
                                        sheet.Cells[currentrow, 2].Value = rtList[i].SITE_CATEGORY;
                                        sheet.Cells[currentrow, 3].Formula = "HYPERLINK("" + rtList[i].URL + "","" + rtList[i].AS_NM + "")";
                                        sheet.Cells[currentrow + 1, 3].Value = rtList[i].UNEI_USER_NAME;
                                        sheet.Cells[currentrow, 4].Value = MBProject.申込数.ToString();
                                        for (int j = 0; j < rtList[i].DETAIL.MOSHI_CNT_LIST.Count(); j++)
                                        {
                                            sheet.Cells[currentrow, 5 + j].Value = rtList[i].DETAIL.MOSHI_CNT_LIST[j].CalculateValue;                                        
                                        }
                                        currentrow += 2;
                                        #endregion
                                        break;
                                    case "2":
                                        #region 申込数・CV率・契約数・契約率
                                        //1 DataRow 申込数
                                        sheet.Cells[currentrow, 1].Value = rtList[i].PROM_NM;
                                        sheet.Cells[currentrow, 2].Value = rtList[i].SITE_CATEGORY;
                                        sheet.Cells[currentrow, 3].Value = rtList[i].ASP_ID;
                                        sheet.Cells[currentrow, 4].Value = MBProject.申込数.ToString();
                                        for (int j = 0; j < rtList[i].DETAIL.MOSHI_CNT_LIST.Count(); j++)
                                        {
                                            sheet.Cells[currentrow, 5 + j].Value = rtList[i].DETAIL.MOSHI_CNT_LIST[j].CalculateValue;
                                        }
                                        //2 DataRow CV率
                                        sheet.Cells[currentrow + 1, 3].Value = rtList[i].AS_ID;
                                        sheet.Cells[currentrow + 1, 4].Value = MBProject.CV率.ToString();
                                        for (int j = 0; j < rtList[i].DETAIL.CV_RATE_LIST.Count(); j++)
                                        {
                                            sheet.Cells[currentrow + 1, 5 + j].Value = rtList[i].DETAIL.CV_RATE_LIST[j].FormateValue;
                                        }
                                        //3 DataRow 契約数
                                        sheet.Cells[currentrow + 2, 3].Formula = "HYPERLINK("" + rtList[i].URL + "","" + rtList[i].AS_NM + "")";
                                        sheet.Cells[currentrow + 2, 4].Value = MBProject.契約数.ToString();
                                        for (int j = 0; j < rtList[i].DETAIL.KEIYAKU_CNT_LIST.Count(); j++)
                                        {
                                            sheet.Cells[currentrow + 2, 5 + j].Value = rtList[i].DETAIL.KEIYAKU_CNT_LIST[j].CalculateValue;
                                        }
                                        //4 DataRow 契約率
                                        sheet.Cells[currentrow + 3, 3].Value = rtList[i].UNEI_USER_NAME;
                                        sheet.Cells[currentrow + 3, 4].Value = MBProject.契約率.ToString();
                                        for (int j = 0; j < rtList[i].DETAIL.KEIYAKU_RATE_LIST.Count(); j++)
                                        {
                                            sheet.Cells[currentrow + 3, 5 + j].Value = rtList[i].DETAIL.KEIYAKU_RATE_LIST[j].FormateValue;
                                        }
                                        currentrow += 4;
                                        #endregion
                                        break;
                                }
                            }

                        }

                        p.Workbook.Worksheets[1].View.TabSelected = true;
                        p.Save();
                    }

  • 相关阅读:
    使用Spring Boot来加速Java web项目的开发
    Spring IOC的理解
    CentOS查看系统信息-CentOS查看命令
    mybatis传递Map和List集合示例
    java文件读写工具类
    MongoDB数据库操作
    linux中给PHP安装mongodb的扩展
    深度学习与计算机视觉系列(2)_图像分类与KNN
    深度学习与计算机视觉系列(3)_线性SVM与SoftMax分类器
    深度学习与计算机视觉系列(6)_神经网络结构与神经元激励函数
  • 原文地址:https://www.cnblogs.com/shuaichao/p/4089974.html
Copyright © 2011-2022 走看看