Java存入Excel主要可以通过Apache POI库、jExcel库、EasyExcel库等方式实现。其中,Apache POI库提供了丰富的API,可以读写各种版本的Excel,包括Excel 2003、2007、2010等,支持对单元格的样式、公式等各种操作,是最常用的一种方式。jExcel库则是一种轻量级的库,易于使用,但可能在某些功能上略显不足。EasyExcel库是阿里巴巴开源的一款Excel操作库,设计初衷是为了解决大数据量的Excel处理问题,性能较好。
在这里,我们将以Apache POI库为例,详细讲解如何在Java中存入Excel。
一、APACHE POI库的使用
Apache POI库是一个流行的Java库,被广泛用于读写Microsoft Office格式的文件。这个库提供了一系列的API,使得Java开发者可以方便地操作Excel文件。
1.1 安装Apache POI库
首先,你需要在你的Java项目中引入Apache POI库。如果你是使用Maven来管理项目的,可以在pom.xml文件中加入以下依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
1.2 使用Apache POI库创建Excel文件
Apache POI库提供了XSSFWorkbook、XSSFSheet、XSSFRow、XSSFCell等一系列的类,用于创建和操作Excel文件。
- XSSFWorkbook:代表整个Excel文档,相当于一个Excel文件。
- XSSFSheet:代表Excel文件中的一个工作表。
- XSSFRow:代表工作表中的一行。
- XSSFCell:代表一行中的一个单元格。
以下是一个创建Excel文件的示例代码:
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
public class ExcelWriter {
public static void main(String[] args) {
Workbook workbook = new XSSFWorkbook(); // 创建Workbook
Sheet sheet = workbook.createSheet("Sheet1"); // 创建Sheet
// 创建数据行并写入数据
for (int i = 0; i < 10; i++) {
Row row = sheet.createRow(i);
for (int j = 0; j < 5; j++) {
Cell cell = row.createCell(j);
cell.setCellValue(i * j);
}
}
// 将数据写入文件
try (FileOutputStream outputStream = new FileOutputStream("output.xlsx")) {
workbook.write(outputStream);
} catch (IOException e) {
e.printStackTrace();
}
}
}
以上代码首先创建了一个XSSFWorkbook对象,然后在这个Workbook中创建了一个名为"Sheet1"的Sheet。然后在这个Sheet中创建了10行数据,每行数据有5个单元格,单元格中的数据是行号乘以列号。最后将这个Workbook写入到名为"output.xlsx"的文件中。
二、JEXCEL库的使用
jExcel是另一个用于读写Excel的Java库。与Apache POI相比,jExcel的API更加简洁易用,但是它只支持读写.xls格式的Excel文件,不支持.xlsx格式的文件。
2.1 安装jExcel库
如果你是使用Maven来管理项目的,可以在pom.xml文件中加入以下依赖来引入jExcel库:
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
2.2 使用jExcel库创建Excel文件
以下是一个使用jExcel库创建Excel文件的示例代码:
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import java.io.File;
import java.io.IOException;
public class JExcelWriter {
public static void main(String[] args) {
try {
// 创建Workbook
WritableWorkbook workbook = Workbook.createWorkbook(new File("output.xls"));
// 创建Sheet
WritableSheet sheet = workbook.createSheet("Sheet1", 0);
// 写入数据
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 5; j++) {
Label label = new Label(j, i, String.valueOf(i * j));
sheet.addCell(label);
}
}
// 写入文件
workbook.write();
workbook.close();
} catch (IOException | WriteException e) {
e.printStackTrace();
}
}
}
以上代码首先创建了一个WritableWorkbook对象,然后在这个Workbook中创建了一个名为"Sheet1"的Sheet。然后在这个Sheet中创建了10行数据,每行数据有5个单元格,单元格中的数据是行号乘以列号。最后将这个Workbook写入到名为"output.xls"的文件中。
三、EASYEXCEL库的使用
EasyExcel是阿里巴巴开源的一款Excel操作库。它的设计初衷是为了解决大数据量的Excel处理问题,因此在性能方面有明显的优势。同时,EasyExcel的API设计也非常易用。
3.1 安装EasyExcel库
如果你是使用Maven来管理项目的,可以在pom.xml文件中加入以下依赖来引入EasyExcel库:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
3.2 使用EasyExcel库创建Excel文件
以下是一个使用EasyExcel库创建Excel文件的示例代码:
import com.alibaba.excel.EasyExcel;
import java.util.ArrayList;
import java.util.List;
public class EasyExcelWriter {
public static void main(String[] args) {
// 创建数据
List<List<String>> data = new ArrayList<>();
for (int i = 0; i < 10; i++) {
List<String> row = new ArrayList<>();
for (int j = 0; j < 5; j++) {
row.add(String.valueOf(i * j));
}
data.add(row);
}
// 写入数据
EasyExcel.write("output.xlsx").sheet("Sheet1").doWrite(data);
}
}
以上代码首先创建了一个List<List
以上就是Java存入Excel的三种主要方式,你可以根据自己的需求选择合适的方式。
相关问答FAQs:
1. 如何使用Java将数据存入Excel文件中?
- 问题:我想使用Java将我的数据存入Excel文件中,该怎么做?
- 回答:您可以使用Apache POI库来实现在Java中将数据存入Excel文件。首先,您需要导入POI库的相关依赖项,然后使用POI提供的API来创建Excel文件、添加数据并保存文件。
2. 在Java中如何将数据写入Excel文件的特定单元格?
- 问题:我希望能够将数据写入Excel文件中的特定单元格,有什么方法可以实现吗?
- 回答:您可以使用POI库中的Cell类来访问和修改Excel文件中的特定单元格。通过指定单元格的行和列索引,您可以使用setCellValue方法将数据写入指定的单元格。
3. 如何在Java中处理日期和时间并将其存入Excel文件?
- 问题:我需要将包含日期和时间的数据存入Excel文件中,该如何处理?
- 回答:在Java中,您可以使用Java的日期和时间类来处理日期和时间数据,并将其存入Excel文件中。您可以使用SimpleDateFormat类来格式化日期和时间,并将其转换为Excel可以识别的格式,然后使用POI库的setCellValue方法将其写入Excel文件的相应单元格中。
原创文章,作者:Edit2,如若转载,请注明出处:https://docs.pingcode.com/baike/428750