excel 转pdf

前言

在项目中用到了Excel转换PDF的功能,做个笔记,记录一下。


一、pdf是什么?

PDF是Portable Document Format的简称,意为“可携带文档格式”,是由Adobe Systems用于与应用程序、操作系统、硬件无关的方式进行文件交换所发展出的文件格式。

二、demo

1.引入库

代码如下(示例):

//依赖第三方jar包,包名(Spire.Xls.jar)
import com.spire.xls.*;

2.生成pdf

代码如下(示例):

	/**
     * 生成pdf
     */
public class ExcelToPDF {
	public static void main(String[] args) {
		//加载Excel文档
		Workbook wb = new Workbook();
		wb.loadFromFile("test.xlsx");
		
		//调用方法保存为PDF格式
		wb.saveToFile("ToPDF.pdf".FileFormat.PDF);
	
	}
}

三、使用步骤

1.引入库

代码如下(示例):

import com.spire.pdf.PdfDocument;
import com.spire.pdf.PdfPageBase;
import com.spire.pdf.graphics.*;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
import org.springframework.beans.factory.annotation.Value;

import java.awt.*;
import java.awt.geom.Dimension2D;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;

import java.io.*;

2.生成pdf

代码如下(示例):

	/**
     * 生成pdf
     */
public class ExcelForPdf {

    @Value("${watermark.file.url}")
    private static String watermarkUrl;

        //传入当前excel路径,生成pdf的路径,文件名
          public static void  excelForPdf(String fileName) {
            String property = System.getProperty("user.dir");
            String filePath = property + File.separator + "file";

            //拼接服务器路径+文件名称,获取该文件
            String pathname = filePath+ File.separator + fileName;

            Workbook wb = new Workbook();

            /**
            //第一种方法直接将excel转pdf
            
            //根据文件名称读取当前路径下excel
            wb.loadFromFile(pathname);
            
            //移除原先.xlxs格式,拼接pdf格式
            String pdfname = pathname.substring(0, pathname.indexOf(".")) + ".pdf";
            
            //在当前路径下生成pdf格式文件
            wb.saveToFile(pdfname, FileFormat.PDF);
            */
            
            //第二种方法直接将excel的第一个sheet页转pdf
            //获取当前excel
            wb.loadFromFile(pathname);
            //设置转换时,工作表自适应PDF页面(核心方法)
            wb.getConverterSetting().setSheetFitToPage(true);
            //获取当前excel第一页
            Worksheet sheet = wb.getWorksheets().get(0);
            //移除原先.xlxs格式,拼接pdf格式
             String pdfname = pathname.substring(0, pathname.indexOf(".")) + ".pdf";
            //在当前路径下生成pdf格式文件
            sheet.saveToPdf(pdfname);
            }
   }

   

总结

以上就是我做的记录,本文仅仅简单介绍了如何把Excel转换成PDF
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中可以使用Apache POI和iText库来实现ExcelPDF功能。 首先,使用Apache POI读取Excel文件,将Excel文件中的内容读取到Java程序中。然后,使用iText库将读取到的内容写入到PDF文件中。 以下是一个简单的Java代码示例,演示如何将Excel文件换为PDF文件: ```java import java.io.FileInputStream; import java.io.FileOutputStream; import com.itextpdf.text.Document; import com.itextpdf.text.pdf.PdfWriter; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Workbook; public class ExcelToPdfConverter { public static void main(String[] args) { try { // 读取Excel文件 Workbook workbook = new HSSFWorkbook(new FileInputStream("input.xls")); // 创建PDF文档 Document pdfDoc = new Document(); PdfWriter.getInstance(pdfDoc, new FileOutputStream("output.pdf")); pdfDoc.open(); // 将Excel文件中的内容写入PDF文档中 for (int i = 0; i < workbook.getNumberOfSheets(); i++) { pdfDoc.newPage(); pdfDoc.add(workbook.getSheetAt(i).createDrawingPatriarch()); } // 关闭PDF文档和Excel文件 pdfDoc.close(); workbook.close(); System.out.println("Excel文件已成功换为PDF文件!"); } catch (Exception e) { e.printStackTrace(); } } } ``` 在上面的代码示例中,我们使用了Apache POI库来读取Excel文件,使用iText库将Excel文件中的内容写入PDF文件中。请注意,在此过程中,我们使用了HSSFWorkbook类来处理.xls格式的Excel文件。如果您需要处理.xlsx格式的Excel文件,则需要使用XSSFWorkbook类。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值