Apache-Tika解析Excell文档

摘要:
通常在使用爬虫时,爬取到网上的文章都是各式各样的格式处理起来比较麻烦,这里我们使用Apache-Tika来处理Excell格式的文章,如下:packagecom.mengyao.tika.app;importjava.io.File;importjava.io.FileInputStream;importorg.apache.tika.metadata.Metadata;importorg.apa

通常在使用爬虫时,爬取到网上的文章都是各式各样的格式处理起来比较麻烦,这里我们使用Apache-Tika来处理Excell格式的文章,如下:

packagecom.mengyao.tika.app;

importjava.io.File;
importjava.io.FileInputStream;

importorg.apache.tika.metadata.Metadata;
importorg.apache.tika.parser.ParseContext;
importorg.apache.tika.parser.microsoft.ooxml.OOXMLParser;
importorg.apache.tika.sax.BodyContentHandler;

public classExcellApp {

    public static void main(final String[] args) throwsException {

        //Tika默认是10*1024*1024,这里防止文件过大导致Tika报错
        BodyContentHandler handler = new BodyContentHandler(1024 * 1024 * 10);
        Metadata metadata = newMetadata();
        FileInputStream inputstream = new FileInputStream(new File("D:/报价清单.xlsx"));
        ParseContext pcontext = newParseContext();

        //解析Excell文档时应由超类AbstractParser的派生类OOXMLParser实现
        OOXMLParser msofficeparser = newOOXMLParser();
        msofficeparser.parse(inputstream, handler, metadata, pcontext);
        //获取Excell文档的内容
        System.out.println("Excell文档内容:" +handler.toString());

        //获取Excell文档的元数据
        System.out.println("Excell文档元数据:");
        String[] metadataNames =metadata.names();

        for(String name : metadataNames) {
            System.out.println(name + " : " +metadata.get(name));
        }
    }

}

免责声明:文章转载自《Apache-Tika解析Excell文档》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇CToolTipCtrl使用详细解说【转载】make: Nothing to be done for `all'. 解决方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux下卸载apache方法小结

方法一 代码如下: 1.root@server ~]# rpm -qa|grep httpdhttpd-2.2.3-11.el5_2.centos.4httpd-manual-2.2.3-11.el5_2.centos.4 说明:rpm –qa | grep httpd命令是为了把httpd相关的包都列出来, 我上面的例子是Linux默认安装apache...

Apache与Nginx优缺点比较

本文来源:收集、整理自互联网 1、nginx相对于apache的优点:轻量级,同样起web服务,比apache 占用更少的内存及资源抗并发,nginx处理请求是异步非阻塞的,而apache则是阻塞型的,在高并发下nginx能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速 apache相对于nginx的优点...

Eclipse中创建Maven多模块工程

1、先创建父项目 在Eclipse里面New -> Maven Project; 在弹出界面中选择“Create a simple project” 这样,我们就按常规模版创建了一个Maven工程。我们还需要对这个工程进行修改。注意:Packaging的类型为pom。 因为,这是一个父项目,不需要有什么源码,那么,我们在Eclipse中将这...

spark parquet 从hdfs 上读 和写 scala 版本

import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.sql.SQLContext import org.apache.spark.sql.DataFrame import org.apache.spark.sql.Sav...

Linux被中断的系统调用

慢系统调用,指的是可能永远无法返回,从而使进程永远阻塞的系统调用,比如无客户连接时的accept、无输入时的read都属于慢速系统调用。 在Linux中,当阻塞于某个慢系统调用的进程捕获一个信号,则该系统调用就会被中断,转而执行信号处理函数,这就是被中断的系统调用。 然而,当信号处理函数返回时,有可能发生以下的情况: 如果信号处理函数是用signal注册...

一个神秘现象引发对beego框架的思考

小强最近在项目中遇到了一个很奇怪的问题:在整改日志规范时,为了避免影响现有的代码结构以及改动尽可能小的前提下,在调用记日志的SDK处将某一个字段值首字母改为大写,代码示例如下: fmt.Println("--------SayHello begin------------") //项目中这里的a实际是作为参数传入,只是可能为空串,不为空串,这样写肯定没问...