Poi 기술은 일반적으로 엑셀 테이블을 읽는 데 사용되는데 이 기술은 무엇일까요?
Apache POI는 프로그래머가 Java 프로그램을 사용하여 MS Office 파일을 생성, 수정 및 표시할 수 있는 인기 있는 API입니다. Apache Software Foundation에서 개발한 이 오픈 소스 라이브러리는 Java를 사용하여 Microsoft Office 파일의 디자인 또는 수정을 배포합니다. 여기에는 사용자 입력 데이터나 파일을 MS Office 문서로 디코딩하는 클래스와 메서드가 포함되어 있습니다.
Apache POI는 Apache Software Foundation에서 제공하는 100% 오픈 소스 라이브러리입니다. 대부분의 중소 규모 애플리케이션 개발은 주로 Apache POI(HSSF + XSSF)에 의존합니다. Excel 라이브러리의 모든 기본 기능을 지원하지만 렌더링 및 텍스트 추출이 주요 기능입니다.
이것은 Excel 통합 문서를 생성하거나 유지 관리하는 모든 클래스를 위한 슈퍼 인터페이스입니다. org.apache.poi.ss.usermodel 패키지에 속합니다. 이 인터페이스를 구현하는 두 가지 클래스는 다음과 같습니다.
HSSFWorkbook: 이 클래스에는 .xls 형식의 Microsoft Excel 파일을 읽고 쓰기 위한 메서드가 있습니다. Microsoft Office97-2003 버전과 호환됩니다.
XSSFWorkbook: 이 클래스에는 .xls 또는 .xlsx 형식의 Microsoft Excel 및 OpenOffice XML 파일을 읽고 쓰는 방법이 있습니다. MS-Office 버전 2007 이상과 호환됩니다.
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를 참조하세요.
상위 및 하위 수준의 Excel 파일 형식을 나타내는 클래스로 사용됩니다. org.apache.xssf.usemodel 패키지에 속하며 Workbook 인터페이스를 구현합니다. 아래에는 이 클래스의 메서드와 생성자가 나열되어 있습니다.
S.No. | 생성자 및 설명 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 |
XSSFWorkbook() 새 XSSFworkbook 개체를 처음부터 만듭니다. |
||||||||||||||||||||||||||||
2 |
XSSFWorkbook(java.io.File 파일) 지정된 파일에서 XSSFWorkbook 개체를 구성합니다. |
||||||||||||||||||||||||||||
3 |
| 4||||||||||||||||||||||||||||
XSSFWorkbook(java.lang.String path) |
주어진 파일의 전체 경로를 사용하여 XSSFWorkbook 개체를 구성합니다. |
S.No. | 생성자 및 설명 |
---|---|
1 |
HSSFSheet(HSSFWorkbook 통합 문서) HSSFWorkbook을 호출하여 새 HSSFSheet 만들기 . |
2 |
HSSFSheet(HSSFWorkbook 통합 문서, InternalSheet 시트) 주어진 테이블 개체를 나타내는 HSSFSheet를 생성합니다. |
엑셀 스프레드시트를 상위 수준으로 표현한 카테고리입니다. 이는 org.apache.poi.hssf.usermodel 패키지 아래에 있습니다.
S.No. | 생성자 및 설명 |
---|---|
1 |
. | 2
클래스 메소드 |
1 | |
---|---|
병합된 셀 범위를 추가합니다. 따라서 이러한 셀은 병합됩니다. 하나를 형성하십시오). |
2 |
내용에 맞게 열 너비를 조정하세요. |
3 |
이 메서드는 foreach 루프를 허용하는 rowIterator()의 별칭입니다 |
4 |
A등록 이 워크시트의 하이퍼링크 모음 |
이 클래스의 나머지 메서드는 다음에서 전체 API를 참조하세요. https://poi.apache.org/apidocs/org/apache/ line poi/xssf/ usermodel/XSSFSheet.html. |
XSSFRow
Class method
S.No.Description1 | |
---|---|
새 셀 행을 생성하고 반환합니다. |
2 |
짧은 단위의 높이를 설정합니다. |
이 클래스의 나머지 메소드는 다음 링크를 참조하세요: https://poi.apache.org/apidocs/org/apache/poi/xssf/usermodel/XSSFRow.html |
셀은 공백, 숫자, 날짜, 오류 등과 같은 다양한 속성을 사용할 수 있습니다. 행에 추가되기 전에 셀에는 고유한(0 기반) 숫자가 있어야 합니다.
이것은 org.apache.poi.xssf.usermodel 패키지의 클래스입니다. 셀 인터페이스를 구현합니다. 이는 스프레드시트의 셀 행을 상위 수준으로 표현한 것입니다.
코드 구현
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!