1. 程式人生 > >NPOI2.2.0.0例項詳解(六)—設定EXCEL單元格邊框

NPOI2.2.0.0例項詳解(六)—設定EXCEL單元格邊框

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NPOI.HSSF.UserModel;
using NPOI.SS.Formula.Eval;
using NPOI.SS.Formula.Functions;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using NPOI.POIFS.FileSystem;
using NPOI.HPSF;
using System.IO;
using NPOI.SS.Util;
using System.Drawing;
using NPOI.HSSF.Util;

namespace NPOI
{
    class Program5
    {
        static void Main(string[] args)
        {
            //說明:設定單元格邊框

            //1.建立EXCEL中的Workbook         
            IWorkbook myworkbook = new XSSFWorkbook();

            //2.建立Workbook中的Sheet        
            ISheet mysheet = myworkbook.CreateSheet("sheet1");

            //3.建立Row中的Cell並賦值
            IRow row0 = mysheet.CreateRow(0); row0.CreateCell(0).SetCellValue(""); row0.CreateCell(1).SetCellValue("Thin");
            IRow row1 = mysheet.CreateRow(1); row1.CreateCell(0).SetCellValue(""); row1.CreateCell(1).SetCellValue("Medium");
            IRow row2 = mysheet.CreateRow(2); row2.CreateCell(0).SetCellValue(""); row2.CreateCell(1).SetCellValue("Dashed");
            IRow row3 = mysheet.CreateRow(3); row3.CreateCell(0).SetCellValue(""); row3.CreateCell(1).SetCellValue("Dotted");
            IRow row4 = mysheet.CreateRow(4); row4.CreateCell(0).SetCellValue(""); row4.CreateCell(1).SetCellValue("Thick");
            IRow row5 = mysheet.CreateRow(5); row5.CreateCell(0).SetCellValue(""); row5.CreateCell(1).SetCellValue("Double");
            IRow row6 = mysheet.CreateRow(6); row6.CreateCell(0).SetCellValue(""); row6.CreateCell(1).SetCellValue("Hair");
            IRow row7 = mysheet.CreateRow(7); row7.CreateCell(0).SetCellValue(""); row7.CreateCell(1).SetCellValue("MediumDashed");
            IRow row8 = mysheet.CreateRow(8); row8.CreateCell(0).SetCellValue(""); row8.CreateCell(1).SetCellValue("DashDot");
            IRow row9 = mysheet.CreateRow(9); row9.CreateCell(0).SetCellValue(""); row9.CreateCell(1).SetCellValue("MediumDashDot");
            IRow row10 = mysheet.CreateRow(10); row10.CreateCell(0).SetCellValue(""); row10.CreateCell(1).SetCellValue("DashDotDot");
            IRow row11 = mysheet.CreateRow(11); row11.CreateCell(0).SetCellValue(""); row11.CreateCell(1).SetCellValue("MediumDashDotDot");
            IRow row12 = mysheet.CreateRow(12); row12.CreateCell(0).SetCellValue(""); row12.CreateCell(1).SetCellValue("SlantedDashDot");
            IRow row13 = mysheet.CreateRow(13); row13.CreateCell(0).SetCellValue(""); row13.CreateCell(1).SetCellValue("BorderDiagonal.Backward");
            IRow row14 = mysheet.CreateRow(14); row14.CreateCell(0).SetCellValue(""); row14.CreateCell(1).SetCellValue("BorderDiagonal.Forward");
            IRow row15 = mysheet.CreateRow(15); row15.CreateCell(0).SetCellValue(""); row15.CreateCell(1).SetCellValue("BorderDiagonal.Both");
           
            //4.建立CellStyle
            ICellStyle style0 = myworkbook.CreateCellStyle();
            style0.BorderBottom = BorderStyle.Thin;
 
            ICellStyle style1 = myworkbook.CreateCellStyle();
            style1.BorderBottom = BorderStyle.Medium;

            ICellStyle style2 = myworkbook.CreateCellStyle();
            style2.BorderBottom = BorderStyle.Dashed;

            ICellStyle style3 = myworkbook.CreateCellStyle();
            style3.BorderBottom = BorderStyle.Dotted;

            ICellStyle style4 = myworkbook.CreateCellStyle();
            style4.BorderBottom = BorderStyle.Thick;

            ICellStyle style5 = myworkbook.CreateCellStyle();
            style5.BorderBottom = BorderStyle.Double;

            ICellStyle style6 = myworkbook.CreateCellStyle();
            style6.BorderBottom = BorderStyle.Hair;

            ICellStyle style7 = myworkbook.CreateCellStyle();
            style7.BorderBottom = BorderStyle.MediumDashed;

            ICellStyle style8 = myworkbook.CreateCellStyle();
            style8.BorderBottom = BorderStyle.DashDot;

            ICellStyle style9 = myworkbook.CreateCellStyle();
            style9.BorderBottom = BorderStyle.MediumDashDot;

            ICellStyle style10 = myworkbook.CreateCellStyle();
            style10.BorderBottom = BorderStyle.DashDotDot;

            ICellStyle style11 = myworkbook.CreateCellStyle();
            style11.BorderBottom = BorderStyle.MediumDashDotDot;

            ICellStyle style12 = myworkbook.CreateCellStyle();
            style12.BorderBottom = BorderStyle.SlantedDashDot;

            ICellStyle style13 = myworkbook.CreateCellStyle();
            style13.BorderDiagonalLineStyle = BorderStyle.Thin;
            style13.BorderDiagonal = BorderDiagonal.Backward;
            style13.BorderDiagonalColor = IndexedColors.Red.Index;

            ICellStyle style14 = myworkbook.CreateCellStyle();
            style14.BorderDiagonalLineStyle = BorderStyle.Thin;
            style14.BorderDiagonal = BorderDiagonal.Forward;
            style14.BorderDiagonalColor = IndexedColors.Red.Index;

            ICellStyle style15 = myworkbook.CreateCellStyle();
            style15.BorderDiagonalLineStyle = BorderStyle.Thin;
            style15.BorderDiagonal = BorderDiagonal.Both;
            style15.BorderDiagonalColor = IndexedColors.Red.Index;
            
            //【Tips】
            // 1.Border+方向 [邊框型別] 例:BorderTop, BorderBottom,BorderLeft, BorderRight
            // 2.方向+BorderColor [邊框顏色] 例:TopBorderColor,BottomBorderColor, LeftBorderColor, RightBorderColor
            // 3.繪製斜線首先要指定 BorderDiagonalLineStyle 然後 指定 BorderDiagonal 

            //5.將CellStyle應用於具體單元格
            row0.GetCell(0).CellStyle = style0;
            row1.GetCell(0).CellStyle = style1;
            row2.GetCell(0).CellStyle = style2;
            row3.GetCell(0).CellStyle = style3;
            row4.GetCell(0).CellStyle = style4;
            row5.GetCell(0).CellStyle = style5;
            row6.GetCell(0).CellStyle = style6;
            row7.GetCell(0).CellStyle = style7;
            row8.GetCell(0).CellStyle = style8;
            row9.GetCell(0).CellStyle = style9;
            row10.GetCell(0).CellStyle = style10;
            row11.GetCell(0).CellStyle = style11;
            row12.GetCell(0).CellStyle = style12;
            row13.GetCell(0).CellStyle = style13;
            row14.GetCell(0).CellStyle = style14;
            row15.GetCell(0).CellStyle = style15;

            //6.儲存       
            FileStream file = new FileStream(@"E:\myworkbook5.xlsx", FileMode.Create);
            myworkbook.Write(file);
            file.Close();
        }
    }
}

執行後,效果如下圖所示【演示了不同邊框樣式】