NopReport动态生成Word表格的技术实现动态生成Word表格是企业应用中常见的需求例如合同模板、报表导出等场景。NopReport是一个基于Excel模板的报表引擎通过集成NopReport可以高效实现Word表格的动态生成。以下介绍具体实现方法。环境准备确保项目中已引入NopReport核心依赖。Maven项目中添加以下依赖dependency groupIdio.github.youseries/groupId artifactIdnop-report-core/artifactId version2.0.0/version /dependency同时引入Apache POI用于Word操作dependency groupIdorg.apache.poi/groupId artifactIdpoi/artifactId version5.2.3/version /dependency dependency groupIdorg.apache.poi/groupId artifactIdpoi-ooxml/artifactId version5.2.3/version /dependency模板设计阶段创建Excel模板文件template.xlsx定义表格结构和动态字段。例如员工信息表的模板中A1单元格填写静态标题员工信息表B2单元格设置为动态字段ds.nameC2单元格设置为动态字段ds.age动态字段遵循NopReport的表达式语法支持条件判断、循环等复杂逻辑。数据准备与绑定创建Java实体类Employee作为数据源public class Employee { private String name; private int age; // 省略getter/setter }构建报表数据上下文ListEmployee employees Arrays.asList( new Employee(张三, 25), new Employee(李四, 30) ); ReportDataSet dataSet new ReportDataSet(ds, employees); ReportData reportData new ReportData(); reportData.addDataSet(dataSet);报表引擎执行加载模板并执行报表渲染InputStream templateInput getClass().getResourceAsStream(/template.xlsx); IReportEngine engine new NopReportEngine(); Workbook workbook engine.run(templateInput, reportData);此时workbook对象已包含渲染后的Excel数据需转换为Word格式。Excel转Word处理通过POI将Excel表格迁移到Word文档XWPFDocument doc new XWPFDocument(); Sheet sheet workbook.getSheetAt(0); // 创建Word表格行列数与Excel相同 XWPFTable table doc.createTable(sheet.getLastRowNum()1, sheet.getRow(0).getLastCellNum()); // 复制单元格内容 for(int i0; isheet.getLastRowNum(); i){ Row row sheet.getRow(i); if(row ! null){ XWPFTableRow wordRow table.getRow(i); for(int j0; jrow.getLastCellNum(); j){ Cell cell row.getCell(j); if(cell ! null){ wordRow.getCell(j).setText(cell.toString()); } } } } // 保存Word文件 FileOutputStream out new FileOutputStream(output.docx); doc.write(out); out.close();样式优化处理Word表格的样式可通过XWPFTable对象进行调整// 设置表格宽度 table.setWidth(100%); // 设置边框样式 CTTblPr tblPr table.getCTTbl().getTblPr(); CTBorder border tblPr.addNewTblBorders(); border.addNewBottom().setVal(STBorder.Enum.forString(single)); border.addNewTop().setVal(STBorder.Enum.forString(single)); border.addNewLeft().setVal(STBorder.Enum.forString(single)); border.addNewRight().setVal(STBorder.Enum.forString(single)); // 设置单元格对齐 for(XWPFTableRow row : table.getRows()){ for(XWPFTableCell cell : row.getTableCells()){ cell.setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); } }动态表格扩展处理当数据量不固定时需动态调整Word表格行数。修改转换逻辑// 删除模板中的示例行 table.removeRow(1); // 动态添加数据行 for(Employee emp : employees){ XWPFTableRow newRow table.createRow(); newRow.getCell(0).setText(emp.getName()); newRow.getCell(1).setText(String.valueOf(emp.getAge())); }复杂表格结构处理对于包含合并单元格的复杂表格需特殊处理// 添加水平合并 table.getRow(0).getCell(0).setText(员工信息); table.addColSpan(0, 0, 2); // 添加垂直合并 table.getRow(1).getCell(0).setText(基本信息); table.addRowSpan(1, 0, 2);批量导出优化当需要批量生成多个表格时建议使用模板方法public void generateTable(XWPFDocument doc, List? data, String[] headers) { XWPFTable table doc.createTable(data.size()1, headers.length); // 添加表头 XWPFTableRow headerRow table.getRow(0); for(int i0; iheaders.length; i){ headerRow.getCell(i).setText(headers[i]); } // 填充数据 for(int i0; idata.size(); i){ XWPFTableRow row table.getRow(i1); Object item data.get(i); // 反射填充数据... } }异常处理与日志添加必要的异常处理机制try { // 报表生成逻辑 } catch (InvalidTemplateException e) { logger.error(模板格式错误, e); } catch (ReportRenderException e) { logger.error(报表渲染失败, e); } catch (IOException e) { logger.error(文件操作异常, e); }性能优化建议对大数据量采用分页处理预编译报表模板使用缓存机制存储常用模板异步生成机制通过上述方法可以高效实现基于NopReport的Word表格动态生成。该方案结合了Excel模板 理想是心灵的目标始终朝着方向前行无论遇到多少挑战都会在坚持中开花结果。生活就像一首曲子每一个音符都是独特的体验学会欣赏每一次演奏才能获得真正的快乐。在追梦路上有时会感到疲惫但只要心中依然有光就能在黑暗中找到前行的方向。每一天都是新的篇章期待新的变化为自己的生活书写独特而精彩的故事与经历。平凡的日子里总会有一些小确幸等待着我们去发现只要心中有爱生活就会因此变得丰富多彩。share.kalwnnm.cn/Article/500754.htmlshare.bntgtoh.cn/Article/335747.htmlshare.eipqxjk.cn/Article/990920.htmlshare.dyidfdk.cn/Article/629295.htmlshare.iogjfis.cn/Article/005247.htmlshare.zrqmxke.cn/Article/080909.htmlshare.eeekjlp.cn/Article/588439.htmlshare.dmpoyyz.cn/Article/992706.htmlshare.kzirmbq.cn/Article/408806.htmlshare.zgyiugo.cn/Article/576411.htmlshare.kalwnnm.cn/Article/707402.htmlshare.bntgtoh.cn/Article/989756.htmlshare.eipqxjk.cn/Article/462063.htmlshare.dyidfdk.cn/Article/215578.htmlshare.iogjfis.cn/Article/654134.htmlshare.zrqmxke.cn/Article/987328.htmlshare.eeekjlp.cn/Article/643388.htmlshare.dmpoyyz.cn/Article/520596.htmlshare.kzirmbq.cn/Article/663824.htmlshare.zgyiugo.cn/Article/863532.htmlshare.kalwnnm.cn/Article/384303.htmlshare.bntgtoh.cn/Article/766924.htmlshare.eipqxjk.cn/Article/232314.htmlshare.dyidfdk.cn/Article/916844.htmlshare.iogjfis.cn/Article/961725.htmlshare.zrqmxke.cn/Article/148298.htmlshare.eeekjlp.cn/Article/837684.htmlshare.dmpoyyz.cn/Article/813571.htmlshare.kzirmbq.cn/Article/053584.htmlshare.zgyiugo.cn/Article/918447.htmlshare.kalwnnm.cn/Article/850997.htmlshare.bntgtoh.cn/Article/299280.htmlshare.eipqxjk.cn/Article/255636.htmlshare.dyidfdk.cn/Article/763968.htmlshare.iogjfis.cn/Article/354427.htmlshare.zrqmxke.cn/Article/096631.htmlshare.eeekjlp.cn/Article/146932.htmlshare.dmpoyyz.cn/Article/395015.htmlshare.kzirmbq.cn/Article/390270.htmlshare.zgyiugo.cn/Article/783190.htmlshare.kalwnnm.cn/Article/148597.htmlshare.bntgtoh.cn/Article/928823.htmlshare.eipqxjk.cn/Article/531570.htmlshare.dyidfdk.cn/Article/857671.htmlshare.iogjfis.cn/Article/292124.htmlshare.zrqmxke.cn/Article/313414.htmlshare.eeekjlp.cn/Article/426706.htmlshare.dmpoyyz.cn/Article/834428.htmlshare.kzirmbq.cn/Article/086872.htmlshare.zgyiugo.cn/Article/106350.htmlshare.kalwnnm.cn/Article/024099.htmlshare.bntgtoh.cn/Article/348095.htmlshare.eipqxjk.cn/Article/204623.htmlshare.dyidfdk.cn/Article/183659.htmlshare.iogjfis.cn/Article/688385.htmlshare.zrqmxke.cn/Article/372366.htmlshare.eeekjlp.cn/Article/664827.htmlshare.dmpoyyz.cn/Article/342698.htmlshare.kzirmbq.cn/Article/513936.htmlshare.zgyiugo.cn/Article/265101.htmlshare.kalwnnm.cn/Article/603518.htmlshare.bntgtoh.cn/Article/388220.htmlshare.eipqxjk.cn/Article/366306.htmlshare.dyidfdk.cn/Article/152588.htmlshare.iogjfis.cn/Article/698220.htmlshare.zrqmxke.cn/Article/242399.htmlshare.eeekjlp.cn/Article/186150.htmlshare.dmpoyyz.cn/Article/901116.htmlshare.kzirmbq.cn/Article/274756.htmlshare.zgyiugo.cn/Article/940397.htmlshare.kalwnnm.cn/Article/762537.htmlshare.bntgtoh.cn/Article/294259.htmlshare.eipqxjk.cn/Article/155687.htmlshare.dyidfdk.cn/Article/073928.htmlshare.iogjfis.cn/Article/499587.htmlshare.zrqmxke.cn/Article/245044.htmlshare.eeekjlp.cn/Article/139164.htmlshare.dmpoyyz.cn/Article/292262.htmlshare.kzirmbq.cn/Article/331484.htmlshare.zgyiugo.cn/Article/864362.htmlshare.kalwnnm.cn/Article/278340.htmlshare.bntgtoh.cn/Article/628324.htmlshare.eipqxjk.cn/Article/293938.htmlshare.dyidfdk.cn/Article/496063.htmlshare.iogjfis.cn/Article/424933.htmlshare.zrqmxke.cn/Article/212395.htmlshare.eeekjlp.cn/Article/435714.htmlshare.dmpoyyz.cn/Article/267615.htmlshare.kzirmbq.cn/Article/713691.htmlshare.zgyiugo.cn/Article/476352.htmlshare.kalwnnm.cn/Article/878416.htmlshare.bntgtoh.cn/Article/085032.htmlshare.eipqxjk.cn/Article/504030.htmlshare.dyidfdk.cn/Article/514229.htmlshare.iogjfis.cn/Article/321216.htmlshare.zrqmxke.cn/Article/819233.htmlshare.eeekjlp.cn/Article/151760.htmlshare.dmpoyyz.cn/Article/138588.htmlshare.kzirmbq.cn/Article/202988.htmlshare.zgyiugo.cn/Article/874277.htmlshare.kalwnnm.cn/Article/499525.htmlshare.bntgtoh.cn/Article/248052.htmlshare.eipqxjk.cn/Article/062748.htmlshare.dyidfdk.cn/Article/074883.htmlshare.iogjfis.cn/Article/428459.htmlshare.zrqmxke.cn/Article/314579.htmlshare.eeekjlp.cn/Article/672515.htmlshare.dmpoyyz.cn/Article/398522.htmlshare.kzirmbq.cn/Article/761169.htmlshare.zgyiugo.cn/Article/552746.htmlshare.kalwnnm.cn/Article/060467.htmlshare.bntgtoh.cn/Article/979134.htmlshare.eipqxjk.cn/Article/833296.htmlshare.dyidfdk.cn/Article/645320.htmlshare.iogjfis.cn/Article/856982.htmlshare.zrqmxke.cn/Article/691380.htmlshare.eeekjlp.cn/Article/021934.htmlshare.dmpoyyz.cn/Article/568485.htmlshare.kzirmbq.cn/Article/877722.htmlshare.zgyiugo.cn/Article/404288.htmlshare.kalwnnm.cn/Article/507131.htmlshare.bntgtoh.cn/Article/412960.htmlshare.eipqxjk.cn/Article/577597.htmlshare.dyidfdk.cn/Article/786371.htmlshare.iogjfis.cn/Article/299815.htmlshare.zrqmxke.cn/Article/947885.htmlshare.eeekjlp.cn/Article/473719.htmlshare.dmpoyyz.cn/Article/517720.htmlshare.kzirmbq.cn/Article/516140.htmlshare.zgyiugo.cn/Article/300648.htmlshare.kalwnnm.cn/Article/812905.htmlshare.bntgtoh.cn/Article/816979.htmlshare.eipqxjk.cn/Article/458852.htmlshare.dyidfdk.cn/Article/649769.htmlshare.iogjfis.cn/Article/342254.htmlshare.zrqmxke.cn/Article/431307.htmlshare.eeekjlp.cn/Article/917222.htmlshare.dmpoyyz.cn/Article/704606.htmlshare.kzirmbq.cn/Article/478578.htmlshare.zgyiugo.cn/Article/621602.htmlshare.kalwnnm.cn/Article/641982.htmlshare.bntgtoh.cn/Article/327153.htmlshare.eipqxjk.cn/Article/421856.htmlshare.dyidfdk.cn/Article/872091.htmlshare.iogjfis.cn/Article/530281.htmlshare.zrqmxke.cn/Article/683385.htmlshare.eeekjlp.cn/Article/160040.htmlshare.dmpoyyz.cn/Article/082468.htmlshare.kzirmbq.cn/Article/980303.htmlshare.zgyiugo.cn/Article/318747.htmlshare.kalwnnm.cn/Article/983246.htmlshare.bntgtoh.cn/Article/174149.htmlshare.eipqxjk.cn/Article/030954.htmlshare.dyidfdk.cn/Article/386802.htmlshare.iogjfis.cn/Article/037644.htmlshare.zrqmxke.cn/Article/157274.htmlshare.eeekjlp.cn/Article/051772.htmlshare.dmpoyyz.cn/Article/107554.htmlshare.kzirmbq.cn/Article/096048.htmlshare.zgyiugo.cn/Article/586740.htmlshare.kalwnnm.cn/Article/550879.htmlshare.bntgtoh.cn/Article/400878.htmlshare.eipqxjk.cn/Article/450379.htmlshare.dyidfdk.cn/Article/933844.htmlshare.iogjfis.cn/Article/772951.htmlshare.zrqmxke.cn/Article/064784.htmlshare.eeekjlp.cn/Article/177092.htmlshare.dmpoyyz.cn/Article/597120.htmlshare.kzirmbq.cn/Article/948906.htmlshare.zgyiugo.cn/Article/623803.htmlshare.kalwnnm.cn/Article/327227.htmlshare.bntgtoh.cn/Article/139896.htmlshare.eipqxjk.cn/Article/231227.htmlshare.dyidfdk.cn/Article/360447.htmlshare.iogjfis.cn/Article/384339.htmlshare.zrqmxke.cn/Article/531404.htmlshare.eeekjlp.cn/Article/981415.htmlshare.dmpoyyz.cn/Article/724408.htmlshare.kzirmbq.cn/Article/507988.htmlshare.zgyiugo.cn/Article/614829.htmlshare.kalwnnm.cn/Article/885932.htmlshare.bntgtoh.cn/Article/223147.htmlshare.eipqxjk.cn/Article/599948.htmlshare.dyidfdk.cn/Article/071395.htmlshare.iogjfis.cn/Article/971039.htmlshare.zrqmxke.cn/Article/292688.htmlshare.eeekjlp.cn/Article/186421.htmlshare.dmpoyyz.cn/Article/575977.htmlshare.kzirmbq.cn/Article/569776.htmlshare.zgyiugo.cn/Article/824684.htmlshare.kalwnnm.cn/Article/033257.htmlshare.bntgtoh.cn/Article/630598.htmlshare.eipqxjk.cn/Article/480714.htmlshare.dyidfdk.cn/Article/908172.htmlshare.iogjfis.cn/Article/781994.htmlshare.zrqmxke.cn/Article/395270.htmlshare.eeekjlp.cn/Article/863020.htmlshare.dmpoyyz.cn/Article/715753.htmlshare.kzirmbq.cn/Article/649093.htmlshare.zgyiugo.cn/Article/329542.htmlshare.kalwnnm.cn/Article/464145.htmlshare.bntgtoh.cn/Article/457013.htmlshare.eipqxjk.cn/Article/388576.htmlshare.dyidfdk.cn/Article/477597.htmlshare.iogjfis.cn/Article/412708.htmlshare.zrqmxke.cn/Article/336182.htmlshare.eeekjlp.cn/Article/711120.htmlshare.dmpoyyz.cn/Article/656659.htmlshare.kzirmbq.cn/Article/814224.htmlshare.zgyiugo.cn/Article/555325.htmlshare.kalwnnm.cn/Article/690758.htmlshare.bntgtoh.cn/Article/083104.htmlshare.eipqxjk.cn/Article/636374.htmlshare.dyidfdk.cn/Article/700173.htmlshare.iogjfis.cn/Article/757458.htmlshare.zrqmxke.cn/Article/305790.htmlshare.eeekjlp.cn/Article/365650.htmlshare.dmpoyyz.cn/Article/007859.htmlshare.kzirmbq.cn/Article/030295.htmlshare.zgyiugo.cn/Article/321513.htmlshare.kalwnnm.cn/Article/829563.htmlshare.bntgtoh.cn/Article/229552.htmlshare.eipqxjk.cn/Article/164938.htmlshare.dyidfdk.cn/Article/162751.htmlshare.iogjfis.cn/Article/812247.htmlshare.zrqmxke.cn/Article/458028.htmlshare.eeekjlp.cn/Article/535106.htmlshare.dmpoyyz.cn/Article/251362.htmlshare.kzirmbq.cn/Article/138478.htmlshare.zgyiugo.cn/Article/154139.htmlshare.kalwnnm.cn/Article/805207.htmlshare.bntgtoh.cn/Article/340661.htmlshare.eipqxjk.cn/Article/202288.htmlshare.dyidfdk.cn/Article/975017.htmlshare.iogjfis.cn/Article/294416.htmlshare.zrqmxke.cn/Article/598155.htmlshare.eeekjlp.cn/Article/763428.htmlshare.dmpoyyz.cn/Article/113819.htmlshare.kzirmbq.cn/Article/430288.htmlshare.zgyiugo.cn/Article/770711.htmlshare.kalwnnm.cn/Article/963408.htmlshare.bntgtoh.cn/Article/043057.htmlshare.eipqxjk.cn/Article/146037.htmlshare.dyidfdk.cn/Article/367149.htmlshare.iogjfis.cn/Article/064462.htmlshare.zrqmxke.cn/Article/959870.htmlshare.eeekjlp.cn/Article/400983.htmlshare.dmpoyyz.cn/Article/840052.htmlshare.kzirmbq.cn/Article/660613.htmlshare.zgyiugo.cn/Article/961112.htmlshare.kalwnnm.cn/Article/866658.htmlshare.bntgtoh.cn/Article/339742.htmlshare.eipqxjk.cn/Article/340179.htmlshare.dyidfdk.cn/Article/663486.htmlshare.iogjfis.cn/Article/723104.htmlshare.zrqmxke.cn/Article/939023.htmlshare.eeekjlp.cn/Article/560276.htmlshare.dmpoyyz.cn/Article/546431.htmlshare.kzirmbq.cn/Article/428853.htmlshare.zgyiugo.cn/Article/780514.htmlshare.kalwnnm.cn/Article/168602.htmlshare.bntgtoh.cn/Article/004575.htmlshare.eipqxjk.cn/Article/372510.htmlshare.dyidfdk.cn/Article/598422.htmlshare.iogjfis.cn/Article/602326.htmlshare.zrqmxke.cn/Article/842437.htmlshare.eeekjlp.cn/Article/957342.htmlshare.dmpoyyz.cn/Article/893132.htmlshare.kzirmbq.cn/Article/811752.htmlshare.zgyiugo.cn/Article/608049.htmlshare.kalwnnm.cn/Article/561785.htmlshare.bntgtoh.cn/Article/434124.htmlshare.eipqxjk.cn/Article/972939.htmlshare.dyidfdk.cn/Article/000642.htmlshare.iogjfis.cn/Article/705644.htmlshare.zrqmxke.cn/Article/421924.htmlshare.eeekjlp.cn/Article/690724.htmlshare.dmpoyyz.cn/Article/630647.htmlshare.kzirmbq.cn/Article/009760.htmlshare.zgyiugo.cn/Article/765325.htmlshare.kalwnnm.cn/Article/870077.htmlshare.bntgtoh.cn/Article/544929.htmlshare.eipqxjk.cn/Article/511738.htmlshare.dyidfdk.cn/Article/250152.htmlshare.iogjfis.cn/Article/286341.htmlshare.zrqmxke.cn/Article/734887.htmlshare.eeekjlp.cn/Article/676102.htmlshare.dmpoyyz.cn/Article/257718.htmlshare.kzirmbq.cn/Article/973162.htmlshare.zgyiugo.cn/Article/380515.htmlshare.kalwnnm.cn/Article/111950.htmlshare.bntgtoh.cn/Article/112439.htmlshare.eipqxjk.cn/Article/277850.htmlshare.dyidfdk.cn/Article/956227.htmlshare.iogjfis.cn/Article/242623.htmlshare.zrqmxke.cn/Article/311188.htmlshare.eeekjlp.cn/Article/782490.htmlshare.dmpoyyz.cn/Article/258545.htmlshare.kzirmbq.cn/Article/844540.htmlshare.zgyiugo.cn/Article/520097.htmlshare.kalwnnm.cn/Article/179552.htmlshare.bntgtoh.cn/Article/542508.htmlshare.eipqxjk.cn/Article/554230.htmlshare.dyidfdk.cn/Article/569060.htmlshare.iogjfis.cn/Article/229519.htmlshare.zrqmxke.cn/Article/692888.htmlshare.eeekjlp.cn/Article/631477.htmlshare.dmpoyyz.cn/Article/362624.htmlshare.kzirmbq.cn/Article/296084.htmlshare.zgyiugo.cn/Article/022378.htmlshare.kalwnnm.cn/Article/953173.htmlshare.bntgtoh.cn/Article/637105.htmlshare.eipqxjk.cn/Article/593070.htmlshare.dyidfdk.cn/Article/169609.htmlshare.iogjfis.cn/Article/111128.htmlshare.zrqmxke.cn/Article/988247.htmlshare.eeekjlp.cn/Article/479837.htmlshare.dmpoyyz.cn/Article/726080.htmlshare.kzirmbq.cn/Article/599468.htmlshare.zgyiugo.cn/Article/036495.htmlshare.kalwnnm.cn/Article/567194.htmlshare.bntgtoh.cn/Article/713558.htmlshare.eipqxjk.cn/Article/459023.htmlshare.dyidfdk.cn/Article/404818.htmlshare.iogjfis.cn/Article/179098.htmlshare.zrqmxke.cn/Article/791967.htmlshare.eeekjlp.cn/Article/851326.htmlshare.dmpoyyz.cn/Article/800883.htmlshare.kzirmbq.cn/Article/113409.htmlshare.zgyiugo.cn/Article/367406.htmlshare.kalwnnm.cn/Article/668120.htmlshare.bntgtoh.cn/Article/121235.htmlshare.eipqxjk.cn/Article/686997.htmlshare.dyidfdk.cn/Article/789770.htmlshare.iogjfis.cn/Article/842214.htmlshare.zrqmxke.cn/Article/353728.htmlshare.eeekjlp.cn/Article/747579.htmlshare.dmpoyyz.cn/Article/358614.htmlshare.kzirmbq.cn/Article/892336.htmlshare.zgyiugo.cn/Article/628518.htmlshare.kalwnnm.cn/Article/520186.htmlshare.bntgtoh.cn/Article/563832.htmlshare.eipqxjk.cn/Article/895762.htmlshare.dyidfdk.cn/Article/772168.htmlshare.iogjfis.cn/Article/046562.htmlshare.zrqmxke.cn/Article/681321.htmlshare.eeekjlp.cn/Article/196465.htmlshare.dmpoyyz.cn/Article/741399.htmlshare.kzirmbq.cn/Article/660792.htmlshare.zgyiugo.cn/Article/698621.htmlshare.kalwnnm.cn/Article/920191.htmlshare.bntgtoh.cn/Article/815566.htmlshare.eipqxjk.cn/Article/663100.htmlshare.dyidfdk.cn/Article/845716.htmlshare.iogjfis.cn/Article/952639.htmlshare.zrqmxke.cn/Article/727531.htmlshare.eeekjlp.cn/Article/076035.htmlshare.dmpoyyz.cn/Article/009800.htmlshare.kzirmbq.cn/Article/550690.htmlshare.zgyiugo.cn/Article/544997.htmlshare.kalwnnm.cn/Article/400278.htmlshare.bntgtoh.cn/Article/478799.htmlshare.eipqxjk.cn/Article/223151.htmlshare.dyidfdk.cn/Article/715154.htmlshare.iogjfis.cn/Article/431163.htmlshare.zrqmxke.cn/Article/701615.htmlshare.eeekjlp.cn/Article/962454.htmlshare.dmpoyyz.cn/Article/420751.htmlshare.kzirmbq.cn/Article/084243.htmlshare.zgyiugo.cn/Article/617619.htmlshare.kalwnnm.cn/Article/251926.htmlshare.bntgtoh.cn/Article/431352.htmlshare.eipqxjk.cn/Article/285757.htmlshare.dyidfdk.cn/Article/854582.htmlshare.iogjfis.cn/Article/948104.htmlshare.zrqmxke.cn/Article/989489.htmlshare.eeekjlp.cn/Article/456649.htmlshare.dmpoyyz.cn/Article/272877.htmlshare.kzirmbq.cn/Article/059972.htmlshare.zgyiugo.cn/Article/400372.htmlshare.kalwnnm.cn/Article/694451.htmlshare.bntgtoh.cn/Article/749664.htmlshare.eipqxjk.cn/Article/428291.htmlshare.dyidfdk.cn/Article/190756.htmlshare.iogjfis.cn/Article/784412.htmlshare.zrqmxke.cn/Article/037235.htmlshare.eeekjlp.cn/Article/676052.htmlshare.dmpoyyz.cn/Article/397614.htmlshare.kzirmbq.cn/Article/773122.htmlshare.zgyiugo.cn/Article/406821.htmlshare.kalwnnm.cn/Article/187399.htmlshare.bntgtoh.cn/Article/021357.htmlshare.eipqxjk.cn/Article/396262.htmlshare.dyidfdk.cn/Article/039548.htmlshare.iogjfis.cn/Article/945933.htmlshare.zrqmxke.cn/Article/510470.htmlshare.eeekjlp.cn/Article/342182.htmlshare.dmpoyyz.cn/Article/832413.htmlshare.kzirmbq.cn/Article/844299.htmlshare.zgyiugo.cn/Article/726812.html
NopReport实战:动态生成Word表格
NopReport动态生成Word表格的技术实现动态生成Word表格是企业应用中常见的需求例如合同模板、报表导出等场景。NopReport是一个基于Excel模板的报表引擎通过集成NopReport可以高效实现Word表格的动态生成。以下介绍具体实现方法。环境准备确保项目中已引入NopReport核心依赖。Maven项目中添加以下依赖dependency groupIdio.github.youseries/groupId artifactIdnop-report-core/artifactId version2.0.0/version /dependency同时引入Apache POI用于Word操作dependency groupIdorg.apache.poi/groupId artifactIdpoi/artifactId version5.2.3/version /dependency dependency groupIdorg.apache.poi/groupId artifactIdpoi-ooxml/artifactId version5.2.3/version /dependency模板设计阶段创建Excel模板文件template.xlsx定义表格结构和动态字段。例如员工信息表的模板中A1单元格填写静态标题员工信息表B2单元格设置为动态字段ds.nameC2单元格设置为动态字段ds.age动态字段遵循NopReport的表达式语法支持条件判断、循环等复杂逻辑。数据准备与绑定创建Java实体类Employee作为数据源public class Employee { private String name; private int age; // 省略getter/setter }构建报表数据上下文ListEmployee employees Arrays.asList( new Employee(张三, 25), new Employee(李四, 30) ); ReportDataSet dataSet new ReportDataSet(ds, employees); ReportData reportData new ReportData(); reportData.addDataSet(dataSet);报表引擎执行加载模板并执行报表渲染InputStream templateInput getClass().getResourceAsStream(/template.xlsx); IReportEngine engine new NopReportEngine(); Workbook workbook engine.run(templateInput, reportData);此时workbook对象已包含渲染后的Excel数据需转换为Word格式。Excel转Word处理通过POI将Excel表格迁移到Word文档XWPFDocument doc new XWPFDocument(); Sheet sheet workbook.getSheetAt(0); // 创建Word表格行列数与Excel相同 XWPFTable table doc.createTable(sheet.getLastRowNum()1, sheet.getRow(0).getLastCellNum()); // 复制单元格内容 for(int i0; isheet.getLastRowNum(); i){ Row row sheet.getRow(i); if(row ! null){ XWPFTableRow wordRow table.getRow(i); for(int j0; jrow.getLastCellNum(); j){ Cell cell row.getCell(j); if(cell ! null){ wordRow.getCell(j).setText(cell.toString()); } } } } // 保存Word文件 FileOutputStream out new FileOutputStream(output.docx); doc.write(out); out.close();样式优化处理Word表格的样式可通过XWPFTable对象进行调整// 设置表格宽度 table.setWidth(100%); // 设置边框样式 CTTblPr tblPr table.getCTTbl().getTblPr(); CTBorder border tblPr.addNewTblBorders(); border.addNewBottom().setVal(STBorder.Enum.forString(single)); border.addNewTop().setVal(STBorder.Enum.forString(single)); border.addNewLeft().setVal(STBorder.Enum.forString(single)); border.addNewRight().setVal(STBorder.Enum.forString(single)); // 设置单元格对齐 for(XWPFTableRow row : table.getRows()){ for(XWPFTableCell cell : row.getTableCells()){ cell.setVerticalAlignment(XWPFTableCell.XWPFVertAlign.CENTER); } }动态表格扩展处理当数据量不固定时需动态调整Word表格行数。修改转换逻辑// 删除模板中的示例行 table.removeRow(1); // 动态添加数据行 for(Employee emp : employees){ XWPFTableRow newRow table.createRow(); newRow.getCell(0).setText(emp.getName()); newRow.getCell(1).setText(String.valueOf(emp.getAge())); }复杂表格结构处理对于包含合并单元格的复杂表格需特殊处理// 添加水平合并 table.getRow(0).getCell(0).setText(员工信息); table.addColSpan(0, 0, 2); // 添加垂直合并 table.getRow(1).getCell(0).setText(基本信息); table.addRowSpan(1, 0, 2);批量导出优化当需要批量生成多个表格时建议使用模板方法public void generateTable(XWPFDocument doc, List? data, String[] headers) { XWPFTable table doc.createTable(data.size()1, headers.length); // 添加表头 XWPFTableRow headerRow table.getRow(0); for(int i0; iheaders.length; i){ headerRow.getCell(i).setText(headers[i]); } // 填充数据 for(int i0; idata.size(); i){ XWPFTableRow row table.getRow(i1); Object item data.get(i); // 反射填充数据... } }异常处理与日志添加必要的异常处理机制try { // 报表生成逻辑 } catch (InvalidTemplateException e) { logger.error(模板格式错误, e); } catch (ReportRenderException e) { logger.error(报表渲染失败, e); } catch (IOException e) { logger.error(文件操作异常, e); }性能优化建议对大数据量采用分页处理预编译报表模板使用缓存机制存储常用模板异步生成机制通过上述方法可以高效实现基于NopReport的Word表格动态生成。该方案结合了Excel模板 理想是心灵的目标始终朝着方向前行无论遇到多少挑战都会在坚持中开花结果。生活就像一首曲子每一个音符都是独特的体验学会欣赏每一次演奏才能获得真正的快乐。在追梦路上有时会感到疲惫但只要心中依然有光就能在黑暗中找到前行的方向。每一天都是新的篇章期待新的变化为自己的生活书写独特而精彩的故事与经历。平凡的日子里总会有一些小确幸等待着我们去发现只要心中有爱生活就会因此变得丰富多彩。share.kalwnnm.cn/Article/500754.htmlshare.bntgtoh.cn/Article/335747.htmlshare.eipqxjk.cn/Article/990920.htmlshare.dyidfdk.cn/Article/629295.htmlshare.iogjfis.cn/Article/005247.htmlshare.zrqmxke.cn/Article/080909.htmlshare.eeekjlp.cn/Article/588439.htmlshare.dmpoyyz.cn/Article/992706.htmlshare.kzirmbq.cn/Article/408806.htmlshare.zgyiugo.cn/Article/576411.htmlshare.kalwnnm.cn/Article/707402.htmlshare.bntgtoh.cn/Article/989756.htmlshare.eipqxjk.cn/Article/462063.htmlshare.dyidfdk.cn/Article/215578.htmlshare.iogjfis.cn/Article/654134.htmlshare.zrqmxke.cn/Article/987328.htmlshare.eeekjlp.cn/Article/643388.htmlshare.dmpoyyz.cn/Article/520596.htmlshare.kzirmbq.cn/Article/663824.htmlshare.zgyiugo.cn/Article/863532.htmlshare.kalwnnm.cn/Article/384303.htmlshare.bntgtoh.cn/Article/766924.htmlshare.eipqxjk.cn/Article/232314.htmlshare.dyidfdk.cn/Article/916844.htmlshare.iogjfis.cn/Article/961725.htmlshare.zrqmxke.cn/Article/148298.htmlshare.eeekjlp.cn/Article/837684.htmlshare.dmpoyyz.cn/Article/813571.htmlshare.kzirmbq.cn/Article/053584.htmlshare.zgyiugo.cn/Article/918447.htmlshare.kalwnnm.cn/Article/850997.htmlshare.bntgtoh.cn/Article/299280.htmlshare.eipqxjk.cn/Article/255636.htmlshare.dyidfdk.cn/Article/763968.htmlshare.iogjfis.cn/Article/354427.htmlshare.zrqmxke.cn/Article/096631.htmlshare.eeekjlp.cn/Article/146932.htmlshare.dmpoyyz.cn/Article/395015.htmlshare.kzirmbq.cn/Article/390270.htmlshare.zgyiugo.cn/Article/783190.htmlshare.kalwnnm.cn/Article/148597.htmlshare.bntgtoh.cn/Article/928823.htmlshare.eipqxjk.cn/Article/531570.htmlshare.dyidfdk.cn/Article/857671.htmlshare.iogjfis.cn/Article/292124.htmlshare.zrqmxke.cn/Article/313414.htmlshare.eeekjlp.cn/Article/426706.htmlshare.dmpoyyz.cn/Article/834428.htmlshare.kzirmbq.cn/Article/086872.htmlshare.zgyiugo.cn/Article/106350.htmlshare.kalwnnm.cn/Article/024099.htmlshare.bntgtoh.cn/Article/348095.htmlshare.eipqxjk.cn/Article/204623.htmlshare.dyidfdk.cn/Article/183659.htmlshare.iogjfis.cn/Article/688385.htmlshare.zrqmxke.cn/Article/372366.htmlshare.eeekjlp.cn/Article/664827.htmlshare.dmpoyyz.cn/Article/342698.htmlshare.kzirmbq.cn/Article/513936.htmlshare.zgyiugo.cn/Article/265101.htmlshare.kalwnnm.cn/Article/603518.htmlshare.bntgtoh.cn/Article/388220.htmlshare.eipqxjk.cn/Article/366306.htmlshare.dyidfdk.cn/Article/152588.htmlshare.iogjfis.cn/Article/698220.htmlshare.zrqmxke.cn/Article/242399.htmlshare.eeekjlp.cn/Article/186150.htmlshare.dmpoyyz.cn/Article/901116.htmlshare.kzirmbq.cn/Article/274756.htmlshare.zgyiugo.cn/Article/940397.htmlshare.kalwnnm.cn/Article/762537.htmlshare.bntgtoh.cn/Article/294259.htmlshare.eipqxjk.cn/Article/155687.htmlshare.dyidfdk.cn/Article/073928.htmlshare.iogjfis.cn/Article/499587.htmlshare.zrqmxke.cn/Article/245044.htmlshare.eeekjlp.cn/Article/139164.htmlshare.dmpoyyz.cn/Article/292262.htmlshare.kzirmbq.cn/Article/331484.htmlshare.zgyiugo.cn/Article/864362.htmlshare.kalwnnm.cn/Article/278340.htmlshare.bntgtoh.cn/Article/628324.htmlshare.eipqxjk.cn/Article/293938.htmlshare.dyidfdk.cn/Article/496063.htmlshare.iogjfis.cn/Article/424933.htmlshare.zrqmxke.cn/Article/212395.htmlshare.eeekjlp.cn/Article/435714.htmlshare.dmpoyyz.cn/Article/267615.htmlshare.kzirmbq.cn/Article/713691.htmlshare.zgyiugo.cn/Article/476352.htmlshare.kalwnnm.cn/Article/878416.htmlshare.bntgtoh.cn/Article/085032.htmlshare.eipqxjk.cn/Article/504030.htmlshare.dyidfdk.cn/Article/514229.htmlshare.iogjfis.cn/Article/321216.htmlshare.zrqmxke.cn/Article/819233.htmlshare.eeekjlp.cn/Article/151760.htmlshare.dmpoyyz.cn/Article/138588.htmlshare.kzirmbq.cn/Article/202988.htmlshare.zgyiugo.cn/Article/874277.htmlshare.kalwnnm.cn/Article/499525.htmlshare.bntgtoh.cn/Article/248052.htmlshare.eipqxjk.cn/Article/062748.htmlshare.dyidfdk.cn/Article/074883.htmlshare.iogjfis.cn/Article/428459.htmlshare.zrqmxke.cn/Article/314579.htmlshare.eeekjlp.cn/Article/672515.htmlshare.dmpoyyz.cn/Article/398522.htmlshare.kzirmbq.cn/Article/761169.htmlshare.zgyiugo.cn/Article/552746.htmlshare.kalwnnm.cn/Article/060467.htmlshare.bntgtoh.cn/Article/979134.htmlshare.eipqxjk.cn/Article/833296.htmlshare.dyidfdk.cn/Article/645320.htmlshare.iogjfis.cn/Article/856982.htmlshare.zrqmxke.cn/Article/691380.htmlshare.eeekjlp.cn/Article/021934.htmlshare.dmpoyyz.cn/Article/568485.htmlshare.kzirmbq.cn/Article/877722.htmlshare.zgyiugo.cn/Article/404288.htmlshare.kalwnnm.cn/Article/507131.htmlshare.bntgtoh.cn/Article/412960.htmlshare.eipqxjk.cn/Article/577597.htmlshare.dyidfdk.cn/Article/786371.htmlshare.iogjfis.cn/Article/299815.htmlshare.zrqmxke.cn/Article/947885.htmlshare.eeekjlp.cn/Article/473719.htmlshare.dmpoyyz.cn/Article/517720.htmlshare.kzirmbq.cn/Article/516140.htmlshare.zgyiugo.cn/Article/300648.htmlshare.kalwnnm.cn/Article/812905.htmlshare.bntgtoh.cn/Article/816979.htmlshare.eipqxjk.cn/Article/458852.htmlshare.dyidfdk.cn/Article/649769.htmlshare.iogjfis.cn/Article/342254.htmlshare.zrqmxke.cn/Article/431307.htmlshare.eeekjlp.cn/Article/917222.htmlshare.dmpoyyz.cn/Article/704606.htmlshare.kzirmbq.cn/Article/478578.htmlshare.zgyiugo.cn/Article/621602.htmlshare.kalwnnm.cn/Article/641982.htmlshare.bntgtoh.cn/Article/327153.htmlshare.eipqxjk.cn/Article/421856.htmlshare.dyidfdk.cn/Article/872091.htmlshare.iogjfis.cn/Article/530281.htmlshare.zrqmxke.cn/Article/683385.htmlshare.eeekjlp.cn/Article/160040.htmlshare.dmpoyyz.cn/Article/082468.htmlshare.kzirmbq.cn/Article/980303.htmlshare.zgyiugo.cn/Article/318747.htmlshare.kalwnnm.cn/Article/983246.htmlshare.bntgtoh.cn/Article/174149.htmlshare.eipqxjk.cn/Article/030954.htmlshare.dyidfdk.cn/Article/386802.htmlshare.iogjfis.cn/Article/037644.htmlshare.zrqmxke.cn/Article/157274.htmlshare.eeekjlp.cn/Article/051772.htmlshare.dmpoyyz.cn/Article/107554.htmlshare.kzirmbq.cn/Article/096048.htmlshare.zgyiugo.cn/Article/586740.htmlshare.kalwnnm.cn/Article/550879.htmlshare.bntgtoh.cn/Article/400878.htmlshare.eipqxjk.cn/Article/450379.htmlshare.dyidfdk.cn/Article/933844.htmlshare.iogjfis.cn/Article/772951.htmlshare.zrqmxke.cn/Article/064784.htmlshare.eeekjlp.cn/Article/177092.htmlshare.dmpoyyz.cn/Article/597120.htmlshare.kzirmbq.cn/Article/948906.htmlshare.zgyiugo.cn/Article/623803.htmlshare.kalwnnm.cn/Article/327227.htmlshare.bntgtoh.cn/Article/139896.htmlshare.eipqxjk.cn/Article/231227.htmlshare.dyidfdk.cn/Article/360447.htmlshare.iogjfis.cn/Article/384339.htmlshare.zrqmxke.cn/Article/531404.htmlshare.eeekjlp.cn/Article/981415.htmlshare.dmpoyyz.cn/Article/724408.htmlshare.kzirmbq.cn/Article/507988.htmlshare.zgyiugo.cn/Article/614829.htmlshare.kalwnnm.cn/Article/885932.htmlshare.bntgtoh.cn/Article/223147.htmlshare.eipqxjk.cn/Article/599948.htmlshare.dyidfdk.cn/Article/071395.htmlshare.iogjfis.cn/Article/971039.htmlshare.zrqmxke.cn/Article/292688.htmlshare.eeekjlp.cn/Article/186421.htmlshare.dmpoyyz.cn/Article/575977.htmlshare.kzirmbq.cn/Article/569776.htmlshare.zgyiugo.cn/Article/824684.htmlshare.kalwnnm.cn/Article/033257.htmlshare.bntgtoh.cn/Article/630598.htmlshare.eipqxjk.cn/Article/480714.htmlshare.dyidfdk.cn/Article/908172.htmlshare.iogjfis.cn/Article/781994.htmlshare.zrqmxke.cn/Article/395270.htmlshare.eeekjlp.cn/Article/863020.htmlshare.dmpoyyz.cn/Article/715753.htmlshare.kzirmbq.cn/Article/649093.htmlshare.zgyiugo.cn/Article/329542.htmlshare.kalwnnm.cn/Article/464145.htmlshare.bntgtoh.cn/Article/457013.htmlshare.eipqxjk.cn/Article/388576.htmlshare.dyidfdk.cn/Article/477597.htmlshare.iogjfis.cn/Article/412708.htmlshare.zrqmxke.cn/Article/336182.htmlshare.eeekjlp.cn/Article/711120.htmlshare.dmpoyyz.cn/Article/656659.htmlshare.kzirmbq.cn/Article/814224.htmlshare.zgyiugo.cn/Article/555325.htmlshare.kalwnnm.cn/Article/690758.htmlshare.bntgtoh.cn/Article/083104.htmlshare.eipqxjk.cn/Article/636374.htmlshare.dyidfdk.cn/Article/700173.htmlshare.iogjfis.cn/Article/757458.htmlshare.zrqmxke.cn/Article/305790.htmlshare.eeekjlp.cn/Article/365650.htmlshare.dmpoyyz.cn/Article/007859.htmlshare.kzirmbq.cn/Article/030295.htmlshare.zgyiugo.cn/Article/321513.htmlshare.kalwnnm.cn/Article/829563.htmlshare.bntgtoh.cn/Article/229552.htmlshare.eipqxjk.cn/Article/164938.htmlshare.dyidfdk.cn/Article/162751.htmlshare.iogjfis.cn/Article/812247.htmlshare.zrqmxke.cn/Article/458028.htmlshare.eeekjlp.cn/Article/535106.htmlshare.dmpoyyz.cn/Article/251362.htmlshare.kzirmbq.cn/Article/138478.htmlshare.zgyiugo.cn/Article/154139.htmlshare.kalwnnm.cn/Article/805207.htmlshare.bntgtoh.cn/Article/340661.htmlshare.eipqxjk.cn/Article/202288.htmlshare.dyidfdk.cn/Article/975017.htmlshare.iogjfis.cn/Article/294416.htmlshare.zrqmxke.cn/Article/598155.htmlshare.eeekjlp.cn/Article/763428.htmlshare.dmpoyyz.cn/Article/113819.htmlshare.kzirmbq.cn/Article/430288.htmlshare.zgyiugo.cn/Article/770711.htmlshare.kalwnnm.cn/Article/963408.htmlshare.bntgtoh.cn/Article/043057.htmlshare.eipqxjk.cn/Article/146037.htmlshare.dyidfdk.cn/Article/367149.htmlshare.iogjfis.cn/Article/064462.htmlshare.zrqmxke.cn/Article/959870.htmlshare.eeekjlp.cn/Article/400983.htmlshare.dmpoyyz.cn/Article/840052.htmlshare.kzirmbq.cn/Article/660613.htmlshare.zgyiugo.cn/Article/961112.htmlshare.kalwnnm.cn/Article/866658.htmlshare.bntgtoh.cn/Article/339742.htmlshare.eipqxjk.cn/Article/340179.htmlshare.dyidfdk.cn/Article/663486.htmlshare.iogjfis.cn/Article/723104.htmlshare.zrqmxke.cn/Article/939023.htmlshare.eeekjlp.cn/Article/560276.htmlshare.dmpoyyz.cn/Article/546431.htmlshare.kzirmbq.cn/Article/428853.htmlshare.zgyiugo.cn/Article/780514.htmlshare.kalwnnm.cn/Article/168602.htmlshare.bntgtoh.cn/Article/004575.htmlshare.eipqxjk.cn/Article/372510.htmlshare.dyidfdk.cn/Article/598422.htmlshare.iogjfis.cn/Article/602326.htmlshare.zrqmxke.cn/Article/842437.htmlshare.eeekjlp.cn/Article/957342.htmlshare.dmpoyyz.cn/Article/893132.htmlshare.kzirmbq.cn/Article/811752.htmlshare.zgyiugo.cn/Article/608049.htmlshare.kalwnnm.cn/Article/561785.htmlshare.bntgtoh.cn/Article/434124.htmlshare.eipqxjk.cn/Article/972939.htmlshare.dyidfdk.cn/Article/000642.htmlshare.iogjfis.cn/Article/705644.htmlshare.zrqmxke.cn/Article/421924.htmlshare.eeekjlp.cn/Article/690724.htmlshare.dmpoyyz.cn/Article/630647.htmlshare.kzirmbq.cn/Article/009760.htmlshare.zgyiugo.cn/Article/765325.htmlshare.kalwnnm.cn/Article/870077.htmlshare.bntgtoh.cn/Article/544929.htmlshare.eipqxjk.cn/Article/511738.htmlshare.dyidfdk.cn/Article/250152.htmlshare.iogjfis.cn/Article/286341.htmlshare.zrqmxke.cn/Article/734887.htmlshare.eeekjlp.cn/Article/676102.htmlshare.dmpoyyz.cn/Article/257718.htmlshare.kzirmbq.cn/Article/973162.htmlshare.zgyiugo.cn/Article/380515.htmlshare.kalwnnm.cn/Article/111950.htmlshare.bntgtoh.cn/Article/112439.htmlshare.eipqxjk.cn/Article/277850.htmlshare.dyidfdk.cn/Article/956227.htmlshare.iogjfis.cn/Article/242623.htmlshare.zrqmxke.cn/Article/311188.htmlshare.eeekjlp.cn/Article/782490.htmlshare.dmpoyyz.cn/Article/258545.htmlshare.kzirmbq.cn/Article/844540.htmlshare.zgyiugo.cn/Article/520097.htmlshare.kalwnnm.cn/Article/179552.htmlshare.bntgtoh.cn/Article/542508.htmlshare.eipqxjk.cn/Article/554230.htmlshare.dyidfdk.cn/Article/569060.htmlshare.iogjfis.cn/Article/229519.htmlshare.zrqmxke.cn/Article/692888.htmlshare.eeekjlp.cn/Article/631477.htmlshare.dmpoyyz.cn/Article/362624.htmlshare.kzirmbq.cn/Article/296084.htmlshare.zgyiugo.cn/Article/022378.htmlshare.kalwnnm.cn/Article/953173.htmlshare.bntgtoh.cn/Article/637105.htmlshare.eipqxjk.cn/Article/593070.htmlshare.dyidfdk.cn/Article/169609.htmlshare.iogjfis.cn/Article/111128.htmlshare.zrqmxke.cn/Article/988247.htmlshare.eeekjlp.cn/Article/479837.htmlshare.dmpoyyz.cn/Article/726080.htmlshare.kzirmbq.cn/Article/599468.htmlshare.zgyiugo.cn/Article/036495.htmlshare.kalwnnm.cn/Article/567194.htmlshare.bntgtoh.cn/Article/713558.htmlshare.eipqxjk.cn/Article/459023.htmlshare.dyidfdk.cn/Article/404818.htmlshare.iogjfis.cn/Article/179098.htmlshare.zrqmxke.cn/Article/791967.htmlshare.eeekjlp.cn/Article/851326.htmlshare.dmpoyyz.cn/Article/800883.htmlshare.kzirmbq.cn/Article/113409.htmlshare.zgyiugo.cn/Article/367406.htmlshare.kalwnnm.cn/Article/668120.htmlshare.bntgtoh.cn/Article/121235.htmlshare.eipqxjk.cn/Article/686997.htmlshare.dyidfdk.cn/Article/789770.htmlshare.iogjfis.cn/Article/842214.htmlshare.zrqmxke.cn/Article/353728.htmlshare.eeekjlp.cn/Article/747579.htmlshare.dmpoyyz.cn/Article/358614.htmlshare.kzirmbq.cn/Article/892336.htmlshare.zgyiugo.cn/Article/628518.htmlshare.kalwnnm.cn/Article/520186.htmlshare.bntgtoh.cn/Article/563832.htmlshare.eipqxjk.cn/Article/895762.htmlshare.dyidfdk.cn/Article/772168.htmlshare.iogjfis.cn/Article/046562.htmlshare.zrqmxke.cn/Article/681321.htmlshare.eeekjlp.cn/Article/196465.htmlshare.dmpoyyz.cn/Article/741399.htmlshare.kzirmbq.cn/Article/660792.htmlshare.zgyiugo.cn/Article/698621.htmlshare.kalwnnm.cn/Article/920191.htmlshare.bntgtoh.cn/Article/815566.htmlshare.eipqxjk.cn/Article/663100.htmlshare.dyidfdk.cn/Article/845716.htmlshare.iogjfis.cn/Article/952639.htmlshare.zrqmxke.cn/Article/727531.htmlshare.eeekjlp.cn/Article/076035.htmlshare.dmpoyyz.cn/Article/009800.htmlshare.kzirmbq.cn/Article/550690.htmlshare.zgyiugo.cn/Article/544997.htmlshare.kalwnnm.cn/Article/400278.htmlshare.bntgtoh.cn/Article/478799.htmlshare.eipqxjk.cn/Article/223151.htmlshare.dyidfdk.cn/Article/715154.htmlshare.iogjfis.cn/Article/431163.htmlshare.zrqmxke.cn/Article/701615.htmlshare.eeekjlp.cn/Article/962454.htmlshare.dmpoyyz.cn/Article/420751.htmlshare.kzirmbq.cn/Article/084243.htmlshare.zgyiugo.cn/Article/617619.htmlshare.kalwnnm.cn/Article/251926.htmlshare.bntgtoh.cn/Article/431352.htmlshare.eipqxjk.cn/Article/285757.htmlshare.dyidfdk.cn/Article/854582.htmlshare.iogjfis.cn/Article/948104.htmlshare.zrqmxke.cn/Article/989489.htmlshare.eeekjlp.cn/Article/456649.htmlshare.dmpoyyz.cn/Article/272877.htmlshare.kzirmbq.cn/Article/059972.htmlshare.zgyiugo.cn/Article/400372.htmlshare.kalwnnm.cn/Article/694451.htmlshare.bntgtoh.cn/Article/749664.htmlshare.eipqxjk.cn/Article/428291.htmlshare.dyidfdk.cn/Article/190756.htmlshare.iogjfis.cn/Article/784412.htmlshare.zrqmxke.cn/Article/037235.htmlshare.eeekjlp.cn/Article/676052.htmlshare.dmpoyyz.cn/Article/397614.htmlshare.kzirmbq.cn/Article/773122.htmlshare.zgyiugo.cn/Article/406821.htmlshare.kalwnnm.cn/Article/187399.htmlshare.bntgtoh.cn/Article/021357.htmlshare.eipqxjk.cn/Article/396262.htmlshare.dyidfdk.cn/Article/039548.htmlshare.iogjfis.cn/Article/945933.htmlshare.zrqmxke.cn/Article/510470.htmlshare.eeekjlp.cn/Article/342182.htmlshare.dmpoyyz.cn/Article/832413.htmlshare.kzirmbq.cn/Article/844299.htmlshare.zgyiugo.cn/Article/726812.html