• java 通过html代码转换word文档


    java代码

    public void htmlToWord2() throws Exception {
             InputStream bodyIs = new FileInputStream("f:\1.html");
             InputStream cssIs = new FileInputStream("f:\1.css");
             String body = this.getContent(bodyIs);
             String css = this.getContent(cssIs);
             //拼一个标准的HTML格式文档
             String content = "<html><head><style>" + css + "</style></head><body>" + body + "</body></html>";
             InputStream is = new ByteArrayInputStream(content.getBytes("GBK"));
             OutputStream os = new FileOutputStream("f:\1.doc");
             this.inputStreamToWord(is, os);
          }
          
          /**
           * 把is写入到对应的word输出流os中
           * 不考虑异常的捕获,直接抛出
           * @param is
           * @param os
           * @throws IOException
           */
          private void inputStreamToWord(InputStream is, OutputStream os) throws IOException {
             POIFSFileSystem fs = new POIFSFileSystem();
             //对应于org.apache.poi.hdf.extractor.WordDocument
             fs.createDocument(is, "WordDocument");
             fs.writeFilesystem(os);
             os.close();
             is.close();
          }
          
          /**
           * 把输入流里面的内容以UTF-8编码当文本取出。
           * 不考虑异常,直接抛出
           * @param ises
           * @return
           * @throws IOException
           */
          private String getContent(InputStream... ises) throws IOException {
             if (ises != null) {
                StringBuilder result = new StringBuilder();
                BufferedReader br;
                String line;
                for (InputStream is : ises) {
                   br = new BufferedReader(new InputStreamReader(is, "UTF-8"));
                   while ((line=br.readLine()) != null) {
                       result.append(line);
                   }
                }
                return result.toString();
             }
             return null;
          }

    css  代码如下

    table {
           border: 1px solid blue;
            800px;
           height: 500px;
           text-align: center;
    }
    td {
            200px;
           border: 1px solid blue;
    }

    html对应的内容如下

    <table cellpadding="5" style="border-collapse: collapse;">
           <tr>
                  <td>中文</td>
                  <td>中文</td>
                  <td>中文</td>
                  <td>中文</td>
           </tr>
           <tr>
                  <td>中文</td>
                  <td>中文</td>
                  <td>中文</td>
                  <td>中文</td>
           </tr>
    </table>

    注:非原创

  • 相关阅读:
    JSP中Session的使用
    深入了解父类引用指向子类
    Gamma校正及其OpenCV实现
    cocos2d-x3.0之请求网络(phpserver)
    Quartz使用-入门使用(java定时任务实现)
    ExtJs--15--Ext.is*各种类型推断的方法,简单看源代码就能够明确了
    小谈边界问题
    VS2010旗舰版安装图解
    LSPCI具体解释分析
    兔子--gradle安装和配置
  • 原文地址:https://www.cnblogs.com/wcnwcn/p/13397688.html
Copyright © 2020-2023  润新知