帮我写一个java代码,实现excel导出导入功能
时间: 2024-05-26 13:10:36 浏览: 71
好的,导出和导入Excel数据的Java代码如下:
// 导出Excel数据
public void exportExcel(List<String[]> dataList, String fileName) {
HSSFWorkbook workbook = new HSSFWorkbook(); // 创建一个Excel文件
HSSFSheet sheet = workbook.createSheet(); // 创建一个工作表
int rowNum = 0; // 行计数器
for (String[] rowData : dataList) { // 遍历数据集合
HSSFRow row = sheet.createRow(rowNum++); // 创建行对象
int cellNum = 0; // 列计数器
for (String cellData : rowData) { // 遍历行中的数据
HSSFCell cell = row.createCell(cellNum++); // 创建单元格对象
cell.setCellValue(cellData); // 设置单元格的值
}
}
try {
FileOutputStream fos = new FileOutputStream(fileName); // 创建一个文件输出流
workbook.write(fos); // 将Excel文件写入输出流
fos.close(); // 关闭文件输出流
} catch (IOException e) {
e.printStackTrace();
}
}
// 导入Excel数据
public List<String[]> importExcel(String fileName) {
List<String[]> dataList = new ArrayList<>();
try {
FileInputStream fis = new FileInputStream(fileName); // 创建一个文件输入流
HSSFWorkbook workbook = new HSSFWorkbook(fis); // 创建一个Excel文件
HSSFSheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
for (Row row : sheet) { // 遍历行
List<String> rowData = new ArrayList<>();
for (Cell cell : row) { // 遍历单元格
String cellData = cell.getStringCellValue(); // 获取单元格的值
rowData.add(cellData);
}
dataList.add(rowData.toArray(new String[rowData.size()])); // 将行数据添加到数据集合中
}
fis.close(); // 关闭文件输入流
} catch (IOException e) {
e.printStackTrace();
}
return dataList;
}
阅读全文