根据公司开发需要,需要将".xls",".xlsx",".doc", ".docx"格式文件通过浏览器进行报表展示。
在网上找了个例子,jacob.jar可以实现对excel、word、ppt文件转换为html文件,然后通过jsp页面用iframe进行加载,这样可以实现公司所需效果。
同时需要引入jacob-1.18-x64.dll/jacob-1.18-x86.dll插件(根据自己操作系统本身位数选择相应插件)
先简单说明一下我项目的情况:
jdk:1.7(找的例子jacob.jar包所要求的最低jdk版本)
项目类型:maven-web项目(通过pom.xml管理jar)【事先用了spring mvc实现了页面展现功能控制层、逻辑层代码,需将jacob.jar转换功能集成进去】
开发服务器:jetty 6.1.26
部署时服务器:tomcat 6.0/tomcat 7.0
以下是集成jacob转换功能时出现的问题:
我的项目结构是通过maven来管理jar包,根据以往的开发经验来说(本人菜鸟,经验有限,大神勿喷),本地加入jar应该可以直接通过Java Build Path 中直接引入jar文件。但是通过该方法可以成功引入的jacob.jar,但是在项目运行的过程中,会出现找不到jacob.jar包中类方法(纠结啊,蛋疼啊)
心想,算了,此路不同,另辟他路,既然我的项目是通过pom.xml来管理jar的,那我去找一下相关的jacob.jar配置文件吧,但是到maven官方仓库中搜竟然没有一个是我能用的。
还是行不通,各种百度、谷歌、必应,纠结了半天。最后搜了一下,“maven 本地 jar”,都介绍了maven安装本地jar的方法(我是小白,之前不知道maven使用本地jar需要进行安装),根据广大网友提供的方法,进行了jacob.jar安装,
在cmd命令窗口中执行
mvn install:install-file -Dfile=my-jar.jar -DgroupId=org.richard -DartifactId=my-jar -Dversion=1.0 -Dpackaging=jar 参数说明:-Dfile:需安装的jar路径-DgroupId:组名-DartifactId:包名-Dversion:版本-Dpackaging:安装文件类型
安装成功后将相应的配置参数加到pom.xml中,有时候jacob会不会生成,可以手动将jar放到相应的文件夹下。主要,名称一定要与命令安装的名称一致。
参数对应下面pom.xml配置
<dependency>
<groupId>com.jacob</groupId>
<artifactId>jacob</artifactId>
<version>1.18</version>
</dependency>
这样,终于可以正常运行了。