Excel广泛应用于商业、教育等众多领域,具有丰富的数据处理和分析功能,包括计算、图表、排序、筛选、数据透视表等。在处理大型数据内容时,Excel绝对是最佳工具。但如果要将处理好的数据内容进行保存和传输的话,转换为PDF文档格式或许更加可靠。PDF文档的稳定布局可以避免数据内容被随意更改,即使是在多次传输后也能保证数据的准确性。将Excel转换为PDF的工具有很多。这里我将介绍如何通过编程的方法来实现该功能。以Java代码为例,使用到的产品是Free Spire.XLS for Java(免费版)。下面是程序环境和示例代码。
程序环境
IntelliJ IDEA 2018 (jdk 1.8.0) 在进行操作之前先导入JAR包,请参考以下两种导入方式: 方法一:如果您使用的是 maven,先创建maven项目。然后通过添加以下代码来配置pom.xml 文件,再点击Import Changes将 JAR文件导入到应用程序中。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
方法二:如果您没有使用 maven,则可以从此链接下载Free Spire.XLS for Java,找到lib文件夹下的Spire.XLS.jar并进行解压;然后在IDEA中创建一个新项目,依次点击“文件”(File),“项目结构”(Project Structure),“组件”(Modules),“依赖项”(Dependencies),再点击右方绿色“+”下的第一个选项“JAR文件或路径”(JARs or Directories),找到解压后的Spire.XLS.jar 文件,点击确认,将其导入到项目中。
将整个工作簿转换为PDF
代码解释:
首先,通过调用Workbook类的构造函数创建一个Workbook对象,并使用loadFromFile()方法从指定的路径加载Excel文件。接着,通过调用setSheetFitToPage()方法设置工作表适应页面,以便更好地进行PDF文件转换。最后,使用saveToFile()方法将生成的PDF文件保存到指定的位置。
示例代码:
import com.spire.xls.FileFormat;
import com.spire.xls.Workbook;
public class ConvertExcelToPdf {
public static void main(String[] args) {
//创建Workbook 实例并加载示例文档
Workbook workbook = new Workbook();
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.xlsx");
//转换时设置工作表适应页面
workbook.getConverterSetting().setSheetFitToPage(true);
//保存为PDF文档格式
workbook.saveToFile("output/ExcelToPdf.pdf", FileFormat.PDF);
}
}
效果图:
将特定工作表转换为PDF
代码解释:
首先通过调用Workbook类的构造函数创建一个Workbook对象,并使用loadFromFile()方法从指定的路径加载Excel文件。接下来,使用setSheetFitToWidth()方法调整工作表以适合页面大小,然后使用getWorksheets()方法从工作表列表中获取第一个工作表,并使用saveToPdf()方法保存转换后的PDF文件。
示例代码:
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class ConvertWorksheetToPdf {
public static void main(String[] args) {
//创建Workbook 实例并加载示例文档
Workbook workbook = new Workbook();
workbook.loadFromFile("C:\\Users\\Administrator\\Desktop\\Sample.xlsx");
//转换时设置工作表适应宽度
workbook.getConverterSetting().setSheetFitToWidth(true);
//获取第一个工作表
Worksheet worksheet = workbook.getWorksheets().get(0);
//保存为PDF文档格式
worksheet.saveToPdf("output/WorksheetToPdf.pdf");
}
}