/***     导入申报方案*     1.准备基础数据,*   2.将基本书签数据插入到word文档*     3.导入实施方案表格数据*   4.导入项目预算表格数据*   5.导入执行机构表格数据* @param bean* @return*/public EntityBean exportDeclareScheme(EntityBean bean) {System.out.println(bean);//step 1  准备基础数据,String zmtzid = bean.getString("id");String community = bean.getString("community");//申报社区String supplier_name = bean.getString("supplier_name");//供应商名称String supplier_address = bean.getString("supplier_address");//供应商地址String jigouclrq = bean.getString("jigouclrq").substring(0,10);//机构成立日期String email = bean.getString("email");//机构邮箱地址String legal_person = bean.getString("legal_person");//负责人String legal_phone = bean.getString("legal_phone");//负责人联系方式String contact_person = bean.getString("contact_person");//对接人String contact_phone = bean.getString("contact_phone");//对接人联系方式String jigoulb = bean.getString("jigoulb");//机构类别     单选String project_type = bean.getString("project_type");//项目类别    单选String fuwulb = bean.getString("fuwulb");//服务类别    单选String project_name = bean.getString("project_name");//项目名称String project_code = bean.getString("project_code");//项目编号String xmyszje = bean.getString("xmyszje");//项目预算总额String project_content = bean.getString("project_content");//项目内容String project_obj_sub = bean.getString("project_obj_sub");//项目总目标及分目标String service_groups = bean.getString("service_groups");//主要服务人群String implement_site = bean.getString("implement_site");//实施地点String xiangmuyqcx = bean.getString("xiangmuyqcx");//项目预期成效String xiangmucgjy = bean.getString("xiangmucgjy");//项目成功经验String yingyezzjzzFileStr = bean.getString("yingyezzjzz");//营业执照及资质           附件String othersFileStr = bean.getString("others");//其它           附件String team_qualificationFileStr = bean.getString("team_qualification");//人员资质         附件String pssuggest = bean.getString("pssuggest");String project_starttime = bean.getString("project_starttime");String project_endtime = bean.getString("project_endtime");String project_service_cycle = project_starttime.substring(0,10) + " - " + project_endtime.substring(0,10);//step 1 endNameedLogic l = NameedPathUtil.getMapLogic("default");String defpath = l.getPath();String string = "template/template_declareScheme_fw.doc";File wordFilePath = File.get(defpath,string);Document doc = new Document();//读取模板文件doc.loadFromFile(wordFilePath.getAbsolutePath());BookmarksNavigator bookmarksNavigator = new BookmarksNavigator(doc);//移动到指定书签位置//step 2 将基本书签数据插入到word文档bookmarksNavigator.moveToBookmark("community");bookmarksNavigator.insertText(community);bookmarksNavigator.moveToBookmark("supplier_name");bookmarksNavigator.insertText(supplier_name);bookmarksNavigator.moveToBookmark("supplier_address");bookmarksNavigator.insertText(supplier_address);bookmarksNavigator.moveToBookmark("jigouclrq");bookmarksNavigator.insertText(jigouclrq);bookmarksNavigator.moveToBookmark("email");bookmarksNavigator.insertText(email);bookmarksNavigator.moveToBookmark("legal_person");bookmarksNavigator.insertText(legal_person);bookmarksNavigator.moveToBookmark("legal_phone");bookmarksNavigator.insertText(legal_phone);bookmarksNavigator.moveToBookmark("contact_person");bookmarksNavigator.insertText(contact_person);bookmarksNavigator.moveToBookmark("contact_phone");bookmarksNavigator.insertText(contact_phone);bookmarksNavigator.moveToBookmark("jigoulb");bookmarksNavigator.insertText(CodeTypeCache.getInstance().getCodeValue("mswss_xmk_jglb", jigoulb).getcodevalue());bookmarksNavigator.moveToBookmark("project_type");bookmarksNavigator.insertText(CodeTypeCache.getInstance().getCodeValue("mswss_xmk_xmlb", project_type).getcodevalue());bookmarksNavigator.moveToBookmark("fuwulb");bookmarksNavigator.insertText(CodeTypeCache.getInstance().getCodeValue("mswss_xmk_fwlb", fuwulb).getcodevalue());bookmarksNavigator.moveToBookmark("project_name");bookmarksNavigator.insertText(project_name);bookmarksNavigator.moveToBookmark("project_code");bookmarksNavigator.insertText(project_code);bookmarksNavigator.moveToBookmark("xmyszje");bookmarksNavigator.insertText(xmyszje);bookmarksNavigator.moveToBookmark("project_content");bookmarksNavigator.insertText(project_content);bookmarksNavigator.moveToBookmark("project_obj_sub");bookmarksNavigator.insertText(project_obj_sub);bookmarksNavigator.moveToBookmark("service_groups");bookmarksNavigator.insertText(service_groups);bookmarksNavigator.moveToBookmark("implement_site");bookmarksNavigator.insertText(implement_site);bookmarksNavigator.moveToBookmark("xiangmuyqcx");bookmarksNavigator.insertText(xiangmuyqcx);bookmarksNavigator.moveToBookmark("xiangmucgjy");bookmarksNavigator.insertText(xiangmucgjy);bookmarksNavigator.moveToBookmark("pssuggest");bookmarksNavigator.insertText(pssuggest);bookmarksNavigator.moveToBookmark("project_service_cycle");bookmarksNavigator.insertText(project_service_cycle);// step 2 end// step 3 导入实施方案表格数据/***  准备表格的表头和数据内容*/
//      dSource.dynaExecuteSQL("select * from mswss_zmtz where id = '" + zmtzid+ "'")try {String getSSFASqlString = "select * from mswss_qjfwxmssfa where qujixmid = '" + zmtzid + "'";EntityBean[] ssfaBeans = dSource.dynaExecuteSQL(getSSFASqlString);if(ssfaBeans != null && ssfaBeans.length > 0) {String[] header = {"活动名称", "实施周期", "活动形式", "活动内容","受益人数"};String[][] data = new String[ssfaBeans.length][header.length];  //for (int i = 0; i < ssfaBeans.length; i++) {EntityBean entityBean = ssfaBeans[i];String[] s = new String[header.length];s[0] = entityBean.getString("huodongmc");s[1] = entityBean.getString("shishizq");s[2] = entityBean.getString("huodongxs");s[3] = entityBean.getString("huodongnr");s[4] = entityBean.getString("shouyirs");data[i] = s;}//添加表格Table table = getTable(doc, header, data);bookmarksNavigator.moveToBookmark("project_ssfa");bookmarksNavigator.insertTable(table);table.autoFit(AutoFitBehaviorType.Auto_Fit_To_Contents);//列宽自动适应内容table.autoFit(AutoFitBehaviorType.Auto_Fit_To_Window);//表格自适应列宽doc.getBookmarks().remove(bookmarksNavigator.getCurrentBookmark());}} catch (Exception e) {e.printStackTrace();Global.getInstance().LogError("插入实施方案表格数据出错");}// setp 3 end// step 4 导入项目预算表格数据try {String getSql = "select * from mswss_xmkxmys where xmid = '" + zmtzid + "'";EntityBean[] beans = dSource.dynaExecuteSQL(getSql);if(beans != null && beans.length > 0) {String[] header = {"序号", "费用类别", "具体科目", "费用标准(单价)","数量","小计","备注"};String[][] data = new String[beans.length][header.length];  //for (int i = 0; i < beans.length; i++) {EntityBean entityBean = beans[i];String[] s = new String[header.length];s[0] = String.valueOf(i + 1);s[1] = entityBean.getString("shishizq");s[2] = entityBean.getString("jutikm");s[3] = entityBean.getString("danjia");s[4] = entityBean.getString("shuliang");s[5] = entityBean.getString("feiyongxj");s[6] = entityBean.getString("beizhu");data[i] = s;}//添加表格Table table = getTable(doc, header, data);bookmarksNavigator.moveToBookmark("project_xmys");bookmarksNavigator.insertTable(table);table.autoFit(AutoFitBehaviorType.Auto_Fit_To_Contents);//列宽自动适应内容table.autoFit(AutoFitBehaviorType.Auto_Fit_To_Window);//表格自适应列宽doc.getBookmarks().remove(bookmarksNavigator.getCurrentBookmark());}} catch (Exception e) {e.printStackTrace();Global.getInstance().LogError("插入项目预算表格数据出错");}// step 4 end// step 5 导入执行机构表格数据try {String getSql = "select * from mswss_qjxmzxjg where qujixmid = '" + zmtzid + "'";EntityBean[] beans = dSource.dynaExecuteSQL(getSql);if(beans != null && beans.length > 0) {String[] header = {"序号", "姓名", "学历", "职务","项目经验"};String[][] data = new String[beans.length][header.length];  //for (int i = 0; i < beans.length; i++) {EntityBean entityBean = beans[i];String[] s = new String[header.length];s[0] = String.valueOf(i + 1);s[1] = entityBean.getString("xingming");s[2] = entityBean.getString("xueli");s[3] = entityBean.getString("zhiwu");s[4] = entityBean.getString("xiangmujy");data[i] = s;}//添加表格Table table = getTable(doc, header, data);bookmarksNavigator.moveToBookmark("project_zxjg");bookmarksNavigator.insertTable(table);table.autoFit(AutoFitBehaviorType.Auto_Fit_To_Contents);//列宽自动适应内容table.autoFit(AutoFitBehaviorType.Auto_Fit_To_Window);//表格自适应文档纸张列宽doc.getBookmarks().remove(bookmarksNavigator.getCurrentBookmark());}} catch (Exception e) {e.printStackTrace();Global.getInstance().LogError("插入执行团队表格数据出错");}// step 5 endString yyzzStr = getFileDownLoadUrl(yingyezzjzzFileStr);String otherStr = getFileDownLoadUrl(othersFileStr);String ryzzStr = getFileDownLoadUrl(team_qualificationFileStr);// setp 6 插入附件信息,以超链接的形式插入if(yyzzStr != null) {//营业执照及资质附件Paragraph p = new Paragraph(doc);p.appendHyperlink(yyzzStr,"营业执照及资质附件",HyperlinkType.File_Link);bookmarksNavigator.moveToBookmark("yingyezzjzz");bookmarksNavigator.insertParagraph(p);}if(otherStr != null) {//营业执照及资质附件Paragraph p = new Paragraph(doc);p.appendHyperlink(otherStr,"其它附件",HyperlinkType.File_Link);bookmarksNavigator.moveToBookmark("others");bookmarksNavigator.insertParagraph(p);}if(ryzzStr != null) {//营业执照及资质附件Paragraph p = new Paragraph(doc);p.appendHyperlink(ryzzStr,"人员资质附件",HyperlinkType.File_Link);bookmarksNavigator.moveToBookmark("team_qualification");bookmarksNavigator.insertParagraph(p);}// setp 6 end
//      SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");String dataStr = sdf.format(new Date());File file = File.get(defpath, dataStr);if(!file.exists()){file.mkdirs();}String fileName = project_name + "申报方案";//文件名String finalFileName = file  + "\\" + fileName + ".docx";doc.saveToFile(finalFileName,FileFormat.Docx_2013);doc.close();EntityBean res = new EntityBean();res.set("url",SERVER_URL + "/LEAP/Download/default/" + dataStr + "/" + fileName + ".docx");res.set("path",finalFileName);return res;}private Table getTable(Document doc, String[] header, String[][] data) {Table table = new Table(doc);//设置表格的行数和列数table.resetCells(data.length + 1, header.length);//设置第一行作为表格的表头并添加数据TableRow row = table.getRows().get(0);row.isHeader(true);row.setHeight(40);row.setHeightType(TableRowHeightType.Exactly);row.getRowFormat().setBackColor(Color.white);for (int i = 0; i < header.length; i++) {row.getCells().get(i).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);Paragraph p = row.getCells().get(i).addParagraph();p.getFormat().setHorizontalAlignment(HorizontalAlignment.Center);TextRange range1 = p.appendText(header[i]);range1.getCharacterFormat().setFontName("Arial");range1.getCharacterFormat().setFontSize(12f);range1.getCharacterFormat().setBold(true);}//添加数据到剩余行for (int r = 0; r < data.length; r++) {TableRow dataRow = table.getRows().get(r + 1);dataRow.setHeight(25);dataRow.setHeightType(TableRowHeightType.Exactly);dataRow.getRowFormat().setBackColor(Color.white);for (int c = 0; c < data[r].length; c++) {dataRow.getCells().get(c).getCellFormat().setVerticalAlignment(VerticalAlignment.Middle);TextRange range2 = dataRow.getCells().get(c).addParagraph().appendText(data[r][c]);range2.getCharacterFormat().setFontName("Arial");range2.getCharacterFormat().setFontSize(10f);}}return table;}

spire.doc操作word文档相关推荐

  1. spire.doc操作word文档工具类(自用)

    如果有相关问题,可以一起研究下 引入依赖 <dependencies> <dependency><groupId>e-iceblue</groupId> ...

  2. 【ChatGPT】Spire.Doc 给 Word 文档设置背景颜色和背景图片

    使用 Spire.Doc 给 Word 文档设置背景颜色和背景图片 1.首先需要引用 Spire.Doc 的命名空间: using Spire.Doc; using Spire.Doc.Documen ...

  3. 国产文档处理控件Spire.Doc WPS Word文档功能上线!快速创建Word指南

    Spire.Doc for Java 是一款专业的Java Word组件,开发人员使用它可以轻松地将Word文档创建.读取.编辑.转换和打印等功能集成到自己的Java应用程序中. 本文将介绍如何使用S ...

  4. java 使用Spire.Doc实现Word文档插入图片

    目录 使用步骤 1.引入依赖 2.关键代码 Spire.Doc for Java 是一款专业的 Java Word 组件,开发人员使用它可以轻松地将 Word 文档创建.读取.编辑.转换和打印等功能集 ...

  5. Java使用Spire.Doc实现Word文档添加图片水印

    通过本文你将学到: Spire.Doc是什么? 如何在项目中引入Spire.Doc依赖? 项目中基于Spire.Doc封装工具类实现Word文档添加图片水印? 一.Spire.Doc是什么? 1.Sp ...

  6. Word控件Spire.Doc 【页面设置】教程(10) ;通过 Spire.Doc 在 Word 文档的不同部分添加页码

    有时,开发人员需要在一个 Word 文档中为不同的部分添加页码,例如封面.目录和内容位于不同的部分.本文讨论如何通过Spire.Doc为不同部分添加页码. Spire.Doc for.NET 最新下载 ...

  7. 使用spire.doc实现word文档合并

    下载jar包: http://repo.e-iceblue.com/nexus/content/groups/public/e-iceblue/spire.doc/ maven配置: 在这里插入代码片 ...

  8. Java操作Word文档

    Java 生成 Word 的几种方案 参考 ​ 主要有这么一些工具可以使用 Jacob.Apache POI.Java2word.iText,还有一种方法是使用XML作为模板. ​ 使用 XML 的思 ...

  9. Spire操作word文档

    Spire操作word文档 1.基本文档方面 // 测试用例PersonalCreditRecord credit = getPersonalCreditRecord();//Create word ...

最新文章

  1. ​“后进生”数学学科上演完美逆袭,成最具竞争力专业之一
  2. 虚拟化之安装Xen实例
  3. Img与background的区别
  4. oracle的隐式游标有哪些,Oracle隐式游标小例子
  5. 嵌套函数中的this指向的对象
  6. win7 计算器 android,教你巧妙应用Win7计算器和时钟
  7. 行业大牛都是同时掌握游戏建模和游戏原画的吗?
  8. Docker图形界面
  9. 开发之没沟通误删客户数据库数据之找数据路
  10. 计算机毕业设计Java演出票在线预定网站系统(源码+系统+mysql数据库+Lw文档)
  11. cuda 和 cudnn 下载与安装
  12. iapp退出软件按钮代码_一师一优课视频专用转码软件的安装和使用教程
  13. 110KV/35KV/10KV富源变电站一次系统设计
  14. 公众平台模板消息所在行业_微信公众号模板消息群发工具免费注册试用7天
  15. 当当网,京东商城,一号店,苏宁易购百万数据抓取爬虫程序
  16. Java中使用Atomic*实现原子锁线程安全
  17. 传奇单机架设教程及游戏GM设置方法
  18. **matlab中fprintf函数简单用法**
  19. c语言 1!+2!+···+20!1的阶乘加2的阶乘一直加到20的阶乘
  20. 华为手机鸿蒙系统手机_这四款华为手机将支持升级鸿蒙2.0,你在用吗?

热门文章

  1. Java 缩小字符串( Compact String)和 压缩字符串(Compressed String)
  2. C 语言函数作业,c语言函数练习题附答案
  3. 信息系统项目管理师——十大管理之间的关系
  4. 视错觉:从一个看似简单的自定义控件说起
  5. 为什么有些老顾客吃着吃着就不再来照顾生意了
  6. pyqt5安装以后不显示问题
  7. C语言中string函数详解
  8. 积跬步以至千里 中睿天下正式发布XDR解决方案
  9. 删除数据库 [MySQL][数据库]
  10. Flink整合Drools规则引擎