Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- hmlt
- hit desktop
- IAM 결제
- jsNature
- aws
- IP통신
- springboot
- html사용자함수
- oracle 18
- js구구단
- javasecurity
- C++
- html주문폼
- TCP/IP
- AWS사용자
- git stah
- Update
- AWS 청구
- 오라클 c##제거
- 소켓통신
- servlet에러
- MFC
- AWS경보
- AWS요금
- bootstrap
- 깃헙 데스크탑
- JPA
- jsp에러
- web browser external
- SpringToolSuite4
Archives
- Today
- Total
Ynns
Excel outputstream 엑셀 파일로 데이터 저장, 쓰기 본문
sql 사용하지 않고 미니 프로젝트로 영화 예매 시스템을 구현하고 싶은데 DB 없이 만들 수가 없음
그냥 쓰고 싶다 제발......
그래서 DB처럼 사용할 엑셀 파일을 만드려고 시도
입력은 가능한데 이제 수정이랑 삭제가 되는지 이걸 어떻게 3일만에 하는지 나는 모르겠다
엑셀...... spring이나 maven 변환 없이 그냥 쓰는 방법을 뒤져봤지만 안 나왔다... 결국 먼저 maven 프로젝트로 바꿔줘야 한다
-> 바꾸는 방법 쉬움
프로젝트에서 Configure > Convert to Maven Project
pom.xml 에서 엑셀 입출력을 위한 dependency 추가해야 됨
----------------------------------------------------------------------
<groupId>com.work</groupId>
<artifactId>movie_theaters</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>movie_theater</name>
<packaging>jar</packaging>
----------------------------------------------------------------------
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
----------------------------------------------------------------------
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.1</version>
</dependency>
</dependencies>
----------------------------------------------------------------------
Member.java는 알아서 작성, 아래는 createExcel 코드이다
package com.work.excel;
import java.io.FileOutputStream;
import java.util.ArrayList;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
import org.apache.poi.ss.usermodel.CreationHelper;
import org.apache.poi.ss.usermodel.FillPatternType;
import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.ss.usermodel.IndexedColors;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import com.work.model.dto.Member;
/**
* 데이터 엑셀 파일 생성 클래스
* @author yunassnn
*
*/
public class createExcel {
public static void main(String[] args) {
try {
// .xlsx 파일 생성
XSSFWorkbook xworkbook = new XSSFWorkbook();
// sheet 생성
Sheet sheet = xworkbook.createSheet("Invoicessss");
// Create top row column head 생성
String[] columnHeadings = { "회원 ID", "회원 PW", "이름", "Mobile", "생년월일", "가입일", "등급", "마일리지" };
// bold with a foreground color 지정
Font headerFont = xworkbook.createFont();
headerFont.setBold(true);
headerFont.setFontHeightInPoints((short) 12);
headerFont.setColor(IndexedColors.BLACK.index);
// CellStyle with the font 지정
CellStyle headerStyle = xworkbook.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
ArrayList<Member> a = createData();
CreationHelper creationHelper = xworkbook.getCreationHelper();
CellStyle dateStyle = xworkbook.createCellStyle();
int rownum = 1;
for (Member i : a) {
Row row = sheet.createRow(rownum++);
row.createCell(0).setCellValue(i.getMemberId());
row.createCell(1).setCellValue(i.getMemberPw());
row.createCell(2).setCellValue(i.getName());
row.createCell(3).setCellValue(i.getMobile());
row.createCell(4).setCellValue(i.getBirth());
row.createCell(5).setCellValue(i.getEntryDate());
row.createCell(6).setCellValue(i.getGrade());
row.createCell(7).setCellValue(i.getMileage());
}
// Group and collapse rows
int noOfRows = sheet.getLastRowNum();
sheet.groupRow(1, noOfRows);
sheet.setRowGroupCollapsed(1, true);
// Autosize columns
for (int i = 0; i < columnHeadings.length; i++) {
sheet.autoSizeColumn(i);
}
Sheet sheet2 = xworkbook.createSheet("Second");
// Write the output to file 저장되는 경로
FileOutputStream fileOut = new FileOutputStream("C:\\practice\\git\\TheaterReservation\\movie_theaters\\docs\\memberL.xlsx");
xworkbook.write(fileOut);
fileOut.close();
xworkbook.close();
System.out.println("Completed");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* excel에 담을 Member 형식의 데이터
* @return dto
*/
private static ArrayList<Member> createData() {
ArrayList<Member> dto = new ArrayList();
dto.add(new Member("member1", "membe11", "immember1", "01010001000", "210517", "2021-05-17", "G", "1200"));
dto.add(new Member("member2", "membe22", "immember2", "01020002000", "210518"));
dto.add(new Member("member3", "membe33", "immember3", "01030003000", "210519"));
dto.add(new Member("admin1", "admin11", "imadmin1", "01030004000", "210604", "2021-06-04", "A", ""));
return dto;
}
}
'JAVA' 카테고리의 다른 글
jsp servlet 에러 해결 / Could not launch external web browser for ~ (0) | 2021.07.06 |
---|---|
자주 사용하는 GIT 명령어 (0) | 2020.04.01 |
String 타입 날짜 Date 타입 비교 (0) | 2020.01.20 |
Comments