java中excel怎么转换为pdf格式

更新时间:2022-12-24 06:21:00 阅读: 评论:0

java将excel文件转换成pdf文件的方法

java将excel文件转换成pdf文件的原理是使用POI来读取excel的内容,将其写到pdf文件中。实现难度有点大,主要是因为excel sheet结构不固定,内容也不固定,可能存在图片文案等,导致读excel比较复杂,真正实现还是比较复杂的。下面是为大家带来的'java将excel文件转换成pdf文件的方法,欢迎阅读。

java将excel文件转换成pdf文件的方法

最近做一个项目,需要把excel文件转换成pdf文件,经过我查资料,无非使用两种方式:1 POI+Itext 2 Jacob来调用excel另存功能。

第一种方式,原理是使用POI来读取excel的内容,将其写到pdf文件中。实现难度有点大,主要是因为excel sheet结构不固定,内容也不固定,可能存在图片文案等,导致读excel比较复杂,真正实现还是比较复杂的。

第二种方式,原来是使用jacob来调用excel文件的另存为pdf的功能。主要是熟悉jacob的API即可。不需要精巧的编程技巧。

本文使用第二种方式,使用这种方式,需要在当前环境中安装office,pdf软件。建议安装office 2010版本。如果安装的07版本,还需要安装一个excel插件(SaveAsPDFand XPS.exe) 这个插件是微软官方的,链接如下:微软官方

package com.bplead.module.sign.util;

import com.jacob.activeX.ActiveXComponent;

import com.jacob.com.Dispatch;

import com.jacob.com.Variant;

public class TransferTool {

public static void els2pdf(String els,String pdf){

System.out.println("Starting excel...");

long start = System.currentTimeMillis();

ActiveXComponent app = new ActiveXComponent("Excel.Application");

try {

app.tProperty("Visible",fal);

Dispatch workbooks = app.getProperty("Workbooks").toDispatch();

System.out.println("opening document:" + els);

Dispatch workbook = Dispatch.invoke(workbooks, "Open", Dispatch.Method, new Object[]{els, new Variant(fal),new Variant(fal)}, new int[3]).toDispatch();

Dispatch.invoke(workbook, "SaveAs", Dispatch.Method, new Object[] {

pdf, new Variant(57), new Variant(fal),

new Variant(57), new Variant(57), new Variant(fal),

new Variant(true), new Variant(57), new Variant(true),

new Variant(true), new Variant(true) }, new int[1]);

Variant f = new Variant(fal);

System.out.println("to pdf " + pdf);

Dispatch.call(workbook, "Clo", f);

long end = System.currentTimeMillis();

System.out.println("completed..ud:" + (end - start)/1000 + " s");

} catch (Exception e) {

System.out.println("========Error:Operation fail:" + e.getMessage());

}finally {

if (app != null){

app.invoke("Quit", new Variant[] {});

}

}

}

public static void main(String[] args) {

els2pdf("f:ProjectTemplate.xlsx","f:pdf.pdf");

}

}

运行以上环境,需要下载jacob的包,该包还包含2个dll文件,一个是jacob-1.17-x64.dll,这个是64位的,还有一个是jacob-1.17-x86.dll文件,这个是32位的。将jar包包含到classpath目录,dll文件包含到jre/bin目录即可

【拓展】excel识别PDF

打开excel;

1.1 点击[数据];

1.2 点击[获取数据];

1.3 点击[来自文件];

1.4 点击[来自PDF];

2.1 选中要转换的文件;

2.2 导入

3.1 选中要读取的区域;

3.2 转换数据;

删除没有数值的空列;

5.1 选中需要拆分的列;

5.2 点击[拆分列];

5.3 点击[按分隔符];

点击[确定];

把错误的标题重命名;

点击[关闭并上载],完成操作!

本文发布于:2022-12-24 06:21:00,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/89/106396.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:转换为   格式   java   excel   pdf
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图