目录
- 依赖引入
- 代码实现
- 代码解释
- TxtData 类
- readTxtFile 方法
- writeToExcel 方法
- readExcelFile 方法
- main 方法
- 注意事项
依赖引入
首先,如果你使用的是 Maven 项目,需要在 pom.XML 中添加 EasyExcel 的依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>3.1.1</version>
</dependency>
代码实现
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.builder.ExcelReaderBuilder;
import com.alibaba.excel.read.builder.ExcelReaderSheetBuilder;
import Java.io.*;
import java.util.ArrayList;
import java.util.List;
// 定义数据类,用于存储每行数据
// 这个类用于封装从 txt 文件中读取的每行内容
// 每个 TxtData 对象代表 txt 文件中的一行
class TxtData {
// 存储 txt 文件每行的内容
private String content;
// 构造函数,用于初始化 content 属性
public TxtData(String content) {
this.content = content;
}
// 获取 content 属wCVORdm性的值
public String getContent() {
return content;
}
// 设置 content 属性的值
public void setContent(String content) {
this.content = content;
}
}
public class TxtToExcelConverter {
public static void main(String[] args) {
// 定义 txt 文件的路径
String txtFilePath = "input.txt";
// 定义生成的 excel 文件的路径
String excelFilePath = "output.xlsx";
try {
// 调用 readTxtFile 方法将 txt 文件内容转换为 List<TxtData>
List<TxtData> txtDataList = readTxtFile(txtFilePath);
// 调用 writeToExcel 方法将 List<TxtData> 写入 excel 文件
writeToExcel(txtDataList, excelFilePath);
// 调用 readExcelFile 方法从 excel 文件读取内容到 List<TxtData>
List<TxtData> excelDataList = readExcelFile(excelFilePath);
// 遍历从 excel 读取的数据列表
for (TxtData data : excelDataList) {
// 打印每个 TxtData 对象的内容
System.out.println(data.getContent());
}
} catch (IOException e) {
// 捕获并打印可能出现的 IO 异常
e.printStackTrace();
}
}
// 读取 txt 文件内容到 List<TxtData>
private static List<TxtData> readTxtFile(String txtFilePath) throws IOException {
// 创建一个空的 List 用于存储 TxtData 对象
List<TxtData> txtDataList = new ArrayList<>();
// 使用 try-with-resources 语句创建 BufferedReader 来读取 txt 文件
try (BufferedReader reader = new BufferedReader(new FileReader(txtFilePath))) {
String line;
// 逐行读取 txt 文件,直到文件末尾
while ((line = reader.readLine()) != null) {
// 将每行内容封装成 TxtData 对象并添加到列表中
txtDataList.add(new TxtData(line));
}
}
// 返回存储了 txt 文件内容的 List
return txtDataList;
}
// 将 List<TxtData> 写入 excel 文件
private static void writeToExcel(List<TxtData> dataList, String excelFilePath) {
// 使用 EasyExcel 的 write 方法创建一个写入器
// 指定写入的文件路径和数据类型
// 然后指定工作表名称为 "Sheet1"
// 最后调用 doWrite 方法将数据列表写入 excel 文件
EasyExcel.write(excelFilePath, TxtData.class).sheet("Sheet1").doWrite(dataList);
}
// 从 excel 文件读取内容到 List<TxtData>
private static List<TxtData> readExcelFile(String excelFilePath) {
// 创建一个空的 List 用于存储从 excel 文件读取的数据
List<TxtData> dataList = new ArrayList<>();
// 使用 EasyExcel 的 read 方法创建一个读取器构建器
// 指定要读取的文件路径和数据类型
ExcelReaderBuilder readerBuilder = EasyExcel.read(excelFilePath, TxtData.class, null);
// 从读取器构建器创建一个工作表读取器构建器
ExcelReaderSheetBuilder shjseetBuilder = readerBuilder.sheet();
// 调用 doReadSync 方法同步读取 excel 文件的内容到 List 中
dataList = sheetBuilder.doReadSync();
// 返回存储了 excel 文件内容的 List
return dataList;
}
}
代码解释
TxtData&phpnbsp;类
这个类是一个简单的 JavaBean,用于封装从 txt 文件中读取的每行内容。它包含一个 content 属性,以及对应的 getter 和 setter 方法,还有一个构造函数用于初始化 content 属性。
readTxtFile 方法
该方法接受一个 txt 文件的路径作为参数,使用 BufferedReader 逐行读取 txt 文件的内容。每读取一行,就将其封装成一个 TxtData 对象,并添加到 List<TxtData> 中。最后返回这个列表。
writeToExcel 方法
该方法接受一个 List<TxtData> 和一个&nbsjsp;excel 文件的路径作为参数。使用 EasyExcel 的 write 方法创建一个写入器,指定写入的文件路径和数据类型,然后指定工作表名称为 "Sheet1",最后调用 doWrite 方法将数据列表写入 excel 文件。
readExcelFile 方法
该方法接受一个 excel 文件的路径作为参数。使用 EasyExcel 的 read 方法创建一个读取器构建器,指定要读取的文件路径和数据类型。然后从读取器构建器创建一个工作表读取器构建器,调用 doReadSync 方法同步读取 excel 文件的内容到 List<TxtData> 中,并返回这个列表。
main 方法
这是程序的入口点,它依次调用 readTxtFile、writeToExcel 和 readExcelFile 方法,完成 txt 文件到 excel 文件的转换,并将 excel 文件内容读取到 List 中,最后打印出 List 中的内容。
注意事项
请确保将 txtFilePath 和 excelFilePath 替换为你实际的文件路径。如果文件路径不存在或文件无法访问,可能会抛出 IOException 异常。
通编程客栈过以上步骤,你就可以使用 Java 代码将 txt 文件转换为 excel 文件,并将 excel 文件内容读取到 List 集合中了。
到此这篇关于Java实现TXT转Excel并读取Excel内容到List集合的完整代码的文章就介绍到这了,更多相关Java TXT转Excel并读取到List内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!
加载中,请稍侯......
精彩评论