diff --git a/java/api/members.xlsx b/java/api/members.xlsx new file mode 100644 index 00000000..9016dc6c Binary files /dev/null and b/java/api/members.xlsx differ diff --git a/java/api/src/main/java/poi/ExcelWriter.java b/java/api/src/main/java/poi/ExcelWriter.java new file mode 100644 index 00000000..d6158e07 --- /dev/null +++ b/java/api/src/main/java/poi/ExcelWriter.java @@ -0,0 +1,84 @@ +package poi; + +import org.apache.poi.ss.usermodel.Row; +import org.apache.poi.ss.usermodel.Sheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; + +public class ExcelWriter { + + public static void main(String[] args) { + Scanner scanner = new Scanner(System.in); + List members = new ArrayList<>(); + + while (true) { + System.out.print("이름을 입력하세요:"); + String name = scanner.nextLine(); + if (name.equals("quit")) { + break; + } + + System.out.print("나이을 입력하세요:"); + int age = scanner.nextInt(); + scanner.nextLine(); + + System.out.print("생년월일을 입력하세요:"); + String birthDate = scanner.nextLine(); + + System.out.print("전화번호를 입력하세요:"); + String phone = scanner.nextLine(); + + System.out.print("주소를 입력하세요:"); + String address = scanner.nextLine(); + + System.out.print("결혼여부를 입력하세요 (true/false):"); + boolean isMarried = scanner.nextBoolean(); + scanner.nextLine(); + + MemberVo member = new MemberVo(name, age, birthDate, phone, address, isMarried); + members.add(member); + } + scanner.close(); + + try { + XSSFWorkbook workbook = new XSSFWorkbook(); + Sheet sheet = workbook.createSheet("회원 정보"); + + // 헤더 + Row header = sheet.createRow(0); + header.createCell(0).setCellValue("이름"); + header.createCell(1).setCellValue("나이"); + header.createCell(2).setCellValue("생년월일"); + header.createCell(3).setCellValue("전화번호"); + header.createCell(4).setCellValue("주소"); + header.createCell(5).setCellValue("결혼여부"); + + // 데이터 생성 + for (int i = 0; i < members.size(); i++) { + MemberVo member = members.get(i); + Row row = sheet.createRow(i + 1); + row.createCell(0).setCellValue(member.getName()); + row.createCell(1).setCellValue(member.getAge()); + row.createCell(2).setCellValue(member.getBirthDate()); + row.createCell(3).setCellValue(member.getPhone()); + row.createCell(4).setCellValue(member.getAddress()); + row.createCell(5).setCellValue(member.isMarried()); + } + + final String filename = "members.xlsx"; + FileOutputStream outputStream = new FileOutputStream(filename); + workbook.write(outputStream); + workbook.close(); + System.out.println("엑셀 파일 저장 완료: " + filename); + } catch (IOException e) { + System.out.println("오류 발생"); + e.printStackTrace(); + } + + } +} diff --git a/java/api/src/main/java/poi/MemberVo.java b/java/api/src/main/java/poi/MemberVo.java new file mode 100644 index 00000000..8e85b0f1 --- /dev/null +++ b/java/api/src/main/java/poi/MemberVo.java @@ -0,0 +1,83 @@ +package poi; + +public class MemberVo { + + private String name; + private int age; + private String birthDate; + private String phone; + private String address; + private boolean isMarried; + + public MemberVo() { + } + + public MemberVo(String name, int age, String birthDate, String phone, String address, boolean isMarried) { + this.name = name; + this.age = age; + this.birthDate = birthDate; + this.phone = phone; + this.address = address; + this.isMarried = isMarried; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } + + public String getBirthDate() { + return birthDate; + } + + public void setBirthDate(String birthDate) { + this.birthDate = birthDate; + } + + public String getPhone() { + return phone; + } + + public void setPhone(String phone) { + this.phone = phone; + } + + public String getAddress() { + return address; + } + + public void setAddress(String address) { + this.address = address; + } + + public boolean isMarried() { + return isMarried; + } + + public void setMarried(boolean married) { + isMarried = married; + } + + @Override + public String toString() { + return "MemberVo{" + + "name='" + name + '\'' + + ", age=" + age + + ", birthDate='" + birthDate + '\'' + + ", phone='" + phone + '\'' + + ", address='" + address + '\'' + + ", isMarried=" + isMarried + + '}'; + } +}