在Java中,我们可以使用Apache POI库来实现Excel文件的导入和导出功能。Apache POI是一个流行的API,它允许程序员创建、修改和显示MS Office文件,包括Excel。这是一个开源的库,可以处理各种版本的Excel文件,包括.xls和.xlsx。
首先,我们需要在项目中引入Apache POI库。如果你使用的是Maven项目,可以在pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.0.0</version>
</dependency>
接下来,我们来看看如何使用Apache POI来导出数据到Excel文件。
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Arrays;
import java.util.List;
public class ExcelExporter {
public void export(List<String[]> data, String excelFilePath) throws IOException {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet();
int rowCount = 0;
for (String[] rowData : data) {
Row row = sheet.createRow(++rowCount);
int columnCount = 0;
for (String cellData : rowData) {
Cell cell = row.createCell(++columnCount);
cell.setCellValue(cellData);
}
}
try (FileOutputStream outputStream = new FileOutputStream(excelFilePath)) {
workbook.write(outputStream);
}
}
}
在上述代码中,我们首先创建了一个新的工作簿和工作表。然后,我们遍历提供的数据,为每一行数据创建一个新的行对象,然后为每个数据创建一个新的单元格,并设置其值。最后,我们将工作簿写入到指定的文件。
接下来,我们来看看如何使用Apache POI来从Excel文件导入数据。
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ExcelImporter {
public List<String[]> importData(String excelFilePath) throws IOException {
List<String[]> data = new ArrayList<>();
InputStream inputStream = new FileInputStream(excelFilePath);
Workbook workbook = new XSSFWorkbook(inputStream);
Sheet firstSheet = workbook.getSheetAt(0);
Iterator<Row> iterator = firstSheet.iterator();
while (iterator.hasNext()) {
Row nextRow = iterator.next();
Iterator<Cell> cellIterator = nextRow.cellIterator();
String[] rowData = new String[nextRow.getPhysicalNumberOfCells()];
int i = 0;
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
rowData[i++] = cell.toString();
}
data.add(rowData);
}
workbook.close();
inputStream.close();
return data;
}
}
在上述代码中,我们首先打开指定的Excel文件,并创建一个工作簿对象。然后,我们获取第一个工作表,并开始遍历每一行。对于每一行,我们创建一个新的字符串数组,并遍历每个单元格,将其值添加到字符串数组中。最后,我们将字符串数组添加到数据列表中。
以上就是在Java中使用Apache POI实现Excel文件导入导出功能的基本步骤。这只是基础的使用,Apache POI还提供了许多其他功能,如样式处理、公式支持等,可以根据需要进行更深入的探索。
云服务器推荐
蓝易云国内/海外高防云服务器推荐
海外免备案云服务器链接:www.tsyvps.com
蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。