帮我用java写一导入导出功能
时间: 2024-03-02 18:48:01 浏览: 106
java导入导出
好的,这里给你提供一个简单的Java导入导出功能的实现方法,你可以根据自己的需求进行修改和扩展。
假设你需要实现的导入导出功能是导入/导出Excel文件中的数据。
1. 导出数据到Excel文件:
```java
public void exportToExcel(List<Data> dataList, String filePath) {
// 创建一个工作簿对象
XSSFWorkbook workbook = new XSSFWorkbook();
// 创建一个工作表对象
XSSFSheet sheet = workbook.createSheet("Sheet1");
// 创建表头
XSSFRow headerRow = sheet.createRow(0);
headerRow.createCell(0).setCellValue("ID");
headerRow.createCell(1).setCellValue("Name");
headerRow.createCell(2).setCellValue("Age");
// 创建数据行
for (int i = 0; i < dataList.size(); i++) {
XSSFRow dataRow = sheet.createRow(i + 1);
dataRow.createCell(0).setCellValue(dataList.get(i).getId());
dataRow.createCell(1).setCellValue(dataList.get(i).getName());
dataRow.createCell(2).setCellValue(dataList.get(i).getAge());
}
// 将数据写入到文件中
try {
FileOutputStream fos = new FileOutputStream(filePath);
workbook.write(fos);
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
```
2. 从Excel文件中导入数据:
```java
public List<Data> importFromExcel(String filePath) {
List<Data> dataList = new ArrayList<>();
// 读取Excel文件
try {
FileInputStream fis = new FileInputStream(filePath);
XSSFWorkbook workbook = new XSSFWorkbook(fis);
XSSFSheet sheet = workbook.getSheetAt(0);
// 读取数据行
for (int i = 1; i <= sheet.getLastRowNum(); i++) {
XSSFRow dataRow = sheet.getRow(i);
Data data = new Data();
data.setId((int) dataRow.getCell(0).getNumericCellValue());
data.setName(dataRow.getCell(1).getStringCellValue());
data.setAge((int) dataRow.getCell(2).getNumericCellValue());
dataList.add(data);
}
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
return dataList;
}
```
需要注意的是,这里使用的是Apache POI库来操作Excel文件,你需要在项目中引入这个库的依赖。此外,对于导入功能,还需要对上传的Excel文件进行处理和验证,避免恶意上传和数据格式错误等问题。
阅读全文