>Java >java지도 시간 >Java는 Excel을 읽습니다.

Java는 Excel을 읽습니다.

大家讲道理
大家讲道理원래의
2017-08-19 13:49:092092검색

Java는 엑셀 테이블을 읽는다

Poi 기술은 일반적으로 엑셀 테이블을 읽는 데 사용되는데 이 기술은 무엇일까요?

Apache POI란 무엇인가요?

Apache POI는 프로그래머가 Java 프로그램을 사용하여 MS Office 파일을 생성, 수정 및 표시할 수 있는 인기 있는 API입니다. Apache Software Foundation에서 개발한 이 오픈 소스 라이브러리는 Java를 사용하여 Microsoft Office 파일의 디자인 또는 수정을 배포합니다. 여기에는 사용자 입력 데이터나 파일을 MS Office 문서로 디코딩하는 클래스와 메서드가 포함되어 있습니다.

Apache POI

Apache POI는 Apache Software Foundation에서 제공하는 100% 오픈 소스 라이브러리입니다. 대부분의 중소 규모 애플리케이션 개발은 주로 Apache POI(HSSF + XSSF)에 의존합니다. Excel 라이브러리의 모든 기본 기능을 지원하지만 렌더링 및 텍스트 추출이 주요 기능입니다.

Java는 Excel을 읽습니다.

Workbook

이것은 Excel 통합 문서를 생성하거나 유지 관리하는 모든 클래스를 위한 슈퍼 인터페이스입니다. org.apache.poi.ss.usermodel 패키지에 속합니다. 이 인터페이스를 구현하는 두 가지 클래스는 다음과 같습니다.

  • HSSFWorkbook: 이 클래스에는 .xls 형식의 Microsoft Excel 파일을 읽고 쓰기 위한 메서드가 있습니다. Microsoft Office97-2003 버전과 호환됩니다.

  • XSSFWorkbook: 이 클래스에는 .xls 또는 .xlsx 형식의 Microsoft Excel 및 OpenOffice XML 파일을 읽고 쓰는 방법이 있습니다. MS-Office 버전 2007 이상과 호환됩니다.

HSSFWorkbook

org.apache.poi.hssf.usermodel 패키지의 상위 수준 클래스입니다. Excel 파일의 .xls 형식에 대한 통합 문서 인터페이스를 구현합니다. 아래에는 이 클래스 아래에 있는 일부 메서드와 생성자가 나열되어 있습니다.

클래스 생성자

S.No. 생성자 및 설명
1

HSSFWorkbook()

새 HSSFWorkbook 개체를 처음부터 생성하는 경우.

2

HSSFWorkbook(DirectoryNode 디렉터리, 부울 보존 노드)

특정 디렉터리에 새 HSSFWworkbook 개체를 만듭니다.

3

HSSFWorkbook(DirectoryNode 디렉터리, POIFSFileSystem fs, boolean presentsNodes)

POIFSFileSystem 개체와 특정 디렉터리가 주어지면 SSFWorkbook 개체를 생성하여 지정된 통합 문서를 읽습니다.

4

HSSFWorkbook(java.io.InputStream s)

입력 스트림을 사용하여 새 HSSFWorkbook 개체를 생성하는 경우.

5

HSSFWorkbook(java.io.InputStream s, boolean presentsNodes)

입력 스트림에 POI 파일 시스템을 구축합니다.

6

HSSFWorkbook(POIFSFileSystem fs)

POIFSFileSystem 개체에서 생성된 새 HSSFWorkbook 개체를 사용하는 경우.

7

HSSFWorkbook(POIFSFileSystem fs, boolean presentsNodes)

POIFSFileSystem 개체가 제공되면 지정된 통합 문서를 읽는 동안 새 HSSFWorkbook 개체가 생성됩니다.

이 구성 내의 공통 매개변수:

  • directory : POI 파일 시스템에서 처리되는 디렉토리입니다.

  • fs: 북 스트림의 POI를 포함하는 파일 시스템입니다.

  • preservenodes : 매크로와 같이 다른 노드를 보존할지 여부를 결정하는 선택적 매개변수입니다. 모든 POIFileSystem을 메모리(설정된 경우)에 저장하기 때문에 메모리를 많이 소모합니다.

참고: HSSFWorkbook 클래스에는 다양한 메서드가 포함되어 있지만 XLS 형식하고만 호환됩니다. 이 자습서에서는 최신 버전의 Excel 파일 형식에 중점을 둡니다. 따라서 HSSFWorkbook 클래스의 메서드는 여기에 나열되지 않습니다. 이러한 클래스의 메서드가 필요한 경우 https://poi.apache.org/apidocs/org/apache/poi/hssf/usermodel/HSSFWorkbook.html에서 POI-HSSFWorkbook 클래스 API를 참조하세요.

XSSFWorkbook

상위 및 하위 수준의 Excel 파일 형식을 나타내는 클래스로 사용됩니다. org.apache.xssf.usemodel 패키지에 속하며 Workbook 인터페이스를 구현합니다. 아래에는 이 클래스의 메서드와 생성자가 나열되어 있습니다.

클래스 생성자

4XSSFWorkbook(java.lang.String path)

Sheet

Sheet는 org.apache.poi.ss.usermodel 패키지의 인터페이스로, 특정 이름을 가진 상위 또는 하위 수준 스프레드시트를 생성하는 모든 클래스를 위한 슈퍼 인터페이스입니다. 가장 일반적인 유형의 스프레드시트는 셀 그리드로 표시되는 워크시트입니다.

HSSFSheet

이것은 org.apache.poi.hssf.usermodel 패키지의 클래스입니다. 시트 모드와 테이블 데이터 형식을 허용하는 Excel 스프레드시트를 만들 수 있습니다.

클래스 생성자

S.No. 생성자 및 설명
1

XSSFWorkbook()

새 XSSFworkbook 개체를 처음부터 만듭니다.

2

XSSFWorkbook(java.io.File 파일)

지정된 파일에서 XSSFWorkbook 개체를 구성합니다.

3

주어진 파일의 전체 경로를 사용하여 XSSFWorkbook 개체를 구성합니다.

S.No. 생성자 및 설명
1

HSSFSheet(HSSFWorkbook 통합 문서)

HSSFWorkbook을 호출하여 새 HSSFSheet 만들기 .

2

HSSFSheet(HSSFWorkbook 통합 문서, InternalSheet 시트)

주어진 테이블 개체를 나타내는 HSSFSheet를 생성합니다.

XSSFSheet

엑셀 스프레드시트를 상위 수준으로 표현한 카테고리입니다. 이는 org.apache.poi.hssf.usermodel 패키지 아래에 있습니다.

클래스 생성자

2
S.No. 생성자 및 설명
1

.

클래스 메소드

S.No.

메소드 및 설명addMergedRegion(CellRangeAddress 영역) 병합된 셀 범위를 추가합니다. 따라서 이러한 셀은 병합됩니다. 하나를 형성하십시오). autoSizeColumn(int 열)내용에 맞게 열 너비를 조정하세요. iterator()이 메서드는 foreach 루프를 허용하는 rowIterator()의 별칭입니다hyperHyperlink(XSSFHyperlink 링크) 추가 A등록 이 워크시트의 하이퍼링크 모음
1

2

3

4

이 클래스의 나머지 메서드는 다음에서 전체 API를 참조하세요.

https://poi.apache.org/apidocs/org/apache/ line poi/xssf/ usermodel/XSSFSheet.html.
이것은 org.apache.poi.ss.usermodel 패키지의 인터페이스입니다. 행에 대한 스프레드시트를 상위 수준으로 표현한 것입니다. POI 라이브러리의 모든 클래스를 나타내는 슈퍼 인터페이스입니다.


XSSFRow

이것은 org.apache.poi.xssf.usermodel 패키지의 클래스입니다. 스프레드시트에서 행을 생성할 수 있도록 Row 인터페이스를 구현합니다. 아래에는 이 클래스의 메서드와 생성자가 나열되어 있습니다.

Class method

S.No.

DescriptioncreateCell(int columnIndex)새 셀 행을 생성하고 반환합니다. setHeight(짧은 높이)짧은 단위의 높이를 설정합니다. Cell
1

2

이 클래스의 나머지 메소드는 다음 링크를 참조하세요:

https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html
이것은 org.apache.poi.ss.usermodel 패키지의 인터페이스입니다. 스프레드시트의 행에 있는 셀을 나타내는 모든 클래스에 대한 슈퍼인터페이스입니다.


셀은 공백, 숫자, 날짜, 오류 등과 같은 다양한 속성을 사용할 수 있습니다. 행에 추가되기 전에 셀에는 고유한(0 기반) 숫자가 있어야 합니다.

XSSFCell

이것은 org.apache.poi.xssf.usermodel 패키지의 클래스입니다. 셀 인터페이스를 구현합니다. 이는 스프레드시트의 셀 행을 상위 수준으로 표현한 것입니다.

이제 Java를 사용하여 Excel 테이블 읽기를 구현합니다.

코드 구현

public static void excel() throws Exception {        //用流的方式先读取到你想要的excel的文件
        FileInputStream fis=new FileInputStream(new File(System.getProperty("user.dir")+"/src/excel.xls"));        //解析excel
        POIFSFileSystem pSystem=new POIFSFileSystem(fis);        //获取整个excel
        HSSFWorkbook hb=new HSSFWorkbook(pSystem);
        System.out.println(hb.getNumCellStyles());        //获取第一个表单sheet
        HSSFSheet sheet=hb.getSheetAt(0);        //获取第一行
    int firstrow=    sheet.getFirstRowNum();    //获取最后一行
    int lastrow=    sheet.getLastRowNum();    //循环行数依次获取列数
        for (int i = firstrow; i  list=new ArrayList();            for (int j = firstcell; j <lastcell>0) {
                user.setUsername(list.get(1));
                user.setPassword(list.get(2));
            }
            BaseDAO dao=new BaseDAO();
            dao.save(user);
            System.out.println();
            }
        }
        fis.close();
    }</lastcell>

위 내용은 Java는 Excel을 읽습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Spring IOC 컨테이너다음 기사:Spring IOC 컨테이너