1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > spire.doc操作word文档

spire.doc操作word文档

时间:2021-09-16 01:37:52

相关推荐

spire.doc操作word文档

/*** 导入申报方案* 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_);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;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。