보고서 출력은 Java 응용 프로그램 개발에 종종 관여하는 컨텐츠이며 일반 보고서에는 보편성이 부족하며 사용자가 개인화 된 편리하지 않습니다. 교차 플랫폼 기능으로 인해 Java 프로그램은 Excel을 직접 조작 할 수 없습니다. 따라서이 기사에서는 Excel 읽기 및 수입을위한 POI Sight Java 프로그램에 대해 설명합니다.
프로젝트 구조 :
java_poi_excel
사용 된 Excel 파일 :
XLS
xlsmain .java 클래스
//이 클래스에는 주로 프로그램 실행을 담당하는 주요 방법이 있습니다. 동시에,이 클래스는 POI (버전 2003) import java.io.fileInputStream; import java.io.ioException; import java.io.inputStream; import java.util.arraylist; import java.util.list; import java.util.list; import java.io.inputstream; import java.io.inputstream; import java.io.inputstream; import java.io.inputstream; import java.io.inputstream; import java.util.arraylist와 함께 Excel을 읽는다. org.apache.poi.hssf.usermodel.hssfcell; import org.apache.poi.hssf.usermodel.hssfrow; import org.apache.poi.hssf.usermodel.hssfsheet; import org.apache.poi.hssf.usermodel.hssfworkbook; /** * * @author hongten </br> * * */public class xlsmain {public static void main (string [] args)은 ioexception {xlsmain xlsmain = new xlsmain (); xlsdto xls = null; 목록 <xlsdto> list = xlsmain.readxls (); try {xlsdto2excel.xlsdto2excel (list); } catch (예외 e) {e.printstacktrace (); } for (int i = 0; i <list.size (); i ++) {xls = (xlsdto) list.get (i); system.out.println (xls.getxh () + "" + xls.getxm () + "" + xls.getyxsmc () + "" + xls.getKcm () + "" + xls.getKcm () + "" + xls.getcj ()); }}/*** XLS 파일의 내용을 읽으십시오** @return list <xlsdto> 객체* @throws ioexception* 입력/출력 (I/O) 예외*/개인 목록 <xlsdto> readxls () IoException {inputStream is = new FileInputStream ( "pldrxkxxmb.xls"); hssfworkbook hssfworkbook = 새로운 hssfworkbook (IS); xlsdto xlsdto = null; 목록 <xlsdto> list = new arraylist <xlsdto> (); // (int numsheet = 0; numsheet <hssfworkbook.getnumberofsheets (); numsheet ++) {hssfsheet hssfsheet = hssfworkbook.getsheetat (numsheet); if (hssfsheet == null) {계속; } // (int rownum = 1; rownum <= hssfsheet.getlastrownum (); rownum ++) {hssfrow hssfrow = hssfsheet.getrow (rownum); if (hssfrow == null) {계속; } xlsdto = new xlsdto (); // 루프 칼럼 셀 // 0 학생 번호 1 이름 2 대학 3 코스 이름 4 점수 // (int cellnum = 0; CellNum <= 4; CellNum ++) {hssfcell xh = hssfrow.getCell (0); if (xh == null) {계속; } xlsdto.setxh (getValue (xh)); hssfcell xm = hssfrow.getcell (1); if (xm == null) {계속; } xlsdto.setxm (getValue (xm)); hssfcell yxsmc = hssfrow.getcell (2); if (yxsmc == null) {계속; } xlsdto.setyxsmc (getValue (yxsmc)); hssfcell kcm = hssfrow.getCell (3); if (kcm == null) {계속; } xlsdto.setkcm (getValue (kcm)); hssfcell cj = hssfrow.getcell (4); if (cj == null) {계속; } xlsdto.setcj (float.parsefloat (getValue (cj))); list.add (xlsdto); }} 리턴 목록; } / ** * Excel 테이블에서 값을 가져옵니다 * * @param hssfcell * Excel의 각 그리드의 @return 값 * / @suppresswarnings ( "static -acess") 개인 문자열 getValue (hssfcell hssfcell) {if (hssfcell.getcelltype () == hssfcell.cell_type_boolean) {// 부울 유형 return string.valueof (hssfcell.getBooleanCellValue ())의 값을 반환합니다. } else if (hssfcell.getCellType () == hssfcell.cell_type_numeric) {// 숫자 유형 return string.valueof (hssfcell.getnumericcellValue ())의 값을 반환합니다. } else {// 문자열 유형 값을 반환하십시오. return string.valueof (hssfcell.getStringCellValue ()); }}}xlsdto2excel.java 클래스
//이 클래스는 주로 Excel (2003 버전)에 데이터를 삽입 할 책임이 있습니다. import java.io.fileoutputStream; import java.io.outputStream; import java.util.list; import org.apache.poi.hssf.usermodel.hssfcell; import org.apache.poi.hssf.usermodel.hssfrichtextstring; import org.apache.poi.hsssf.usermodel.hssfsheet; import org.apache.poi.hssf.hssf.hssl. 공개 클래스 xlsdto2excel { / ** * * @param xls * xlsdto Entity Class * @throws Exception *의 객체 * / public static void xlsdto2excel (list <xlsdto> xls) 예외 {// int counts intcolnum = xlscolnum = xlscolnum (xlsdto> xls)을 가져옵니다. // Excel 문서 작성 hssfworkbook hwb = new hssfworkbook (); xlsdto xlsdto = null; // 시트는 작업 페이지에 해당합니다. hssfrow firstrow = sheet.createrow (0); // 첨자로 줄을 시작합니다. 문자열 [] names = 새 문자열 [countcolumnnum]; 이름 [0] = "학생 번호"; 이름 [1] = "이름"; 이름 [2] = "대학"; 이름 [3] = "코스 이름"; 이름 [4] = "점수"; for (int j = 0; FirstCell [j] .SetCellValue (New Hssfrichtextstring (names [j])); } for (int i = 0; i <xls.size (); i ++) {// hssfrow row의 행을 만듭니다. sheet.createrow (i+1); // 모든 레코드를 삽입 할 xlsdto = xls.get (i); for (int colu = 0; colu <= 4; colu ++) {// 행의 루프 hssfcell xh = row.createcell (0); xh.setcellvalue (xlsdto.getxh ()); hssfcell xm = row.createcell (1); XM.SetCellValue (xlsdto.getxm ()); hssfcell yxsmc = row.createcell (2); yxsmc.setcellvalue (xlsdto.getyxsmc ()); hssfcell kcm = row.createcell (3); kcm.setCellValue (xlsdto.getKcm ()); hssfcell cj = row.createcell (4); cj.setCellValue (xlsdto.getcj ()); (xlsdto.getMessage ()); }} // 파일 출력 스트림을 만들고 출력 스프레드 시트 출력을 준비합니다. 출력 out = 새 파일 아웃 PutStream ( "poi2excel/pldrxkxxmb.xls"); hwb.write (out); out.close (); System.out.println ( "데이터베이스 내보내기 성공"); }}xlsdto .java 클래스
//이 클래스는 엔티티 클래스 공개 클래스 XLSDTO {/*** 코스 선택 번호*/개인 정수 XKH입니다. / *** 학생 번호*/ 개인 문자열 XH; / *** 이름*/ 개인 문자열 XM; / *** College*/ 개인 문자열 YXSMC; / *** 코스 번호*/ 개인 정수 KCH; / *** 코스 이름*/ 개인 문자열 kcm; / *** 점수*/ 개인 플로트 CJ; 공개 정수 getxkh () {return xkh; } public void setxkh (정수 xkh) {this.xkh = xkh; } public String getXh () {return xh; } public void setxh (String xh) {this.xh = xh; } public String getXm () {return xm; } public void setxm (String xm) {this.xm = xm; } public String getyxsmc () {return yxsmc; } public void setyxsmc (String yxsmc) {this.yxsmc = yxsmc; } public Integer getKch () {return kch; } public void setkch (정수 kch) {this.kch = kch; } public String getKcm () {return kcm; } public void setkcm (String kcm) {this.kcm = kcm; } public float getCj () {return CJ; } public void setcj (float cj) {this.cj = cj; }}배경 출력 :
데이터베이스가 성공적으로 내보내기
1.0 Hongten School of Information 기술 컴퓨터 네트워크 응용 프로그램 기본 80.0
2.0 Wangwu 정보 기술 대학 컴퓨터 네트워크 응용 프로그램 기본 사항 81.0
3.0 Li Shengji School of Information 기술 컴퓨터 네트워크 응용 프로그램 기본 82.0
4.0 컴퓨터 네트워크의 기본 사항 5 급 정보 기술 대학 83.0
5.0 Cai Shiyun School of Information 기술 컴퓨터 네트워크 응용 프로그램 기본 84.0
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.