springboot + mybatis + poi实现报表导出

本文介绍了如何使用SpringBoot、Mybatis和Apache POI库来实现报表的Excel导出。通过展示具体的数据库表结构、项目代码组织结构,包括controller、实体类、mapper、mapper.xml、Service、utils、启动类、配置文件和依赖管理等关键部分,详细讲解了导出流程。在完成配置和编写后,运行main方法并访问指定接口,可以成功导出Excel报表。
摘要由CSDN通过智能技术生成

话不多说,直接上代码

数据库表如下

代码结构如下

controller

 

package com.yuanyuan.smp.controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.yuanyuan.smp.entity.User;
import com.yuanyuan.smp.service.IUserService;
import com.yuanyuan.smp.utils.FileUtil;

@RestController
public class UserController {
	
	@Autowired
	private IUserService userService;
	
	@RequestMapping("/")
	public String hello() {
		return "hello";
	}
	
	@RequestMapping("/exportExcel")
	public void exportExcel(HttpServletRequest request, HttpServletResponse response) {
		List<User> userList = userService.selectAll();
		// 创建工作簿
		HSSFWorkbook workbook = new HSSFWorkbook();
		// 创建表
		HSSFSheet sheet = workbook.createSheet("用户信息");
		// 创建行
		HSSFRow row = sheet.createRow(0);
		// 创建单元格样式
		HSSFCellStyle cellStyle = workbook.createCellStyle();
		// 表头
		String[] head = {"姓名", "年龄"};
		HSSFCell cell;
		// 设置表头
		for(int iHead=0; iHead<head.length; iHead++) {
	    	cell = row.createCell(iHead);
	    	cell.setCellValue(head[iHead]);
	    	cell.setCellStyle(cellStyle);
	    }
		 // 设置表格内容
	    for(int iBody=0; iBody<userList.size(); iBody++) {
	    	row = sheet.createRow(iBody+1);
	    	User u = userList.get(iBody);
	    	String[] userArray = new String[2];
	    	userArray[0]=u.getName();
	    	userArray[1]=u.getAge() + "";
	    	for(int iArray&#
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值