1. 程式人生 > >NPOI給單元格加範圍邊框

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:\Users\Administrator\Desktop\aa.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;
                }


            }
        }

    }

原始碼下載地址:https://download.csdn.net/download/heyijiushi/10378413