导出导入的基本架包
实体类
表格批量新增实体类
柱形图实体类
yml配置类
工具类 接口和service层 用mybatisplus 自带的 不需要再写其他方法 注意这里是分别用了两坐表,都要创建mybatisplus 自带的接口和service实现层
package com.tool;
import com.domain.User;
import org.apache.poi.hpsf.DocumentSummaryInformation;
import org.apache.poi.hpsf.SummaryInformation;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.FillPatternType;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.tomcat.util.http.fileupload.ByteArrayOutputStream;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
public class POIUtils {
public static ResponseEntity<byte[]> employee2Excel(List<User> list) {
//1.创建一个Excel文档 以.xls结尾
HSSFWorkbook workbook = new HSSFWorkbook();
//2.创建文档摘要
workbook.createInformationProperties();
//3.获取并配置文档信息DocumentSummaryInformation
DocumentSummaryInformation docInfo = workbook.getDocumentSummaryInformation();
docInfo.setCategory("员工信息");
docInfo.setManager("fyf");
docInfo.setCompany("ff公司");
//4.获取文档摘要信息SummaryInformation
SummaryInformation summInfo = workbook.getSummaryInformation();
summInfo.setTitle("员工信息表");
summInfo.setAuthor("fyf");
//设置备注
summInfo.setComments("文档由java提供");
//创建标题行的样式HSSFCellStyle
HSSFCellStyle headerStyle = workbook.createCellStyle();
//setFillForegroundColor setFillPattern要同时设置才有效 单元格颜色的设置IndexedColors
headerStyle.setFillForegroundColor(IndexedColors.YELLOW.index);
headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
//设置日期行的样式HSSFDataFormat
HSSFCellStyle dateCellStyle = workbook.createCellStyle();
dateCellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
//创建sheetHSSFSheet
HSSFSheet sheet = workbook.createSheet("员工信息表");
//创建列的宽度 单位是bit
sheet.setColumnWidth(0, 5 * 256);
sheet.setColumnWidth(1, 12 * 256);
sheet.setColumnWidth(2, 10 * 256);
sheet.setColumnWidth(3, 5 * 256);
sheet.setColumnWidth(4, 12 * 256);
//6.创建标题行HSSFRow
HSSFRow r0 = sheet.createRow