java如何导入导出excel
Excel是一种非常流行的电子表格软件,可以轻松地存储、组织和管理数据。而Java是一种非常强大的编程语言,可以被用于开发各种类型的应用程序,包括数据处理和管理应用程序。本文将介绍Java如何导入导出Excel。
一、导入Excel
Java提供了多种方法来导入Excel,最常用的是Apache POI和JExcelAPI这两个开源库。
1. Apache POI
Apache POI是一个Java库,用于处理Microsoft的OLE2和Office Open XML(OOXML)格式的文档。它允许Java开发人员在他们的应用程序中读写Excel文件,并支持多种Excel格式,如.xls、.xlsx和.xlsm等。
下面是一个使用Apache POI导入Excel的示例代码:
// 导入Excel文件
File excelFile = new File("excelFile.xls");
FileInputStream inputStream = new FileInputStream(excelFile);
Workbook workbook = new HSSFWorkbook(inputStream);
Sheet firstSheet = workbook.getSheetAt(0);
// 遍历Excel数据
Iterator iterator = firstSheet.iterator();
while (iterator.hasNext()) {
Row nextRow = iterator.next();
Iterator cellIterator = nextRow.cellIterator();
while (cellIterator.hasNext()) {
Cell cell = cellIterator.next();
switch (cell.getCellType()) {
case Cell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue());
break;
case Cell.CELL_TYPE_BOOLEAN:
System.out.print(cell.getBooleanCellValue());
break;
case Cell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue());
break;
}
}
System.out.println();
}
2. JExcelAPI
JExcelAPI是一个专门用于处理Excel文件的Java API,可以读写Excel文件,支持.xls格式的文件。
下面是一个使用JExcelAPI导入Excel的示例代码:
// 导入Excel文件
Workbook workbook = Workbook.getWorkbook(new File("excelFile.xls"));
Sheet sheet = workbook.getSheet(0);
// 遍历Excel数据
for (int i = 0; i < sheet.getRows(); i++) {
for (int j = 0; j < sheet.getColumns(); j++) {
Cell cell = sheet.getCell(j, i);
System.out.print(cell.getContents() + " ");
}
System.out.println();
}
二、导出Excel
Java同样提供了多种方法来导出Excel,最常用的是Apache POI和JExcelAPI这两个开源库。
1. Apache POI
下面是一个使用Apache POI导出Excel的示例代码:
// 创建Excel工作簿
Workbook workbook = new HSSFWorkbook();
Sheet sheet = workbook.createSheet("sheet1");
// 创建Excel表头
Row headerRow = sheet.createRow(0);
headerRow.createCell(0).setCellValue("姓名");
headerRow.createCell(1).setCellValue("年龄");
headerRow.createCell(2).setCellValue("性别");
// 填充Excel数据
Row dataRow = sheet.createRow(1);
dataRow.createCell(0).setCellValue("张三");
dataRow.createCell(1).setCellValue(18);
dataRow.createCell(2).setCellValue("男");
// 导出Excel文件
FileOutputStream outputStream = new FileOutputStream(new File("excelFile.xls"));
workbook.write(outputStream);
outputStream.close();
2. JExcelAPI
下面是一个使用JExcelAPI导出Excel的示例代码:
// 创建Excel工作簿
WritableWorkbook workbook = Workbook.createWorkbook(new File("excelFile.xls"));
WritableSheet sheet = workbook.createSheet("sheet1", 0);
// 创建Excel表头
Label nameLabel = new Label(0, 0, "姓名");
Label ageLabel = new Label(1, 0, "年龄");
Label genderLabel = new Label(2, 0, "性别");
sheet.addCell(nameLabel);
sheet.addCell(ageLabel);
sheet.addCell(genderLabel);
// 填充Excel数据
Label name = new Label(0, 1, "张三");
Number age = new Number(1, 1, 18);
Label gender = new Label(2, 1, "男");
sheet.addCell(name);
sheet.addCell(age);
sheet.addCell(gender);
// 导出Excel文件
workbook.write();
workbook.close();