소개하다
Jakarta POI는 Microsoft 형식 문서에 액세스하기위한 Java API 세트입니다. Jakarta POI는 Excel 형식 파일을 작동하기위한 HSSF 및 Word를위한 HWPF를 포함하여 많은 구성 요소로 구성됩니다. 다양한 구성 요소 중에서 Excel 작동을위한 HSSF 만 비교적 성숙합니다. 공식 홈페이지 http://poi.apache.org/index.html, API 문서 http://poi.apache.org/apidocs/index.html
성취하다
코드에 완전한 의견이 추가되었습니다.
import java.io.fileInputStream; import java.io.fileoutputStream; import java.io.inputStream; import java.io.outputStream; import java.util.arraylist; import java.util.list; import org.apache.poi.hssf.usermodel.hssfcell; org.apache.poi.hssf.usermodel.hssfcellstyle; import org.apache.poi.hssf.usermodel.hssfrow; import org.apache.poi.hssf.usermodel.hssfsheet; import 또는 org.apache.poi.hssf.usermoptor; {public static void main (String [] args) {// 엑셀 테이블 Createexcel 작성 (getStudent ()); // Excel 테이블 목록을 읽습니다. 목록 = readExcel (); System.out.println (list.toString ()); } / *** 데이터 초기화** @return data* / private static list <student> getStudent () {list <student> list = new ArrayList <tudent> (); 학생 1 = 신입생 ( "Xiao Ming", 8, "2 학년"); 학생 2 = 신입생 ( "Xiao Guang", 9, "2 학년"); 학생 3 = 신입생 ( "Xiao Hua", 10, "4 학년"); list.add (student1); List.Add (학생 2); list.add (학생 3); 반환 목록; } / ** * Excel 만들기 * * @param 목록 * 데이터 * / private static void createexcel (list <tudent> list) {// 엑셀 파일 생성 hssfworkbook workbook = new Hssfworkbook (); // 워크 시트 만들기 hssfsheet sheet = workbook.createsheet ( "학생 테이블 1"); // 헤더 행 추가 hssfrow hssfrow = sheet.createrow (0); // 셀 형식을 hssfcellstyle cellstyle = workbook.createcellstyle ()으로 설정합니다. Cellstyle.setalignment (hssfcellstyle.align_center); // 헤더 컨텐츠 추가 hssfcell headcell = hssfrow.createcell (0); Headcell.setCellValue ( "이름"); Headcell.SetCellStyle (CellStyle); Headcell = hssfrow.createcell (1); Headcell.setCellValue ( "Age"); Headcell.SetCellStyle (CellStyle); Headcell = hssfrow.createcell (2); Headcell.setCellValue ( "등급"); Headcell.SetCellStyle (CellStyle); // (int i = 0; i <list.size (); i ++) {hssfrow = sheet.createrow ((int) i+1); 학생 학생 = list.get (i); // 셀을 만들고 값을 설정 hssfcell 셀 = hssfrow.createcell (0); cell.setCellValue (whity.getName ()); Cell.setCellStyle (CellStyle); 셀 = hssfrow.createcell (1); cell.setCellValue (student.getage ()); Cell.setCellStyle (CellStyle); 셀 = hssfrow.createcell (2); cell.setCellValue (student.getgrade ()); Cell.setCellStyle (CellStyle); } // Excel 파일 저장 시도 {outputStream outputStream = new FileOutputStream ( "d : /Students.xls"); workbook.write (outputstream); outputStream.close (); } catch (예외 e) {e.printstacktrace (); }} / ** * 읽기 읽기 * * @return data collection * / private static list <student> readexcel () {list <noding> list = new arraylist <student> (); hssfworkbook 통합 문서 = null; 시도 {// Excel 파일 읽기 inputStream inputStream = new FileInputStream ( "d : /students.xls"); 통합 문서 = 새로운 hssfworkbook (inputstream); inputStream.close (); } catch (예외 e) {e.printstacktrace (); } // (int numsheet = 0; numsheet <workbook.getnumberofsheets (); numsheet ++) {hssfsheet hssfsheet = workbook.getsheetat (numsheet); if (hssfsheet == null) {계속; } // (int rownum = 1; rownum <= hssfsheet.getlastrownum (); rownum ++) {hssfrow hssfrow = hssfsheet.getrow (rownum); if (hssfrow == null) {계속; } // 셀의 내용을 컬렉션에 저장하는 학생 Student = new Student (); hssfcell cell = hssfrow.getcell (0); if (cell == null) {계속; } student.setName (cell.getStringCellValue ()); 셀 = hssfrow.getCell (1); if (cell == null) {계속; } student.setage ((int) cell.getNumericCellValue ()); 셀 = hssfrow.getCell (2); if (cell == null) {계속; } student.setgrade (cell.getStringCellValue ()); list.add (학생); }} 리턴 목록; }}학생 수업 코드를 첨부하십시오
공개 클래스 학생 {개인 문자열 이름; 사적인 int 연령; 개인 문자열 등급; 공개 학생 () {} 공개 학생 (문자열 이름, int 연령, 문자열 등급) {super (); this.name = 이름; this.age = age; this.grade = 등급; } public String getName () {return name; } public void setName (문자열 이름) {this.name = 이름; } public int getage () {반환 연령; } public void 설정 (int Age) {this.age = age; } public String getgrade () {return grade; } public void setgrade (문자열 등급) {this.grade = grade; } @Override public String toString () {return "reptoy [name =" + name + ", age =" + age + ", grade =" + grade + "]; }} 테스트 결과
Excel 테이블을 내 보냅니다
재학생
읽기 Excel 데이터를 인쇄하십시오
[학생 [이름 = Xiao Ming, Age = 8, 학년 = 2 학년], 학생 [이름 = Xiao Guang, Age = 9, 학년 = 3], 학생 [이름 = Xiao Hua, Age = 10, grade = 4]]
요약
위는이 기사의 전체 내용입니다. 이 기사의 내용이 귀하의 연구 나 업무에 도움이되기를 바랍니다. 궁금한 점이 있으면 의사 소통을 위해 메시지를 남길 수 있습니다.