써먹는 웹개발
[Spring] 전자정부프레임워크에서 엑셀 다운로드 본문
728x90
반응형
FileOutputStream 영역에서 자꾸 에러나서 파일을 만들어서 처리했더니 해결됨
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | List<CompanyVO> companyList = companyMapper.getCompanyList(params); // .xlsx 파일 XSSFWorkbook wb = new XSSFWorkbook(); // sheet 생성 Sheet sheet = wb.createSheet("sheet1"); // create top row column head 생성 String[] columnHeadings = { "대상 기업명", "사업자번호", "담당자 이름", "담당자 전화번호", "담당자 이메일" }; // bold with a foreground color 지정 Font headerFont = wb.createFont(); headerFont.setBold(true); headerFont.setFontHeightInPoints((short) 12); headerFont.setColor(IndexedColors.BLACK.index); // CellStyle with the font 지정 CellStyle headerStyle = wb.createCellStyle(); headerStyle.setFont(headerFont); headerStyle.setFillPattern(FillPatternType.SOLID_FOREGROUND); headerStyle.setFillForegroundColor(IndexedColors.GREY_25_PERCENT.index); // Create the header row Row headerRow = sheet.createRow(0); // Iterate over the column headings to create columns for (int i = 0; i < columnHeadings.length; i++) { Cell cell = headerRow.createCell(i); cell.setCellValue(columnHeadings[i]); cell.setCellStyle(headerStyle); } // Header Row 고정 sheet.createFreezePane(0, 1); // Fill data CreationHelper creationHelper = wb.getCreationHelper(); CellStyle dateStyle = wb.createCellStyle(); for (int i=0; i < companyList.size(); i++) { companyVO vo = companyList.get(i); Row row = sheet.createRow(i+1); row.createCell(0).setCellValue(vo.getCompany()); row.createCell(1).setCellValue(vo.getComCode()); row.createCell(2).setCellValue(vo.getName()); row.createCell(3).setCellValue(vo.getPhone()); row.createCell(4).setCellValue(vo.getEmail()); } // 컬럼 너비 조절 for (int i = 0; i < columnHeadings.length; i++){ // Autosize columns sheet.autoSizeColumn(i); sheet.setColumnWidth(i, (sheet.getColumnWidth(i)) + 1000); } // 윈도우 테스트 기준 파일저장 File file = new File("C:\\excelDownload\\test.xlsx"); // Write the output to file 저장되는 경로 FileOutputStream fileOut = new FileOutputStream(file); wb.write(fileOut); wb.close(); fileOut.close(); | cs |
Maven 환경이면 다음 소스 추가
1
2
3
4
5
6
|
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
|
cs |
728x90
반응형
'Server > Spring' 카테고리의 다른 글
[Spring] A valid shutdown command was received via the shutdown port. Stopping the Server instance 에러 해결방법 (0) | 2023.10.13 |
---|---|
[Spring 전자정부프레임워크] 엑셀 업로드할때 참고한 블로그 글 (0) | 2023.08.28 |
[Spring] MySQL) com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 에러 해결방법 (0) | 2023.08.09 |
egov 전자정부프레임워크 4.16 에서 javascript 파일 컬러로 변경되게 수정 (0) | 2023.06.13 |
egov 전자정부프레임워크 mariadb mybatis 로그 출력 (log4j2) (0) | 2023.06.12 |
Comments