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

     
  • 相关阅读:
    MVC3、如何应用EntityFramework 连接MySql 数据库 Kevin
    DEV EXPRESS Summary Footer 不显示 Kevin
    装饰模式 Kevin
    Dev 控件 GridControl 控件 二次绑定数据源的问题。 Kevin
    System.InvalidOperationException 异常 Kevin
    LINQ to XML Kevin
    代理模式——代码版“吊丝的故事” Kevin
    VS2012 中的设备 面板 Kevin
    maven 学习笔记(三)创建一个较复杂的 eclipse+android+maven 工程
    maven 学习笔记(一)eclipse+android+maven
  • 原文地址:https://www.cnblogs.com/xionggeclub/p/6228837.html
Copyright © 2011-2022 走看看