用JAVA写一个EXCEL导入导出的工具类
时间: 2023-09-12 09:05:13 浏览: 121
好的,以下是一个简单的Java Excel导入导出的工具类示例:
```
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.DataFormatter;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelUtils {
private static final String FILE_NAME = "example.xlsx"; // 文件名
public static List<List<String>> readExcel() throws IOException {
List<List<String>> result = new ArrayList<>();
FileInputStream inputStream = new FileInputStream(FILE_NAME);
XSSFWorkbook workbook = new XSSFWorkbook(inputStream);
Sheet sheet = workbook.getSheetAt(0);
DataFormatter dataFormatter = new DataFormatter();
for (Row row : sheet) {
List<String> rowData = new ArrayList<>();
for (Cell cell : row) {
rowData.add(dataFormatter.formatCellValue(cell));
}
result.add(rowData);
}
workbook.close();
inputStream.close();
return result;
}
public static void writeExcel(List<List<String>> data) throws IOException {
XSSFWorkbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet();
int rowNum = 0;
for (List<String> rowData : data) {
Row row = sheet.createRow(rowNum++);
int colNum = 0;
for (String cellData : rowData) {
Cell cell = row.createCell(colNum++);
cell.setCellValue(cellData);
}
}
FileOutputStream outputStream = new FileOutputStream(FILE_NAME);
workbook.write(outputStream);
workbook.close();
outputStream.close();
}
}
```
使用示例:
```
public static void main(String[] args) throws IOException {
List<List<String>> data = new ArrayList<>();
List<String> rowData1 = new ArrayList<>();
rowData1.add("姓名");
rowData1.add("年龄");
rowData1.add("地址");
data.add(rowData1);
List<String> rowData2 = new ArrayList<>();
rowData2.add("张三");
rowData2.add("18");
rowData2.add("北京市");
data.add(rowData2);
List<String> rowData3 = new ArrayList<>();
rowData3.add("李四");
rowData3.add("20");
rowData3.add("上海市");
data.add(rowData3);
ExcelUtils.writeExcel(data);
List<List<String>> result = ExcelUtils.readExcel();
for (List<String> rowData : result) {
System.out.println(rowData);
}
}
```
这个工具类使用了 Apache POI 库,可以实现 Excel 文件的读写操作。其中 `readExcel()` 方法可以读取 Excel 文件的内容并返回一个二维数组,`writeExcel()` 方法可以将一个二维数组写入到 Excel 文件中。你可以根据自己的需要进行修改。
阅读全文