Springboot 는 POI 를 사용 하여 Excel 업로드 와 다운로드 기본 기능 을 실현 합 니 다.
3623 단어 자바poispringbootexcel
Workbook( Excel) --createSheet()-->
Sheet(sheet ) --createRow()-->
Row( ) --createCell()-->
Cell( )
ooxml HSSF XSSF
Excel , , demo
2.파일 다운로드
/**
* Excel
* @author yuanye.wong
*/
public class ExcelUtil {
public static HSSFWorkbook createWorkbook(String sheetName, String[] header){
if (Objects.isNull(header) || header.length == 0) {
return null;
}
if(sheetName == null) {
sheetName = new String("sheet1");
}
HSSFWorkbook workbook = new HSSFWorkbook();
// sheetName
HSSFSheet sheet = workbook.createSheet(sheetName);
sheet.setDefaultColumnWidth(18);
//
HSSFCellStyle headerStyle = workbook.createCellStyle();
headerStyle.setFillForegroundColor(IndexedColors.LIGHT_GREEN.index);
headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND);
//
HSSFRow sheetRow = sheet.createRow(0);
//
for (int i = 0; i < header.length; i++) {
//
HSSFCell cell = sheetRow.createCell(i);
//
HSSFRichTextString text = new HSSFRichTextString(header[i]);
//
cell.setCellValue(text);
cell.setCellStyle(headerStyle);
}
return workbook;
}
}
//
public HttpServletResponse generateTemplateDemo(HttpServletResponse response) {
String[] titles = {" "," "," "};
String fileName = " .xlsx";
// response
String fileNameURL = null;
try {
fileNameURL = URLEncoder.encode(fileName, "UTF-8");
} catch (UnsupportedEncodingException e) {
throw new AdminBusinessException(BusinessExceptionCode.FILE_NAME_ENCODE_ERROR);
}
// contentType
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
// *** header( )
response.setHeader("Content-disposition", "attachment;filename="+fileNameURL+";"+"filename*=utf-8''"+fileNameURL);
// Excel
HSSFWorkbook workbook = ExcelUtil.createWorkbook(null, titles);
//
/*List list = getData();
HSSFSheet sheet = workbook.getSheetAt(0);
for (int i = 0; i < list.size(); i++) {
//
HSSFRow row = sheet.createRow(i + 1);
row.createCell(0).setCellValue(new HSSFRichTextString(details.get(i).getAttr01()));
row.createCell(1).setCellValue(new HSSFRichTextString(details.get(i).getAttr02()));
row.createCell(2).setCellValue(new HSSFRichTextString(details.get(i).getAttrXx()));
}*/
try {
ServletOutputStream outputStream = response.getOutputStream();
//
workbook.write(outputStream);
outputStream.close();
outputStream.flush();
} catch (IOException e) {
log.info(" :{}",e.getClass().getName());
}
return response;
}
3.파일 업로드
form-data
전 참,사용MultipartFile
수신 파일 대상MultipartFile
입력 흐름 으로 전환,구조Workbook
Sheet
,Row
,Cell
대상Cell
각 cell 의 값 가 져 오기// *** cellType,
cell.setCellType(CellType.STRING);
entity.setPhone(cell.getStringCellValue());
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.