以 .csv 为后缀的文件,即 Comma Separated Values, CSV 文件,该文件是只包含数字和字母的纯文本文件,通常用逗号分隔。它可以用于在应用程序之间交换数据。本篇文章,我们将介绍如何使用 Spire.XLS for Java 通过 Java 程序实现 Excel 和 CSV 文件的相互转换。代码将分别从以下两个示例来分别展示转换的方法:
安装 Spire.XLS for Java
首先,您需要在 Java 程序中添加 Spire.XLS for Java 文件作为依赖项。JAR 文件可以从此链接下载。 如果您使用 Maven,则可以将以下代码添加到项目的 pom.xml 文件中,从而轻松地在应用程序中导入 JAR 文件。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.cn/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>15.1.3</version>
</dependency>
</dependencies>
将 Excel 转为 CSV
Excel 转为 CSV 可执行如下步骤来实现转换:
- 创建 Workbook 类的对象。
- 调用 Workbook.loadFromFile(String fileName) 方法加载 Excel 文档。
- 使用 Workbook.getWorksheets.get(int Index) 方法获取指定工作表。
- 使用 Worksheet.saveToFile(String fileName, String separator, java.nio.charset.Charset encoding) 方法将工作表保存为 CSV。
- Java
import com.spire.xls.*;
import java.nio.charset.Charset;
public class ExcelToCSV {
public static void main(String[] args) {
//创建Workbook类的对象
Workbook workbook = new Workbook();
//加载Excel
workbook.loadFromFile("test.xlsx");
//计算公式(如果存在)
workbook.calculateAllValue();
//获取第一张工作表sheet
Worksheet sheet = workbook.getWorksheets().get(0);
//保存为CSV
sheet.saveToFile("ExcelToCSV.csv", ",", Charset.forName("UTF-8"));
}
}
将 CSV 转为 Excel
可执行如下步骤将 CSV 文件转换为 Excel 文件:
- 创建 Workbook 类的对象。
- 调用 Workbook.loadFromFile(String fileName, String separator, int row, int column) 方法加载 CSV 文件。
- 通过 Workbook.getWorksheets().get(int Index) 方法获取指定工作表。
- 使用 Worksheet.getCellRange() 方法指定单元格范围,并使用 setIgnoreErrorOptions (java.util.EnumSet ignoreErrorOptions) 方法将单元格中的数字设置为文本时忽略错误。
- 通过 IXLSRange.autoFitColumns() 及 IXLSRange.autoFitRows() 方法设置表格自适应列宽和行高。
- 通过 Workbook.saveToFile(String fileName, ExcelVersion version) 方法保存为 Excel 文件。
- Java
import com.spire.xls.*;
import java.util.EnumSet;
public class CSVToExcel {
public static void main(String[] args) {
//创建Workbook类对象
Workbook workbook = new Workbook();
//加载CSV文件
workbook.loadFromFile("sample.csv", ",", 1, 1);
//获取第一张工作表
Worksheet sheet = workbook.getWorksheets().get(0);
//指定单元格范围,并在设置数字为文本时忽略错误
sheet.getCellRange("A1:D6").setIgnoreErrorOptions(EnumSet.of(IgnoreErrorType.NumberAsText));
//设置自适应列宽、行高
sheet.getAllocatedRange().autoFitColumns();
sheet.getAllocatedRange().autoFitRows();
//保存为Excel
workbook.saveToFile("CSVToExcel.xlsx", ExcelVersion.Version2013);
}
}
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。