zoukankan      html  css  js  c++  java
  • java使用poi将html导出word,默认打开页面视图

    <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" 
    xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" 
    xmlns="http://www.w3.org/TR/REC-html40"> 
    

      

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" 
    xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" 
    xmlns="http://www.w3.org/TR/REC-html40"> 
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <!--[if gte mso 9]><xml><w:WordDocument><w:View>Print</w:View><w:TrackMoves>false</w:TrackMoves><w:TrackFormatting/><w:ValidateAgainstSchemas/><w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid><w:IgnoreMixedContent>false</w:IgnoreMixedContent><w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText><w:DoNotPromoteQF/><w:LidThemeOther>EN-US</w:LidThemeOther><w:LidThemeAsian>ZH-CN</w:LidThemeAsian><w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript><w:Compatibility><w:BreakWrappedTables/><w:SnapToGridInCell/><w:WrapTextWithPunct/><w:UseAsianBreakRules/><w:DontGrowAutofit/><w:SplitPgBreakAndParaMark/><w:DontVertAlignCellWithSp/><w:DontBreakConstrainedForcedTables/><w:DontVertAlignInTxbx/><w:Word11KerningPairs/><w:CachedColBalance/><w:UseFELayout/></w:Compatibility><w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel><m:mathPr><m:mathFont m:val="Cambria Math"/><m:brkBin m:val="before"/><m:brkBinSub m:val="--"/><m:smallFrac m:val="off"/><m:dispDef/><m:lMargin m:val="0"/> <m:rMargin m:val="0"/><m:defJc m:val="centerGroup"/><m:wrapIndent m:val="1440"/><m:intLim m:val="subSup"/><m:naryLim m:val="undOvr"/></m:mathPr></w:WordDocument></xml><![endif]-->     
    

      

    html页面中添加以上代码默认打开为页面视图而不是web视图

    poi将html导出为word


    import java.io.BufferedReader;
    import java.io.ByteArrayInputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.io.FileReader;
    import java.io.IOException;

    import org.apache.poi.poifs.filesystem.DirectoryEntry;
    import org.apache.poi.poifs.filesystem.DocumentEntry;
    import org.apache.poi.poifs.filesystem.POIFSFileSystem;
    import org.springframework.stereotype.Service;

    /**
    * @ClassName: HtmlToWord
    * @Description: TODO(将html文件导出为word)
    * @author xsw
    * @date 2016-12-28 上午11:41:19
    *
    */
    @Service
    public class HtmlToWord {

    /**
    *
    *(srcPath html文件 fileName保存的doc文件)
    * @param TODO
    * @return void 返回类型
    * @author xsw
    * @2016-12-28上午11:47:27
    */
    public void htmlToWord(String srcPath,String fileName) throws Exception {
    ByteArrayInputStream bais = null;
    FileOutputStream fos = null;
    try {
    if (!"".equals(fileName)) {
    File fileDir = new File(fileName);
    if (fileDir.exists()) {
    String content = readFile(srcPath);
    byte b[] = content.getBytes();
    bais = new ByteArrayInputStream(b);
    POIFSFileSystem poifs = new POIFSFileSystem();
    DirectoryEntry directory = poifs.getRoot();
    DocumentEntry documentEntry = directory.createDocument("WordDocument", bais);
    fos = new FileOutputStream(fileName);
    poifs.writeFilesystem(fos);
    bais.close();
    fos.close();
    }
    }

    } catch (IOException e) {
    e.printStackTrace();
    } finally {
    if(fos != null) fos.close();
    if(bais != null) bais.close();
    }
    }

    /**
    * 读取html文件到字符串
    * @param filename
    * @return
    * @throws Exception
    */
    public String readFile(String filename) throws Exception {
    StringBuffer buffer = new StringBuffer("");
    BufferedReader br = null;
    try {
    br = new BufferedReader(new FileReader(filename));
    buffer = new StringBuffer();
    while (br.ready())
    buffer.append((char) br.read());
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    if(br!=null) br.close();
    }
    return buffer.toString();
    }
    }

     
  • 相关阅读:
    android实现点击短链接进入应用 并获得整个连接的内容
    机房收费系统=三层+设计模式
    【数据库】SQL优化方法汇总
    HBase 数据库检索性能优化策略--转
    How to fix “HTTP Status Code 505 – HTTP Version Not Supported” error?--转
    使用VBS控制声音
    MSG命令使用详解
    bat删除系统默认共享
    C#:消息队列应用程序
    读写XML文档时,去掉新增加节点的“空命名空间”(xmlns=””)
  • 原文地址:https://www.cnblogs.com/xionggeclub/p/6228837.html
Copyright © 2011-2022 走看看