MemoryStream ms = new MemoryStream();XSSFWorkbook workbook = new XSSFWorkbook();//创建Workbook对象for (int i = 0; i < li.Count; i++){ISheet sheet = workbook.CreateSheet("sheet"+i);//创建工作表DataTable syscomment = ec.getDtFromSYSCOMMENT("FD", "PURI09", systemInfo.Locale);DataTable tak003 = ec.getDtFromSYSCOMMENT("FD", "PUR-TAK003", systemInfo.Locale);DataRow[] dr = dt.Select("TAL002='" + li[i] + "'", "TAL005,TAL007,TAL004");               ICellStyle style = workbook.CreateCellStyle();style.Alignment = HorizontalAlignment.Center;style.WrapText = true;IFont font = workbook.CreateFont();font.FontHeightInPoints = 16;font.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.Bold;font.FontName = "標楷體";style.SetFont(font);//HEAD 样式IRow row = sheet.CreateRow(0);row.Height = 200 * 5;row.CreateCell(0).SetCellValue(getString(syscomment, "Company") + "\n" + getString(syscomment, "Report"));//设置Head的样式row.GetCell(0).CellStyle = style;MagreRange(sheet, 0, 0, 0, 13);//合并单元格//正式数据              ICellStyle styleCommonLeft= workbook.CreateCellStyle();styleCommonLeft.Alignment = HorizontalAlignment.Left;styleCommonLeft.WrapText = true;IFont fontLeft = workbook.CreateFont();fontLeft.FontHeightInPoints = 10;fontLeft.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.Bold;fontLeft.FontName = "標楷體";styleCommonLeft.SetFont(fontLeft);ICellStyle styleCommonRight = workbook.CreateCellStyle();styleCommonRight.Alignment = HorizontalAlignment.Left;styleCommonRight.VerticalAlignment = VerticalAlignment.Center;styleCommonRight.WrapText = true;IFont fontRight = workbook.CreateFont();fontRight.FontHeightInPoints = 10;fontRight.Boldweight = (short)NPOI.SS.UserModel.FontBoldWeight.Bold;fontRight.FontName = "標楷體";styleCommonRight.SetFont(fontRight);ICellStyle styleBorder = workbook.CreateCellStyle();styleBorder.BorderBottom = NPOI.SS.UserModel.BorderStyle.Double;styleBorder.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;styleBorder.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;styleBorder.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;styleBorder.BottomBorderColor = NPOI.HSSF.Util.HSSFColor.Black.Index;styleBorder.LeftBorderColor = NPOI.HSSF.Util.HSSFColor.Black.Index;styleBorder.RightBorderColor = NPOI.HSSF.Util.HSSFColor.Black.Index;styleBorder.TopBorderColor = NPOI.HSSF.Util.HSSFColor.Black.Index;sheet.DefaultRowHeight = 200 * 2;sheet.SetColumnWidth(0, 7 * 256);sheet.SetColumnWidth(1, 7 * 256);sheet.SetColumnWidth(2, 18 * 256);sheet.SetColumnWidth(4, 18 * 256);IRow row2 = sheet.CreateRow(1);row2.CreateCell(0).SetCellValue(getString(syscomment, "TAL001"));row2.CreateCell(2).SetCellValue(dr[0]["TAL001"].ToString());row2.CreateCell(3).SetCellValue(getString(syscomment, "TAK009"));row2.CreateCell(4).SetCellValue(dr[0]["TAK009"].ToString());row2.CreateCell(5).SetCellValue(getString(syscomment, "TAK008"));row2.CreateCell(6).SetCellValue(dr[0]["TAK008"].ToString());row2.CreateCell(8).SetCellValue(getString(syscomment, "MAC012"));row2.CreateCell(9).SetCellValue(dr[0]["MAC012"].ToString());row2.CreateCell(11).SetCellValue(getString(syscomment, "MAC013"));row2.CreateCell(12).SetCellValue(dr[0]["MAC013"].ToString());row2.GetCell(0).CellStyle = styleCommonLeft;row2.GetCell(2).CellStyle = styleCommonLeft;row2.GetCell(3).CellStyle = styleCommonLeft;row2.GetCell(4).CellStyle = styleCommonLeft;row2.GetCell(5).CellStyle = styleCommonLeft;row2.GetCell(6).CellStyle = styleCommonLeft;row2.GetCell(8).CellStyle = styleCommonLeft;row2.GetCell(9).CellStyle = styleCommonLeft;row2.GetCell(11).CellStyle = styleCommonLeft;row2.GetCell(12).CellStyle = styleCommonLeft;MagreRange(sheet, 1, 1, 0, 1);//合并单元格MagreRange(sheet, 1, 1, 6, 7);MagreRange(sheet, 1, 1, 9, 10);MagreRange(sheet, 1, 1, 12, 13);IRow row3 = sheet.CreateRow(2);row3.CreateCell(0).SetCellValue(getString(syscomment, "TAL005L"));row3.CreateCell(2).SetCellValue(dr[0]["TAL005L"].ToString());row3.CreateCell(3).SetCellValue(getString(syscomment, "TAL006L"));row3.CreateCell(4).SetCellValue(dr[0]["TAL006L"].ToString());row3.CreateCell(8).SetCellValue(getString(syscomment, "TAL007L"));row3.CreateCell(9).SetCellValue(dr[0]["TAL007L"].ToString());row3.CreateCell(11).SetCellValue(getString(syscomment, "TAK009"));row3.CreateCell(12).SetCellValue(dr[0]["TAK003"].ToString());row3.GetCell(0).CellStyle = styleCommonLeft;row3.GetCell(2).CellStyle = styleCommonLeft;row3.GetCell(3).CellStyle = styleCommonLeft;row3.GetCell(4).CellStyle = styleCommonLeft;row3.GetCell(8).CellStyle = styleCommonLeft;row3.GetCell(9).CellStyle = styleCommonLeft;row3.GetCell(11).CellStyle = styleCommonLeft;row3.GetCell(12).CellStyle = styleCommonLeft;MagreRange(sheet, 2, 2, 0, 1);//合并单元格MagreRange(sheet, 2, 2, 4, 7);MagreRange(sheet, 2, 2, 9, 10);MagreRange(sheet, 2, 2, 12, 13);IRow row4 = sheet.CreateRow(3);row4.CreateCell(0).SetCellValue(getString(syscomment, "ITEM"));row4.CreateCell(1).SetCellValue(getString(syscomment, "TAL005"));row4.CreateCell(3).SetCellValue(getString(syscomment, "TAL006"));row4.CreateCell(7).SetCellValue(getString(syscomment, "TAL007"));row4.CreateCell(8).SetCellValue(getString(syscomment, "TAL009"));row4.CreateCell(9).SetCellValue(getString(syscomment, "TAL011"));row4.CreateCell(10).SetCellValue(getString(syscomment, "TAL014"));row4.CreateCell(11).SetCellValue(getString(syscomment, "TAL012"));row4.CreateCell(12).SetCellValue(getString(syscomment, "TAL013"));row4.CreateCell(13).SetCellValue(getString(syscomment, "AMOUNT"));row4.GetCell(0).CellStyle = styleCommonLeft;row4.GetCell(1).CellStyle = styleCommonLeft;row4.GetCell(3).CellStyle = styleCommonLeft;row4.GetCell(7).CellStyle = styleCommonLeft;row4.GetCell(8).CellStyle = styleCommonLeft;row4.GetCell(9).CellStyle = styleCommonLeft;row4.GetCell(10).CellStyle = styleCommonLeft;row4.GetCell(11).CellStyle = styleCommonLeft;row4.GetCell(12).CellStyle = styleCommonLeft;row4.GetCell(13).CellStyle = styleCommonLeft;MagreRange(sheet, 3, 3, 1, 2);//合并单元格MagreRange(sheet, 3, 3, 3, 6);for (int k = 0; k < dr.GetLength(0); k++){IRow rowk = sheet.CreateRow(4 + k);rowk.CreateCell(0).SetCellValue((k + 1).ToString());rowk.CreateCell(1).SetCellValue(dr[k]["TAL005"].ToString());rowk.CreateCell(3).SetCellValue(dr[k]["TAL006"].ToString());rowk.CreateCell(7).SetCellValue(dr[k]["TAL007"].ToString());rowk.CreateCell(8).SetCellValue(dr[k]["TAL009"].ToString());rowk.CreateCell(9).SetCellValue(dr[k]["TAL011"].ToString());rowk.CreateCell(10).SetCellValue(dr[k]["TAL014"].ToString());rowk.CreateCell(11).SetCellValue(dr[k]["TAL012"].ToString());rowk.CreateCell(12).SetCellValue(dr[k]["TAL013"].ToString());rowk.CreateCell(13).SetCellValue(dr[k]["AMOUNT"].ToString());rowk.GetCell(0).CellStyle = styleCommonLeft;rowk.GetCell(1).CellStyle = styleCommonLeft;rowk.GetCell(3).CellStyle = styleCommonLeft;rowk.GetCell(7).CellStyle = styleCommonLeft;rowk.GetCell(8).CellStyle = styleCommonLeft;rowk.GetCell(9).CellStyle = styleCommonLeft;rowk.GetCell(10).CellStyle = styleCommonLeft;rowk.GetCell(11).CellStyle = styleCommonLeft;rowk.GetCell(12).CellStyle = styleCommonLeft;rowk.GetCell(13).CellStyle = styleCommonLeft;MagreRange(sheet, 4 + k, 4 + k, 1, 2);//合并单元格MagreRange(sheet, 4 + k, 4 + k, 3, 6);}int index = 4 + dr.GetLength(0);double s = 0;try{s = Convert.ToDouble(dt.Compute("sum(MAC013)", "TAL002='" + li[i] + "'"));}catch (Exception ex){}IRow rowindex1 = sheet.CreateRow(index);rowindex1.CreateCell(11).SetCellValue(getString(syscomment, "TOTAL"));rowindex1.CreateCell(12).SetCellValue(s);rowindex1.GetCell(11).CellStyle = styleCommonLeft;rowindex1.GetCell(12).CellStyle = styleCommonLeft;MagreRange(sheet, index, index, 0, 10);MagreRange(sheet, index, index, 12, 13);string tempPUR0050 = string.Join("。\n", ec.getGlobalValue("PUR-0050").Split('。'));IRow rowindex2 = sheet.CreateRow(index + 1);rowindex2.CreateCell(0).SetCellValue(getString(syscomment, "TEXT1"));rowindex2.CreateCell(2).SetCellValue(tempPUR0050);rowindex2.GetCell(0).CellStyle = styleCommonRight;rowindex2.GetCell(2).CellStyle = styleCommonLeft;rowindex2.Height = 200 * 19;MagreRange(sheet, index + 1, index + 1, 0, 1);MagreRange(sheet, index + 1, index + 1, 2, 13);IRow rowindex3 = sheet.CreateRow(index + 2);rowindex3.CreateCell(0).SetCellValue(getString(syscomment, "TEXT3"));rowindex3.CreateCell(4).SetCellValue(getString(syscomment, "TEXT4"));rowindex3.CreateCell(7).SetCellValue(getString(syscomment, "TEXT5"));rowindex3.GetCell(0).CellStyle = styleCommonLeft;rowindex3.GetCell(4).CellStyle = styleCommonLeft;rowindex3.GetCell(7).CellStyle = styleCommonLeft;MagreRange(sheet, index + 2, index + 2, 0, 1);MagreRange(sheet, index + 2, index + 2, 2, 3);MagreRange(sheet, index + 2, index + 2, 5, 6);MagreRange(sheet, index + 2, index + 2, 7, 8);MagreRange(sheet, index + 2, index + 2, 9, 13);}workbook.Write(ms);ms.Flush();workbook = null;/// <summary>   /// 由DataSet导出Excel/// </summary>   /// <param name="sourceTable">要导出数据的DataTable</param>  /// <param name="fileName">指定Excel工作表名称</param> /// <returns>Excel工作表</returns> public void ExportDataSetToExcel(string fileName){MemoryStream ms = exportExcel() as MemoryStream;HttpContext.Current.Response.ContentEncoding = Encoding.UTF8;HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName, Encoding.UTF8));HttpContext.Current.Response.BinaryWrite(ms.ToArray());HttpContext.Current.Response.End();ms.Close();ms.Dispose();ms = null;}

喜欢博主的可以点击关注加一键三连,各种ASP.NET系统的源码已上传到主页资源中,欢迎下载

使用NPOI 导出EXCEL,设置样式,字体等详细代码方法教程相关推荐

  1. NPOI导出excel设置打印为A4纸张

    NPOI导出excel设置打印为A4纸张: Sheet sheet1 = hssfworkbook.CreateSheet("表(横版)");                 sh ...

  2. jeecg导出excel设置样式XLS(03)与XLSX(07)

    jeecg版本依赖 <modelVersion>4.0.0</modelVersion><groupId>org.jeecgframework.boot</g ...

  3. PIO导出Excel 设置样式

    文章标题 简单方法代码 简单方法代码 /**** @param workbook 工作薄* @param horizontalAlignment 单元格水平对齐方式* @param fontSize ...

  4. C#使用NPOI导出excel设置单元格背景颜色

    ICellStyle cellStyle = workbook.CreateCellStyle(); cellStyle.FillPattern = FillPattern.SolidForegrou ...

  5. C#NPOI导出Excel详解

    C#NPOI导出Excel详解 开发工具与技术:工具:Visual Studio/C#.Net,技术:C# 作者:刘胜 撰写时间:2019-05-08 NPOI简介 NOP是一个开源的C#读写Exce ...

  6. easypoi导出excel不设置样式_EasyPOI 导出excel设置边框,背景颜色,字体样式

    EasyPOI 导出excel设置边框,背景颜色,字体样式 EasyPOI 导出代码示例ExportParams exportParams = new ExportParams(); exportPa ...

  7. POI封装工具easyexcel导出EXCEL表样式设置

    POI封装工具easyexcel导出EXCEL表样式设置 java中对Office操作比较好的工具是POI,但POI在导出数据量较大的情况下很容易因内存占用过大,而出错,阿里巴巴推出的easyexce ...

  8. NPOI导出EXCEL 打印设置分页及打印标题

    在用NPOI导出EXCEL的时候设置分页,在网上有查到用sheet1.SetRowBreak(i)方法,但一直都没有起到作用.经过研究是要设置  sheet1.FitToPage = false; 而 ...

  9. java poi设置单元格格式为数值_java中导出excel设置单元格的样式为数字格式怎么设置_Java代码实现设置单元格格式...

    java中导出excel设置单元格的样式为数字格式怎么设置 如果是使用poi,它会自动根据参数值设置单元格为恰当格式,只需传入数字类型参数值即可,比如 double value=....; cell. ...

最新文章

  1. AFei Loves Magic
  2. java实验二答案天津商业大学_天津商业大学信息安全实验一
  3. 【AI视野·今日NLP 自然语言处理论文速览 第二十八期】Wed, 1 Dec 2021
  4. hadoop 实现数据排序
  5. linux 好用的命令行软件,比较好用的linux命令
  6. LINQ to SQL VS LINQ to Entities
  7. sql运算符_SQL LIKE运算符概述
  8. MongoDB 的分片技术
  9. git log用法【转】
  10. Git(6)-- 记录每次更新到仓库图文版(git clone、status、add、diff、commit、rm、mv命令详解)
  11. ppt在服务器上打开要修复,打开ppt提示需要修复怎么办-处理ppt总是提示需要修复的方法 - 河东软件园...
  12. bzoj3123【SDOI2013】森林
  13. 手把手教你扩展个人微信号(2)
  14. 利用python进行平行束FBP重建结果
  15. 【test】2015.7.31测试解题报告(一)
  16. 人人皆可操作的108个抖音项目:汽车领域细分及玩法变现 (7)
  17. Got a packet bigger than 'max_allowed_packet' bytes 问题的解决方法
  18. 机械革命黑苹果改造计划第四番-外接显示器、win时间不正确问题解决
  19. HOOK拦截消息代码
  20. 微信会员php源码,美容院SPA会员管理系统(含微信端) v2.0

热门文章

  1. 阿里云服务器购买流程(新手入门教程)
  2. idea卡顿且报错:UI was frozen for xxxxx ms问题解决
  3. error LNK2019: 无法解析的外部符号 public: void __thiscall
  4. C语言训练:输入年份,月份,输出月份的天数(switch,if实现)。
  5. 北斗 定位开发实验箱平台
  6. 【Facebook招聘笔试】查找相同URL
  7. 盏茶python 资料推荐
  8. 【转】突破区块链不可能三角:异步共识组 [Monoxide]
  9. 用Python写了一个疫苗信息管理系统
  10. Android项目:手机安全卫士(12)—— 通讯卫士之电话短信黑名单设置与拦截