JavaPOI导出excel指定名称分组折叠
JavaPOI导出excel指定名称分组折叠package com.java.utils;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.List;
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.HSSFFont;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
/
**
* excel 导出
*
* @author Admin
* @date 2020年5⽉20⽇
*/
@RestController
public class TestExcel {
@GetMapping(value = "/export", produces = "application/json; charset=utf-8")
public String createExcel(HttpServletResponse response) throws IOException {
// 创建HSSFWorkbook对象(excel的⽂档对象)
Workbook wb = new HSSFWorkbook();
// HSSFCellStyle style = Style(wb);
// 建⽴新的sheet对象(excel的表单)
Sheet sheet = wb.createSheet("成绩表");
// 在sheet⾥创建第⼀⾏,参数为⾏索引(excel的⾏),可以是0~65535之间的任何⼀个
// HSSFRow row1 = ateRow(0);
Row row1= ateRow(0);
// 创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何⼀个
Cell cell = ateCell(0);
// 设置单元格内容
cell.setCellValue("学员考试成绩⼀览表");
/
/ cell.setCellStyle(style);
// 合并单元格CellRangeAddress构造参数依次表⽰起始⾏,截⾄⾏,起始列,截⾄列
sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 3));
// 在sheet⾥创建第⼆⾏
//HSSFRow row2 = ateRow(1);
Row row2= ateRow(1);
// 创建单元格并设置单元格内容
/
/ Cell(0).setCellStyle(style);
// Cell(1).setCellStyle(style);
// Cell(2).setCellStyle(style);
// Cell(3).setCellStyle(style);
CellRangeAddress c = CellRangeAddress.valueOf("A2:D2");
sheet.setAutoFilter(c);
//c.formatAsString();
List<StudentInfo> stuList = new ArrayList<StudentInfo>();
StudentInfo stu1 = new StudentInfo();
stu1.setStuName("狗⽼齐");
stu1.setStuClass("5班");
stu1.setBishiResult("28");
stu1.setJishiResult("29");
stuList.add(stu1);
StudentInfo stu2 = new StudentInfo();
stu2.setStuName("靓仔");
stu2.setStuClass("5班");
stu2.setBishiResult("82");
stu2.setJishiResult("92");
stuList.add(stu2);
StudentInfo stu3 = new StudentInfo();
stu3.setStuName("阳仔");
stu3.setStuClass("8班");
stu3.setBishiResult("82");
stu3.setJishiResult("92");
stuList.add(stu3);
StudentInfo stu4 = new StudentInfo();
stu4.setStuName("1仔");
stu4.setStuClass("8班");
stu4.setBishiResult("82");
stu4.setJishiResult("92");
stuList.add(stu4);
StudentInfo stu5 = new StudentInfo();
stu5.setStuName("2仔");
stu5.setStuClass("8班");
stu5.setBishiResult("82");
stu5.setJishiResult("92");
stuList.add(stu5);
StudentInfo stu6 = new StudentInfo();
stu6.setStuName("3仔");
stu6.setStuClass("8班");
stu6.setBishiResult("82");
stu6.setJishiResult("92");
stuList.add(stu6);
int len=0;
for (int i = 0; i < stuList.size(); i++) {
StudentInfo stu = (i);
Row row3 = ateRow(2 + i);
// Cell(0).setCellStyle(style);
// Cell(1).setCellStyle(style);
// Cell(2).setCellStyle(style);
/
/ Cell(3).setCellStyle(style);
String stringCellValue = Cell(0).getStringCellValue();
if("阳仔".equals(stringCellValue)){
len=i+2;
}
}
//CellRange("A4:A5").groupByRows(true);
// 输出Excel⽂件
OutputStream output = OutputStream();
response.setHeader("Content-disposition", "attachment; filename=test.xls");        response.setContentType("application/msexcel");
wb.write(output);
output.close();
return null;
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。