频道栏目
首页 > 资讯 > Java > 正文

java poi导入导出word文档

17-08-15        来源:[db:作者]  
收藏   我要投稿

其实导入导出功能实现起来很简单,关键是你得导入正确的jar包,然后调用里面的方法就行了。

/*
* 依赖jar包:
* dom4j-1.6.1.jar
* geronimo-stax-api_1.0_spec-1.0.jar
* poi-3.7-20101029.jar
* poi-ooxml-3.7-20101029.jar
* poi-ooxml-schemas-3.7-20101029.jar
* poi-scratchpad-3.7-20101029.jar
* xmlbeans-2.3.0.jar
* commons-logging-1.1.jar
*/
public class WordDemo {

public static void main(String args[]) {
    String context = null;

    context = readDoc("E:\\4s\\sss.docx");
    System.out.println(context);

/*  String[] aa = context.split("\\s+"); 

    List dataList = new ArrayList();
    int num = aa.length / 3;
    int j = 0;
    for(int i = 0 ; i  maps = new HashMap();
        maps.put("姓名", aa[j]);
        maps.put("性别", aa[j+1]);
        maps.put("工号", aa[j+2]);
        //System.out.println(name);
        dataList.add(maps);
        j+=3;
    }

    System.out.println(dataList);*/

    /*context = "NewFile";
    context+="\n"+
            "1234"+"\r\n"+
            "abcdef";*/
    writeDoc("E:\\4s\\bbbaaa.doc",context);
}

/**
 * 读取Word文件
 */
public static String readDoc(String doc) {
    String text = null;
    try {
        File file = new File(doc);
        String fileName = file.getName();
        int a  = fileName.lastIndexOf(".");
        String name = fileName.substring(a,fileName.length());

        if(name.equals(".doc")){
            // 创建输入流读取DOC文件
            FileInputStream in = new FileInputStream(file);
            // 创建WordExtractor
            WordExtractor extractor = new WordExtractor(in);
            // 对DOC文件进行提取
            //text = extractor.extractText(in);
            text = extractor.getTextFromPieces();
            // text = extractor.getText();
        }else if(name.equals(".docx")){
            FileInputStream fis = new FileInputStream(file);
            XWPFDocument xdoc = new XWPFDocument(fis);
            XWPFWordExtractor wordExtractor = new XWPFWordExtractor(xdoc);
            text = wordExtractor.getText();
            //CoreProperties coreProps = wordExtractor.getCoreProperties();  
            fis.close();
        }else{
            text = "文件格式不符";
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return text;
}

 /**
  * 将内容写成一个doc文件,保存在磁盘上。
  */
public static boolean writeDoc(String path, String content) { 
    ByteArrayInputStream bais = null;
    FileOutputStream ostream = null;
    boolean w = false; 
    try {
        content+="\r\n";
        //byte b[] = content.getBytes("ISO-8859-1");
        //byte b[] = content.getBytes("gbk");
        //byte b[] = content.getBytes("GB2312");
        //byte b[] = content.getBytes("UTF-8");
        byte b[] = content.getBytes();

        bais = new ByteArrayInputStream(b);
        POIFSFileSystem fs = new POIFSFileSystem(); 
        fs.getRoot().createDocument("WordDocument", bais);

        ostream = new FileOutputStream(path);

        fs.writeFilesystem(ostream);
    } catch (IOException e) { 
        e.printStackTrace(); 
    } finally {
        if(bais!=null) try {bais.close(); } catch(Exception e) {e.printStackTrace();} 
        if(ostream!=null) try {ostream.close(); } catch(Exception e) {e.printStackTrace();} 
    }

    return w; 
}

}

里面导出的功能不怎么完整,还有一些导出的字体样式,字体大小,背景颜色等等。。。
大概就这些代码了,有jar包找不到的可以给小弟留下你们邮箱。我这里也有完整的demo,有需要的可以也可以留下邮箱。。。

相关TAG标签
上一篇:java数据结构与算法-递归二分查找
下一篇:金笛检测工具检测到at标识是ok,未读卡,无信号
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站