• 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();
    }
    }

     
  • 相关阅读:
    Bareword "mp4" not allowed while "strict subs" in use at (usersupplied code). ubuntu
    linux系统中如何删除空行
    linux系统中comm命令的用法
    Package libxml2.0 was not found in the pkgconfig search path
    ubuntu qt.qpa.xcb: could not connect to display
    R语言中管道运算符 %>%
    R语言中setdiff、intersect、union函数
    poly 定点于mesh定点的法线对其,非开做比较好,要是来回转很费时间, 界面还打伤元气
    rollout floater 界面的加减。
    看了脚本后才知道是怎么把三边转四边。
  • 原文地址:https://www.cnblogs.com/xionggeclub/p/6228837.html
Copyright © 2020-2023  润新知