zoukankan      html  css  js  c++  java
  • NPOI给单元格加范围边框

    HSSFWorkbook workbook2 = new HSSFWorkbook();
            //XSSFWorkbook workbook2 = new XSSFWorkbook();//建立Excel2007对象
            HSSFSheet sheet1;
            /// <summary>
            /// 99乘法表
            /// </summary>
            /// <param name="sender"></param>
            /// <param name="e"></param>
            private void button1_Click(object sender, EventArgs e)
            {
                sheet1 = (HSSFSheet )workbook2.CreateSheet("Sheet1");
                for (int rowIndex = 0; rowIndex < 9; rowIndex++)
                {
                    HSSFRow row = (HSSFRow)sheet1.CreateRow(rowIndex);
                    for (int colIndex = 0; colIndex <= rowIndex; colIndex++)
                    {
                        HSSFCell cell = (HSSFCell)row.CreateCell(colIndex);
                        cell.SetCellValue(String.Format("{0}*{1}={2}", rowIndex + 1, colIndex + 1, (rowIndex + 1) * (colIndex + 1)));
                    }
                }
                //加范围边框
                AddRengionBorder(0, 9, 0, 9);
                FileStream fs = new FileStream(@"C:UsersAdministratorDesktopaa.xls", FileMode.Create, FileAccess.Write);
                workbook2.Write(fs);
                fs.Dispose();
                MessageBox.Show("导出OK");
            }
           
            


            /// <summary>
            /// 加范围边框
            /// </summary>
            /// <param name="firstRow">起始行</param>
            /// <param name="lastRow">结束行</param>
            /// <param name="firstCell">起始列</param>
            /// <param name="lastCell">结束列</param>
            /// <returns></returns>
            public void AddRengionBorder(int firstRow, int lastRow, int firstCell, int lastCell)
            {
                //HSSFCellStyle Style = (HSSFCellStyle)workbook2.CreateCellStyle();
                for (int i = firstRow; i < lastRow; i++)
                {
                    for (int n = firstCell; n < lastCell; n++)
                    {
                        ICell cell;
                        cell = sheet1.GetRow(i).GetCell(n);
                        if (cell == null)
                        {
                            cell = sheet1.GetRow(i).CreateCell(n);
                            cell.SetCellValue(" ");
                        }
                        HSSFCellStyle Style = workbook2.CreateCellStyle() as HSSFCellStyle;
                        ////为首行加上方边框
                        if (i == firstRow)
                        {
                            Style.BorderTop = ss.UserModel.BorderStyle.THIN;
                        }
                        //为末行加下方边框
                        if (i == lastRow-1)
                        {
                            Style.BorderBottom = ss.UserModel.BorderStyle.THIN;
                        }
                        //为首列加左边框
                        if (n == firstCell)
                        {
                            Style.BorderLeft = ss.UserModel.BorderStyle.THIN;
                        }
                        //为末列加右边框
                        if (n == lastCell-1)
                        {
                            Style.BorderRight = ss.UserModel.BorderStyle.THIN;
                        }
                        cell.CellStyle = Style;
                    }


                }
            }
        }

  • 相关阅读:
    低效代码的危害
    使用datetime来控制timer的问题
    redis for windows
    log4net支持用日期加时间指定文件名
    防止数据丢失的解决方法
    RabbitMQ默认情况下不保证每次都把消息传递
    UnitTest和Developer
    spring+eureka+zuul
    新工具解决消息丢失的bug
    java_if_else__的应用1
  • 原文地址:https://www.cnblogs.com/Asa-Zhu/p/8961874.html
Copyright © 2011-2022 走看看