1. 程式人生 > >C# nopi匯出到excel

C# nopi匯出到excel

HSSFWorkbook workbook = new HSSFWorkbook(); //建立工作簿
HSSFSheet sheet = (HSSFSheet)workbook.CreateSheet(); //建立表單
HSSFRow headerRow = (HSSFRow)sheet.CreateRow(0); //建立row
headerRow.HeightInPoints = 53; //設定行高
headerRow.CreateCell(0).SetCellValue("demo");  //設定指定單元格-cell 的內容

設定格式: 

HSSFCellStyle headStyle = (HSSFCellStyle)workbook.CreateCellStyle(); //定義一個style
headStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; //水平居中
headStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center; //垂直居中
headStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin; //邊框
headStyle.WrapText = true; //自動換行
sheet.AddMergedRegion(new Region(0, 0, 0, 21)); //合併單元格 起始行,起始列,目的行,目的列

headerRow.GetCell(0).CellStyle = headStyle; //設定某個cell應用style

對角線:

style0.BorderDiagonalLineStyle = NPOI.SS.UserModel.BorderStyle.Dashed;
style0.BorderDiagonal = NPOI.SS.UserModel.BorderDiagonal.Backward;

字型設定:

HSSFFont font = (HSSFFont)workbook.CreateFont(); //建立字型樣式
font.Boldweight = 700; 
font.FontName = "宋體";
font.FontHeightInPoints = 20; //字型大小
headStyle.SetFont(font); //應用樣式

追加資料到現有excel:

FileStream fs = new FileStream("e:/zaocao.xls", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);//讀取流

            POIFSFileSystem ps = new POIFSFileSystem(fs);//需using NPOI.POIFS.FileSystem;
            IWorkbook workbook = new HSSFWorkbook(ps);
            ISheet sheet = workbook.GetSheetAt(0);//獲取工作表
            IRow row = sheet.GetRow(0); //得到表頭
            FileStream fout = new FileStream("e:/zaocao.xls", FileMode.Open, FileAccess.Write, FileShare.ReadWrite);//寫入流
            row = sheet.CreateRow((sheet.LastRowNum + 1));//在工作表中新增一行

            ICell cell1 = row.CreateCell(0);
            cell1.SetCellValue("測試資料");//賦值

            fout.Flush();
            workbook.Write(fout);//寫入檔案
            workbook = null;
            fout.Close();