> Java > java지도 시간 > 본문

Java API 개발에서 Excel 처리를 위해 Apache POI 사용

WBOY
풀어 주다: 2023-06-18 12:17:54
원래의
1308명이 탐색했습니다.

정보화가 발달하면서 데이터 처리의 중요성이 계속해서 부각되고 있습니다. 기업과 개인의 경우 Excel 워크시트는 일상 업무에서 가장 일반적으로 사용되는 데이터 처리 방법이 되었습니다. 그러나 Excel 워크시트는 사용하기 쉽지만 데이터 양과 처리 요구 사항이 증가함에 따라 일반적인 Excel 처리 방법은 실제 응용 프로그램의 요구 사항을 충족하기 어려운 경우가 많습니다. 현재 Java API 개발에서 Excel 처리를 위해 Apache POI 라이브러리를 사용하는 것이 탁월한 선택이 되었습니다.

1. Apache POI 소개

Apache POI(Poor Obfuscation Implementing)는 Word, Excel, PowerPoint 파일을 포함한 Microsoft Office 형식의 파일을 처리하고 운영하는 데 사용되는 무료 Java 라이브러리입니다. Apache POI를 사용하면 Java 프로그래머가 Office 파일을 쉽게 읽고, 쓰고, 조작할 수 있습니다.

Apache POI는 대략 세 부분으로 나눌 수 있습니다.

  • HSSF(Horrible Spreadsheet Format): Excel 97-2003 파일, 즉 xls 형식을 처리합니다.
  • XSSF(XML Spreadsheet Format): Excel 2007 및 위 버전, 즉 xlsx 형식,
  • HWPF(Horrible Word Processor Format) 및 XWPF(XML Word Processor Format): 각각 Word 97-2003 형식과 Word 2007 이상 버전의 파일을 처리합니다.

이 기사에서는 주로 HSSF 및 XSSF 사용에 중점을 둡니다.

2. POI 설치

엑셀 처리를 위해 Apache POI를 사용하기 전에 먼저 라이브러리를 설치해야 합니다. Apache POI 설치는 비교적 간단합니다. 최신 버전의 jar 패키지를 다운로드하여 프로젝트의 클래스 경로에 추가하기만 하면 됩니다. 버전 충돌 등의 문제로 인해 발생하는 예외를 방지하려면 Maven 또는 Gradle과 같은 도구를 사용하여 POI를 도입하는 것이 좋습니다.

3. Excel 파일 읽기

Excel 파일 읽기는 Apache POI 애플리케이션의 가장 기본적인 작업 중 하나입니다. 다음은 xlsx 파일을 읽는 샘플 코드입니다.

public static void readXlsx(String filePath) throws IOException {
    FileInputStream fis = new FileInputStream(filePath);
    XSSFWorkbook workbook = new XSSFWorkbook(fis); // 创建工作簿
    XSSFSheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
    int rowStartIndex = sheet.getFirstRowNum(); // 获取第一行的行号
    int rowEndIndex = sheet.getLastRowNum(); // 获取最后一行的行号
    for (int i = rowStartIndex; i <= rowEndIndex; i++) { // 循环行
        XSSFRow row = sheet.getRow(i); // 获取当前行
        if (row == null) { // 若为空行则跳过
            continue;
        }
        int cellStartIndex = row.getFirstCellNum(); // 获取第一列的列号
        int cellEndIndex = row.getLastCellNum() - 1; // 获取最后一列的列号
        for (int j = cellStartIndex; j <= cellEndIndex; j++) { // 循环列
            XSSFCell cell = row.getCell(j); // 获取当前单元格
            String cellValue = cell.getStringCellValue(); // 获取当前单元格的值
            System.out.print(cellValue + "  "); // 输出到控制台
        }
        System.out.println();
    }
    workbook.close(); // 关闭工作簿
    fis.close(); // 关闭输入流
}
로그인 후 복사

이 코드에서는 먼저 FileInputStream을 사용하여 xlsx 파일을 열고 XSSFWorkbook을 사용하여 통합 문서를 만듭니다. 그런 다음 첫 번째 워크시트를 가져와 루프를 사용하여 파일의 내용을 행별로, 열별로 읽고 각 셀의 값을 콘솔에 출력합니다. 마지막으로 리소스를 해제하려면 통합 문서와 입력 스트림을 닫아야 합니다.

xls 파일을 읽는 것은 기본적으로 xlsx 파일을 읽는 것과 동일합니다. XSSF 관련 코드를 HSSF로 변경하면 됩니다.

4. Excel 파일에 쓰기

Excel 파일에 쓰기도 Apache POI 애플리케이션의 일반적인 작업 중 하나입니다. 다음은 xlsx 파일에 쓰는 샘플 코드입니다.

public static void writeXlsx(String filePath) throws IOException {
    XSSFWorkbook workbook = new XSSFWorkbook(); // 创建工作簿
    XSSFSheet sheet = workbook.createSheet("Sheet1"); // 创建工作表
    XSSFRow row0 = sheet.createRow(0); // 创建第一行
    XSSFCell cell00 = row0.createCell(0); // 创建第一个单元格
    cell00.setCellValue("姓名"); // 设置单元格的值
    XSSFCell cell01 = row0.createCell(1); // 创建第二个单元格
    cell01.setCellValue("年龄"); // 设置单元格的值
    XSSFRow row1 = sheet.createRow(1); // 创建第二行
    XSSFCell cell10 = row1.createCell(0); // 创建第一个单元格
    cell10.setCellValue("张三"); // 设置单元格的值
    XSSFCell cell11 = row1.createCell(1); // 创建第二个单元格
    cell11.setCellValue(20); // 设置单元格的值
    XSSFRow row2 = sheet.createRow(2); // 创建第三行
    XSSFCell cell20 = row2.createCell(0); // 创建第一个单元格
    cell20.setCellValue("李四"); // 设置单元格的值
    XSSFCell cell21 = row2.createCell(1); // 创建第二个单元格
    cell21.setCellValue(25); // 设置单元格的值
    FileOutputStream fos = new FileOutputStream(filePath);
    workbook.write(fos); // 输出文件
    workbook.close(); // 关闭工作簿
    fos.close(); // 关闭输出流
}
로그인 후 복사

이 코드에서는 xlsx 파일을 만들고 그 안에 "Sheet1"이라는 시트를 만듭니다. 다음으로, 테이블에 세 개의 데이터 행을 추가했습니다. 각 행에는 두 개의 셀이 포함되어 있습니다. 마지막으로 파일을 지정된 파일 경로로 출력하고 통합 문서와 출력 스트림을 닫아 리소스를 해제합니다.

xls 파일을 작성하는 것은 기본적으로 xlsx 파일을 작성하는 것과 동일합니다. XSSF 관련 코드를 HSSF로 변경하면 됩니다.

5. 요약

이 기사의 설명을 통해 독자는 Java API 개발, 특히 Excel 파일 처리에서 Apache POI의 사용에 대한 예비 이해를 가질 수 있습니다. Excel 파일을 읽거나 쓰는 경우 Apache POI는 Java 프로그래머가 Excel 파일을 쉽게 조작할 수 있도록 사용하기 쉬운 인터페이스를 제공합니다. 동시에 Apache POI는 Word, PowerPoint 등 Office 파일 처리도 지원하며 Java 개발자에게 필수적인 도구 라이브러리입니다.

위 내용은 Java API 개발에서 Excel 처리를 위해 Apache POI 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿