1.导入jar包
<!-- poi方式二 -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
2.创建工具类
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.stereotype.Component;
import com.example.demo.pojo.Achievement;
@Component
public class HSSFWorkbookUtil {
//导出数据到“区域数据.xls”文件中
public void exportExcel(List<Achievement> list) throws IOException {
//1.在内存中创建一个工作簿
HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
//2.创建工作表
HSSFSheet sheet = hssfWorkbook.createSheet();
//3.创建标题行(从0开始)
HSSFRow titlerRow = sheet.createRow(0);
titlerRow.createCell(0).setCellValue("姓名");
titlerRow.createCell(1).setCellValue("题目");
titlerRow.createCell(2).setCellValue("成绩");
titlerRow.createCell(3).setCellValue("评语");
//4.遍历数据,创建数据行
for (Achievement sch : list) {
//获取工作表的最后一行的行号 --工作表对象名.getLastRowNum()
int lastRowNum = sheet.getLastRowNum();
//创建行 createRow(行号) --行号是从0开始的整数
HSSFRow dataRow = sheet.createRow(lastRowNum + 1);
//存放数据 --dataRow.createCell(0)创建单元格,setCellValue()给单元格设置值
dataRow.createCell(0).setCellValue(sch.getStudentName());
dataRow.createCell(1).setCellValue(sch.getExperimentname());
dataRow.createCell(2).setCellValue(sch.getAchievement());
dataRow.createCell(3).setCellValue(sch.getComment());
}
//5.创建文件 new File(文件保存的URL);
File file = new File("C:\\Users\\Administrator\\Downloads\\成绩.xls");
//6.写入数据
OutputStream outputStream = new FileOutputStream(file);
//7.写出文件,关闭流
hssfWorkbook.write(outputStream);
hssfWorkbook.close();
}
}
这样在我们本地就有一个名为成绩的Excel表啦!
-------------最后我在编写的过程中成功导入jar包但是运行时会报类找不到异常,解决办法是把STS关闭重新打开运行!!!