//創建一個工作簿 XSSFWorkbook workbook = new XSSFWorkbook(); //創建一個頁 ISheet sheet = workbook.CreateSheet("sheet1"); //創建一行 IRow row = sheet.CreateRow(0); //創建一列 ICell cell = row.CreateCell(0);
ICellStyle style = workbook.CreateCellStyle();//創建樣式對象 IFont font = workbook.CreateFont(); //創建一個字體樣式對象 font.FontName = "方正舒體"; //和excel里面的字體對應 font.Color = new HSSFColor.PINK().GetIndex();//顏色參考NPOI的顏色對照表(替換掉PINK()) font.IsItalic = true; //斜體 font.FontHeightInPoints = 16;//字體大小 font.Boldweight = short.MaxValue;//字體加粗 style.SetFont(font); //將字體樣式賦給樣式對象
cell.CellStyle = style; //把樣式賦給單元格
ICellStyle style=workbook.CreateCellStyle(); style.FillForegroundColor = 14; //具體數字代表的顏色看NPOI顏色對照表 style.FillPattern = FillPatternType.SOLID_FOREGROUND;
行高:row.Height = 30 * 20; //行高為30
列寬:sheet.SetColumnWidth(3, 13 * 256) //第4列的列寬為13
單元格合并后,樣式以左上角的單元格為準
//CellRangeAddress四個參數為:起始行,結束行,起始列,結束列
sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 10));
style.Alignment = HorizontalAlignment.CENTER;
不需要寫“=”號
cell.CellFormula = "公式";
//上下左右
styleFont.BorderTop = NPOI.SS.UserModel.BorderStyle.THIN;
styleFont.BorderBottom = NPOI.SS.UserModel.BorderStyle.THIN;
styleFont.BorderLeft = NPOI.SS.UserModel.BorderStyle.THIN;
styleFont.BorderRight = NPOI.SS.UserModel.BorderStyle.THICK;
顏色對照表:
顏色 | 測試 | Class名稱 | short |
Test顏色 | Black | 8 | |
Test顏色 | Brown | 60 | |
Test顏色 | Olive_Green | 59 | |
Test顏色 | Dark_Green | 58 | |
Test顏色 | Dark_Teal | 56 | |
Test顏色 | Dark_Blue | 18 | |
Test顏色 | Indigo | 62 | |
Test顏色 | Grey_80_PERCENT | 63 | |
Test顏色 | Dark_Red | 16 | |
Test顏色 | Orange | 53 | |
Test顏色 | DARK_YELLOW | 19 | |
Test顏色 | Green | 17 | |
Test顏色 | Teal | 21 | |
Test顏色 | Blue | 12 | |
Test顏色 | Blue_Grey | 54 | |
Test顏色 | Grey_50_PERCENT | 23 | |
Test顏色 | Red | 10 | |
Test顏色 | LIGHT_ORANGE | 52 | |
Test顏色 | LIME | 50 | |
Test顏色 | SEA_GREEN | 57 | |
Test顏色 | AQUA | 49 | |
Test顏色 | LIGHT_BLUE | 48 | |
Test顏色 | VIOLET | 20 | |
Test顏色 | GREY_40_PERCENT | 55 | |
Test顏色 | Pink | 14 | |
Test顏色 | Gold | 51 | |
Test顏色 | Yellow | 13 | |
Test顏色 | BRIGHT_GREEN | 11 | |
Test顏色 | TURQUOISE | 15 | |
Test顏色 | SKY_BLUE | 40 | |
Test顏色 | Plum | 61 | |
Test顏色 | GREY_25_PERCENT | 22 | |
Test顏色 | Rose | 45 | |
Test顏色 | Tan | 47 | |
Test顏色 | LIGHT_YELLOW | 43 | |
Test顏色 | LIGHT_GREEN | 42 | |
Test顏色 | LIGHT_TURQUOISE | 41 | |
Test顏色 | PALE_BLUE | 44 | |
Test顏色 | LAVENDER | 46 | |
Test顏色 | White | 9 | |
Test顏色 | CORNFLOWER_BLUE | 24 | |
Test顏色 | LEMON_CHIFFON | 26 | |
Test顏色 | MAROON | 25 | |
Test顏色 | ORCHID | 28 | |
Test顏色 | CORAL | 29 | |
Test顏色 | ROYAL_BLUE | 30 | |
Test顏色 | LIGHT_CORNFLOWER_BLUE | 31 | |
Test顏色 | AUTOMATIC | 64 |
//生成excel文件流下載 using (MemoryStream ms =new MemoryStream()) { workbook.write(ms); string fileName = HttpUtility.UrlEncode("test.xlsx"); Response.AddHeader("content-Disposition", "attachment;filename=" + fileName); //增加這指定長度防止導出的excel有不可讀取內容。 Response.AddHeader("content-Length", ms.ToArray().Length.ToString()); Response.BinaryWrite(ms.ToArray()); Response.End(); }
新聞熱點
疑難解答