Java 응용 프로그램에서 Excel을 사용하여 작업하는 Java 응용 프로그램 개발자 인 경우 응용 프로그램에서 Excel 데이터 조작 기능을 제공하는 데 관심이 있습니다. Excel을 사용하면 셀 스타일링을 포맷하고 셀 유형을 다른 데이터 유형으로 설정하고 다른 색상으로 셀을 채우는 등입니다. Apache Poi는 Java와 Excel 사이의 다리 역할을하며 Excel XLSX 파일을 프로그래밍 방식으로 조작하는 도구를 제공합니다. 이 블로그 시리즈에서는 Java의 Apache Poi를 사용하여 Excel Cell 조작의 예술을 공개합니다. 코드와 스프레드 시트의 시너지 효과를 알아 보겠습니다.

목차 {.WP- 블록 헤드}

블로그 전체에서 우리는 코드 샘플과 다음에 대한 동일한 설명을 살펴 보겠습니다.

  1. Excel 파일로 셀 생성
  2. Excel에서 날짜 셀을 만듭니다
  3. 다른 유형의 세포와 함께 작업
  4. 셀 모양 설정

Java의 Excel 파일에서 셀 작업

Excel 파일에서 셀 생성 {.WP- 블록 헤드}

//Create Cells
XSSFWorkbook wb = new XSSFWorkbook();
XSSFCreationHelper createHelper = wb.getCreationHelper();
XSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
Row row = sheet.createRow(0);
// Create a cell and put a value in it.
Cell cell = row.createCell(0);
cell.setCellValue(1);
row.createCell(1).setCellValue(1.2);
row.createCell(2).setCellValue(createHelper.createRichTextString("This is a string"));
row.createCell(3).setCellValue(true);
// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
    wb.write(fileOut);
}

위의 Java Code Snippet은 Apache POI API의 사용을 보여줍니다. 이 코드는 새로운 Excel 통합 문서 (` xssfworkbook `)를 생성하고 통합 문서 내에서 시트를 초기화 한 다음 다양한 유형의 데이터로 셀을 채 웁니다. 먼저 코드는 " new Sheet “라는 새 시트를 만듭니다. 그런 다음 시트의 인덱스 0에서 행을 생성하고 해당 행 내의 셀을 채우십시오. 첫 번째 셀 (인덱스 0)에는 ` setCellValue `메소드를 사용하여 1의 정수 값이 할당됩니다. 대조적으로, 두 번째 셀 (인덱스 1)은 ` Createcell `메소드 내에서 직접 1.2의 소수 값으로 설정됩니다. 세 번째 셀 (색인 2)에는 ` xssfcreationHelper `인스턴스의 ` createrichtextring `메소드를 사용하여 생성 된 문자열 값 “this is a string"을 포함합니다. 마지막으로, 네 번째 셀 (인덱스 3)은 부울 값 “true"로 채워집니다. 셀 값이 설정된 후 코드는 결과 통합 문서를 ` fileoutputStream `을 사용하여 “workbook.xlsx"라는 Excel 파일에 씁니다.

날짜 유형 생성

XSSFWorkbook wb = new XSSFWorkbook();
//Workbook wb = new XSSFWorkbook();
CreationHelper createHelper = wb.getCreationHelper();
org.apache.poi.ss.usermodel.Sheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
Row row = sheet.createRow(0);
// Create a cell and put a date value in it.  The first cell is not styled
// as a date.
Cell cell = row.createCell(0);
cell.setCellValue(new Date());
// we style the second cell as a date (and time).  It is important to
// create a new cell style from the workbook otherwise you can end up
// modifying the built in style and effecting not only this cell but other cells.
CellStyle cellStyle = wb.createCellStyle();
cellStyle.setDataFormat(
    createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
cell = row.createCell(1);
cell.setCellValue(new Date());
cell.setCellStyle(cellStyle);
//you can also set date as java.util.Calendar
cell = row.createCell(2);
cell.setCellValue(Calendar.getInstance());
cell.setCellStyle(cellStyle);
// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
    wb.write(fileOut);
}

이 Java Code Snippet은 Excel 통합 문서에서 날짜 유형 셀과 함께 작업하기위한 Apache POI API의 사용법을 보여줍니다. 이 코드는 새로운 Excel 통합 문서 (` xssfworkbook `)를 만들어 시작합니다. 첫 번째 셀 (인덱스 0)은 날짜 값을 보유하기위한 것입니다. a ` date `현재 날짜와 시간을 나타내는 객체는 ` setCellValue `메소드를 사용하여 셀의 값으로 설정됩니다. 이 셀은 날짜로 명시 적으로 스타일이 아닙니다. 두 번째 셀 (인덱스 1)의 경우, 통합 문서의 `CreateCellStyle `메소드를 사용하여 새로운 셀 스타일 (`셀 스타일 `)이 작성됩니다. 그런 다음이 스타일은 `setDataFormat `메소드를 사용하여 특정 날짜 및 시간 형식을 갖도록 구성됩니다. `createdAtaformat (). getFormat ( “m/d/yy h : mm”) `프로세스는 “m/d/yy h : mm"형식 패턴의 사용자 정의 날짜 형식을 만듭니다. 두 번째 셀에는 현재 날짜와 시간 값이 할당되며 새로 생성 된 셀 스타일은 `setCellStyle `메소드를 사용하여 적용됩니다. 세 번째 셀 (인덱스 2)은 `java.util.calendar `를 사용하여 날짜 유형 셀을 채우는 대안적인 방법을 보여줍니다. 두 번째 셀과 유사하게, 맞춤 셀 스타일은이 셀에도 적용됩니다.

다양한 유형의 세포에서 작업 {.WP- 블록 헤드}

XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("new sheet");
Row row = sheet.createRow(2);
row.createCell(0).setCellValue(1.1);
row.createCell(1).setCellValue(new Date());
row.createCell(2).setCellValue(Calendar.getInstance());
row.createCell(3).setCellValue("a string");
row.createCell(4).setCellValue(true);
row.createCell(5).setCellType(CellType.ERROR);		// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
    wb.write(fileOut);
}

이 코드 샘플에서, 다음 단계에서 설명 된 바와 같이 Apache POI API를 사용하여 Excel 파일의 셀에 다른 셀 스타일이 적용됩니다.

  1. ` 크레이어 로우 (2) `을 사용하여 시트의 인덱스 2에서 행이 생성됩니다. 그런 다음 셀은 다음 데이터 로이 행 내에서 채워집니다.
  2. 첫 번째 셀 (인덱스 0)에는 ` setCellValue `메소드를 사용하여 1.1의 소수 값이 할당됩니다.
  3. 두 번째 셀 (인덱스 1)에서, 현재 날짜와 시간은 ` setcellValue `메소드를 통해 a `date `객체를 사용하여 삽입됩니다.
  4. 세 번째 셀 (색인 2)은 ` setcellValue `메소드를 사용하여 세트로 설정된 a `캘린더 `인스턴스의 날짜와 시간을 포함합니다.
  5. 네 번째 셀 (인덱스 3)은 텍스트“문자열”을 보유합니다.
  6. 다섯 번째 셀 (인덱스 4)은 부울 값 “true"로 지정됩니다.
  7. 앞으로, 특정 셀 유형은 ` setCellType `메소드를 호출하여 6 번째 셀 (색인 5)에 할당됩니다. 이 셀은 ` celltype.error `열거를 사용하여 오류 셀로 구성되어 오류 값이 표시됨을 나타냅니다. 마지막으로, 수정 된 통합 문서는 ` fileoutputStream `을 사용하여 “workbook.xlsx"라는 파일에 기록됩니다. 요약하면,이 코드 예제는 Excel 통합 문서를 설정하고 다양한 셀 스타일을 적용하여 다양한 데이터 유형을 수용하고 궁극적으로 수정 된 통합 문서를 파일에 저장하는 방법을 보여줍니다. 이 실용적인 그림은 Java의 Excel 파일로 작업하기위한 Apache POI 라이브러리의 기능을 보여줍니다.

셀 모양 설정 {.WP- 블록 헤드}

XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet sheet = wb.createSheet("new sheet");
// Create a row and put some cells in it. Rows are 0 based.
Row row = sheet.createRow(1);
// Aqua background
CellStyle style = wb.createCellStyle();
style.setFillBackgroundColor(IndexedColors.AQUA.getIndex());
style.setFillPattern(FillPatternType.BIG_SPOTS);
Cell cell = row.createCell(1);
cell.setCellValue("X");
cell.setCellStyle(style);
// Orange "foreground", foreground being the fill foreground not the font color.
style = wb.createCellStyle();
style.setFillForegroundColor(IndexedColors.ORANGE.getIndex());
style.setFillPattern(FillPatternType.SOLID_FOREGROUND);
cell = row.createCell(2);
cell.setCellValue("X");
cell.setCellStyle(style);
// Write the output to a file
try (FileOutputStream fileOut = new FileOutputStream("workbook.xlsx")) {
    wb.write(fileOut);
}
wb.close();

이 코드 스 니펫은 Java의 Apache POI 라이브러리를 사용하여 Excel 파일에서 셀 모양을 조작하는 방법을 보여줍니다. 이것은 다음 단계를 사용하여 달성됩니다.

  1. `크레이터 (1) `을 사용하여 시트의 인덱스 1에서 행이 생성됩니다. 이 행 내의 셀에 대해 다음과 같은 변경이 이루어집니다.
  2. 첫 번째 셀 (색인 1)의 경우 `wb.createcellstyle () `을 사용하여 사용자 정의 셀 스타일이 생성됩니다. 이 스타일은 `setfillbackgroundcolor `및 `indexedColors.aqua.getIndex () `을 사용하여 아쿠아 배경색으로 구성됩니다. 배경의 패턴은 `setfillpattern (fillpatterntype.big_spots) `을 사용하여 “큰 지점"으로 설정됩니다. 셀은이 행에 인덱스 1에서 생성되고 “x"값으로 채워집니다. 이전에 만든 스타일은 `setcellstyle `를 사용 하여이 셀에 적용됩니다.
  3. 두 번째 셀 (인덱스 2)의 경우 새로운 셀 스타일이 생성됩니다. 이 스타일은 `setfillforegroundcolor `및 `indexedColors.orange.getIndex () `을 사용하여 주황색 전경 색상으로 설계되었습니다. 채우기 패턴은 `setfillpattern (fillpatterntype.solid_foreground) `을 사용하여 “고형 전경"으로 설정됩니다. 다른 셀은 동일한 행의 Index 2에서 생성되고 “x"값으로 채워집니다. 그런 다음 새로 생성 된 스타일은 `setcellstyle `을 사용 하여이 셀에 할당됩니다. 셀 모양을 구성한 후 수정 된 통합 문서는 `fileoutputStream `을 사용하여 “workbook.xlsx"라는 파일로 기록됩니다. 요약하면,이 코드 예제는 Apache POI 라이브러리를 사용하여 Excel 파일의 셀 모양을 조작하는 방법을 보여줍니다. 시연 된 기술에는 배경 및 전경 색상을 제어하기 위해 맞춤형 셀 스타일을 만들고 패턴을 채우는 것이 포함되어 Java를 사용하여 Excel 스프레드 시트를 시각적으로 사용자 정의 할 수있는 유연성을 제공합니다.

결론 {.WP- 블록 헤드}

Apache POI 라이브러리의 위의 모든 Java 예제에서 Java 응용 프로그램 내에서 Excel 파일 내용으로 작업하는 방법을 보여주었습니다. 코드 샘플은 Excel 파일에서 셀을 생성하고, 이들의 모양을 설정하고, 셀 스타일을 문자열, 숫자, 소수점 등과 같은 다른 데이터 유형으로 설정하고 셀 유형을 날짜 유형으로 설정하는 방법을 보여주었습니다. Java 용 Apache Poi를 사용하여 Excel 파일로 작업하기위한 더 많은 예제를 추가 할 예정이므로 계속 지켜봐 주시기 바랍니다.

{.WP- 블록 헤드} 참조