麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JSP > 正文

jsp按格式導(dǎo)出doc文件實(shí)例詳解

2024-09-05 00:23:13
字體:
供稿:網(wǎng)友

jsp按格式導(dǎo)出doc文件實(shí)例詳解

原理:doc文件其實(shí)可以保存為xml文件,該xml文件用字符串表示了doc文件的表現(xiàn)形式,我們只需要用Java將那些要填的內(nèi)容替換掉然后下載給客戶就行了。

1.首先是按照你的文檔填寫好數(shù)據(jù)。
2.將文檔另存為xml文件,然后編輯該xml文件,將填好的內(nèi)容用某種格式替換,如:將名字張三替換成${name}
3.讀取文件,將文件中的${name}替換成真正的名字。
4.下載。

接下來看代碼:

首先是那個(gè)轉(zhuǎn)換類

package com.my.util;import java.io.BufferedReader;import java.io.ByteArrayInputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.util.Iterator;import java.util.Map;public class DowloadDocByTemplate {  public InputStream dowload(String templatePath,Map map) throws IOException{        File file = new File(templatePath);    StringBuffer sb = new StringBuffer();      BufferedReader br;        br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));        String s;        while ((s = br.readLine()) != null) {          sb.append(s);                  }        br.close();         s = sb.toString();          Iterator<String> keys = map.keySet().iterator();          while(keys.hasNext()) {            String key = (String) keys.next();            s=s.replace(key, (String) map.get(key));         }          return new ByteArrayInputStream(s.getBytes("UTF-8"));  }}  

然后是action:

/**   * 檢查下載權(quán)限   * @return   */  public String downLoadcheck(){        return SUCCESS;  }    public String getTargetFileName(){        return "zengguoqg.doc";  }  public InputStream getInputStream(){    //ExportToWordUtil etw = new ExportToWordUtil();    StringBuffer carnumber = new StringBuffer("<w:tr w:rsidR='00000000'> <w:trPr> <w:trHeight w:hRule='exact' w:val='482'/> </w:trPr>");    String s1 = "<w:tc><w:tcPr><w:tcW w:w=/"236/" w:type=/"dxa/"/></w:tcPr><w:p w:rsidR=/"00000000/" w:rsidRDefault=/"009F38EE/">" +        "<w:pPr><w:rPr><w:rFonts w:hint=/"eastAsia/"/></w:rPr></w:pPr><w:r>" +            "<w:rPr><w:rFonts w:hint=/"eastAsia/"/></w:rPr><w:t>";    String number = "450981199202073518";    char[] ch = number.toCharArray();    for(int i =0;i<ch.length;i++){      carnumber.append(s1).append(ch[i]).append("</w:t></w:r></w:p></w:tc>");          }    carnumber.append("</w:tr>");    Map<String,String> map = new HashMap();    map.put("${name}","曾強(qiáng)");    map.put("${sex}","男");    map.put("${writeDate}", "2014.1.2");    map.put("${cardNumber}", "1100106");    map.put("${personNumber}", carnumber.toString());    map.put("${birthday}", "2014.1.2");    map.put("${Education}", "本科");    map.put("${marride}", "未婚");    map.put("${comeFrom}", "廣西");    map.put("${nation}", "漢族");    map.put("${ResidenceAddress}", "廣西");    map.put("${PostalCode}", "543002");    map.put("${QQ}", "1104566175");    map.put("${job}", "軟件工程師");    map.put("${politicalStatus}", "政治面貌");    map.put("${GraduateSchool}", "學(xué)院");    map.put("${professional}", "軟件工程");    map.put("${beginWorkTime}", "2014.1.2");    map.put("${bankCarNumber}", "622709");    map.put("${emergencyContactPerson}", "曾強(qiáng)");    map.put("${relationship}", "同學(xué)");    map.put("${ummoveTelephone}", "0774133");    map.put("${mobilePhone}", "1350335");    map.put("${adreess}", "廣西");    map.put("${mainExperience}", "無工作");    map.put("${favoriteAndGoodAt}", "喜歡打籃球");            String path = ServletActionContext.getServletContext().getRealPath("/fileTemplate/renyuandengjibiao2.xml");    System.out.println(path);        //return etw.export(path, "test.xml", map, "out.doc");    try {      return new DowloadDocByTemplate().dowload(path, map);    } catch (IOException e) {      // TODO Auto-generated catch block      e.printStackTrace();      return null;    }  }  }

最后是Strut配置下載: 

<package name="dowload" extends="struts-default">    <action name="dowload" class="zhaopingAction" method="downLoadcheck">    <result name="success" type="stream">     <param name="contentType">application/ZIP</param><!--默認(rèn)為 text/plain-->         <param name="inputName">inputStream</param>       <param name="contentDisposition">filename="${targetFileName}"</param>         <param name="bufferSize">4096</param><!-- 輸出時(shí)緩沖區(qū)的大小 -->        </result>    </action>

完了,就這些了。xml文件我放在WebRoot/fileTemplate/renyuandengjibiao2.xml。

如有疑問,請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到JSP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 国产1区2区在线观看 | 亚洲不卡| 最新福利在线 | 久久国产乱子伦精品 | 日本在线不卡一区二区 | 91色一区二区三区 | 国产精品午夜未成人免费观看 | chinese-xvideos| 久久久久99一区二区三区 | 日韩黄色av网站 | 免费看毛片网站 | 国产激情精品一区二区三区 | 欧美成人亚洲 | 曰韩在线视频 | 国产毛片毛片毛片 | 一级黄色性感片 | 视频一区二区三区在线播放 | www国产免费 | 欧美一页 | av免费av| 99亚洲伊人久久精品影院红桃 | 草草视频在线播放 | 久久成人精品视频 | 蜜桃视频在线免费观看 | 黑人操穴 | 91九色网址 | 日韩视频一区 | 欧美一级成人一区二区三区 | 中文有码一区二区 | 神马久久精品综合 | 中文字幕在线观看免费视频 | 高清一区二区在线观看 | 成人毛片100部 | 一道本不卡一区 | 91在线视频导航 | 黄色大片在线观看 | 欧美 日本 在线 | 日本高清视频网站www | 激情网站免费观看 | 久久久久国产一区二区三区不卡 | 大奶一级片 |