Der Berichtsausgang ist ein Inhalt, der häufig an der Entwicklung von Java -Anwendungen beteiligt ist, und allgemeine Berichte haben häufig keine Universalität und es ist für Benutzer nicht bequem, personalisiert zu bearbeiten. Aufgrund seiner plattformübergreifenden Merkmale können Java-Programme Excel nicht direkt manipulieren. In diesem Artikel wird daher das Java-Programm der POI-Sichtprogramm für Excel-Lesen und -Inimporte erörtert.
Projektstruktur:
java_poi_excel
Verwendete Excel -Dateien:
xls
Xlsmain .java Klasse
// Diese Klasse hat eine Hauptmethode, die hauptsächlich für die Ausführung des Programms verantwortlich ist. Gleichzeitig enthält diese Klasse auch das Lesen von Excel mit POI (Version 2003) import Java.io.FileInputStream; Import Java.io.ioxception; import Java.io.inputStream; Import Java.util.ArrayList importieren Java.util.list; Java.util.List ;list; org.apache.poi.hssf.usermodel.hsssfrow; import org.apache.poi.hssf.usmodel.hssfsheet; import org.apache.poi.hssf.usermodel.hssfworkbook; /** * * @Author Hongen </br> * * */public class xlsmain {public static void main (String [] args) löst ioException {xlsmain xlsmain = new xlsmain () aus; Xlsdto xls = null; List <xlsdto> list = xlsmain.readxls (); try {xlsdto2excel.xlsdto2Excel (list); } catch (Ausnahme e) {e.printstacktrace (); } für (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 ()); }}/*** Lesen Sie den Inhalt der XLS -Datei** @return list <xlsdto> Objekt* @throws ioException* input/output (i/o) Ausnahme*/private Liste <xlsdto> readxls () löst ioException {inputStream is = new FileStream ("pldrxxxmb.xls"). HSSFWORKBOOK HSSFWORKBOOK = NEW HSSFWORKBOOK (IS); Xlsdto xlsdto = null; Liste <xlsdto> list = new ArrayList <xlsdto> (); // Loop Sheet für (int numsheet = 0; numSheet <hssfworkbook.getNumberofsheets (); numSheet ++) {hssfsheet hssfsheet = hssfworkbook.getsheetat (numsheet); if (hssfsheet == null) {Fortsetzung; } // Loop Row Row für (int rownum = 1; Rownum <= hssfsheet.getLastrownum (); Rownum ++) {hssfrow hssfrow = hssfsheet.getrow (rownum); if (hssfrow == null) {Fortsetzung; } xlsdto = new xlsdto (); // Schleifenspaltenzelle // 0 Schülernummer 1 Name 2 College 3 Kursname 4 Punktzahl // für (int cellnum = 0; cellnum <= 4; cellnum ++) {hssfcell xh = hssfrow.getCell (0); if (xh == null) {Fortsetzung; } xlsdto.setXH (GetValue (xh)); Hssfcell xm = hssfrow.getCell (1); if (xm == null) {Fortsetzung; } xlsdto.setxm (GetValue (xm)); Hssfcell yxsmc = hssfrow.getCell (2); if (yxsmc == null) {Fortsetzung; } xlsdto.setyxsmc (GetValue (yxsmc)); Hssfcell kcm = hssfrow.getCell (3); if (kcm == null) {Fortsetzung; } xlsdto.setkcm (GetValue (KCM)); Hssfcell cj = hssfrow.getCell (4); if (cj == null) {Fortsetzung; } xlsdto.setcj (float.parsefloat (GetValue (CJ))); list.add (xlsdto); }} Rückgabeliste; } / ** * Erhalten Sie den Wert in der Excel-Tabelle * * @param hssfcell * Jedes Raster in Excel * @return-Werten in jedem Raster in Excel * / @Suppresswarnings ("static-access") Private String GetValue (hssfcell hssfcell) {if (hssfcell.get.get hssfcell.cell_type_boolean) {// RECHTEN SIE Den Wert des Booleschen Typs return string.valueof (hssfcell.getbooleancellValue ()); } else if (hssfcell.getCellType () == hssfcell.cell_type_numeric) {// RECHTE Den Wert des numerischen Typs return string.valueof (hsfcell.getNumericcellValue ()); } else {// Rückgabe des Werts des String -Typs return string.ValueOf (hssfcell.getStringCellValue ()); }}}XLSDTO2Excel.java Klasse
// Diese Klasse ist hauptsächlich für das Einfügen von Daten in Excel (2003 Version) verantwortlich. Importieren Sie java.io.fileoutputStream; import Java.io.outputStream; import Java.util.List; import org.apache.poi.hssf.usermodel.hssfcell; import org.apache.poi.hssf.usmodel.hssfrichtextstring; import org.apache.poi.hssf.usmodel.hssfsheet; public class xlsdto2excel { / ** * * @param xls * Ein Objekt der XLSDTO -Entitätsklasse * @Throws -Ausnahme * löst eine Ausnahme während des Imports von Excel * / public static void xlsdto2Excel aus (list <xlsdto> xls) Ausnahme aus der Gesamtzahl der Gesamtzahl der Int -Int -Zähler. // Excel -Dokument HSSFWorkbook erstellen hwb = new HSSFWorkbook (); Xlsdto xlsdto = null; // Blatt entspricht einer Arbeitsseite HSSFSheet Sheet = hwb.CreateSheet ("pldrxkxxmb"); Hssfrow firstrow = Sheet.CreateRow (0); // Die Linie mit dem Index 0 HSSFCell [] firstcell = new hssfcell [countColumnnum] starten; String [] names = new String [countColumnnum]; Namen [0] = "Schülernummer"; Namen [1] = "Name"; Namen [2] = "College"; Namen [3] = "Kursname"; Namen [4] = "Score"; für (int j = 0; j <countColumnnum; j ++) {firstCell [j] = firstrow.createcell (j); FirstCell [j] .SetCellValue (New HssfrichtextString (Namen [j])); } für (int i = 0; i <xls.size (); i ++) {// Erstellen Sie eine Zeile von Hssfrow row = Sheet.Createrow (i+1); // Jeder Datensatz soll einfügen xlsdto = xls.get (i); für (int colu = 0; colu <= 4; colu ++) {// Schleife in einer Reihe 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 ()); }} // Erstellen Sie einen Dateiausgabemestream und erstellen Sie den Ausgangsstreitabschnitt aus. hwb.write (out); out.close (); System.out.println ("Datenbankexport erfolgreich"); }}Xlsdto .java Klasse
// Diese Klasse ist eine Entitätsklasse öffentliche Klasse XLSDTO {/*** Kursauswahlnummer*/private Integer xkh; / *** Studentennummer*/ private String xh; / *** Name*/ private String xm; / *** College*/ private String yxsmc; / *** Kursnummer*/ private Ganzzahl kch; / *** Kursname*/ private String kcm; / *** Punktzahl*/ privat float cj; public Integer getXkh () {return xkh; } public void setxkh (Integer 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 (Integer 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; }}Hintergrundausgabe:
Datenbankxport erfolgreich
1.0 Honongen School of Information Technology Computer Network Application Basics 80.0
2.0 Wangwu Information Technology College Computer Network Application Basics 81.0
3.0 Li Shengji School of Information Technology Computer Network Application Basics 82.0
4.0 Grundlagen der Anwendung des Computernetzwerks des Klasse 5 College of Information Technology 83.0
5.0 CAI Shiyun School of Information Technology Computer Network Application Basics 84.0
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.