NPOI操作创建Excel

匿名 (未验证) 提交于 2019-12-02 22:06:11

  一、下载NPOI类库

    使用Nuget在线搜索NPOI,下载安装

  二、代码开撸

    

            var workBook = new HSSFWorkbook();              #region 设置样式              IFont font = workBook.CreateFont();             font.FontHeightInPoints = 11;             font.FontName = "宋体";             font.Boldweight = (short)FontBoldWeight.Bold;             font.Color = HSSFColor.White.Index;              HSSFPalette palette = workBook.GetCustomPalette(); //调色板实例             palette.SetColorAtIndex((short)8, (byte)91, (byte)155, (byte)213);//设置表头背景色             palette.SetColorAtIndex((short)16, (byte)221, (byte)235, (byte)247);//设置内容背景色             palette.SetColorAtIndex((short)32, (byte)155, (byte)194, (byte)230);//设置下边框线颜色             palette.SetColorAtIndex((short)48, (byte)212, (byte)212, (byte)212);//设置下边框线颜色             palette.SetColorAtIndex((short)64, (byte)255, (byte)255, (byte)0);//设置黄色                          var cellMidStyle = workBook.CreateCellStyle();             cellMidStyle.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;//设置水平居中             cellMidStyle.VerticalAlignment = NPOI.SS.UserModel.VerticalAlignment.Center;//设置垂直居中             cellMidStyle.FillPattern = FillPattern.SolidForeground;             cellMidStyle.FillForegroundColor = palette.FindColor((byte)221, (byte)235, (byte)247).Indexed;             cellMidStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;             cellMidStyle.BottomBorderColor = palette.FindColor((byte)155, (byte)194, (byte)230).Indexed;             cellMidStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;             cellMidStyle.LeftBorderColor = palette.FindColor((byte)212, (byte)212, (byte)212).Indexed;             cellMidStyle.SetFont(font);             #endregion                           var sheet = workBook.CreateSheet("sheet1");//创建表格             // 第一行存放列名             var row = sheet.CreateRow(0);             for (int i = 0; i < titles.Count; i++)             {                 var cell = row.CreateCell(i);                 cell.SetCellValue(titles[i]);                  int length = Encoding.UTF8.GetBytes(titles[i]).Length;                 sheet.SetColumnWidth(i, length * 256);//设置表格列宽                 cell.CellStyle = cellStyle;//设置单元格样式              }             int rowIndex = 1;              foreach (var record in list)             {                 row = sheet.CreateRow(rowIndex);                 row.CreateCell(0).SetCellValue("单元格1");//给rowIndex行的第1列的单元格赋值                 rowIndex++;             }             // 创建文件             using (FileStream fs = new FileStream(string.Format("{0}/{1}", path, DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"), FileMode.Create))             {                 workBook.Write(fs);             }      

  

文章来源: NPOI操作创建Excel
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!