introducir
Yakarta POI es un conjunto de API de Java para acceder a documentos con formato de Microsoft. Yakarta POI consta de muchos componentes, incluido HSSF para operar archivos de formato de Excel y HWPF para la palabra operativa. Entre varios componentes, solo HSSF para operar Excel es relativamente maduro. Casa de inicio oficial http://poi.apache.org/index.html, documentación de API http://poi.apache.org/apidocs/index.html
lograr
Se han agregado comentarios completos al código.
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; import; importar; import org.apache.poi.hssf.usermodel.hssfcellStyle; import org.apache.poi.hssf.usermodel.hssfrow; import org.apache.poi.hssf.usermodel.hsssfsheet; import org.apache.poi.hssf.usermodel.hsfworkset; {public static void main (string [] args) {// crea Excel Table CreateExcel (getStudent ()); // Leer la lista de la tabla de Excel <estudiante> list = readExcel (); System.out.println (list.ToString ()); } / *** Inicializar datos** @@return data* / private static list <diatent> getStudent () {list <deud> list = new ArrayList <deudent> (); Estudiante estudiante1 = nuevo estudiante ("Xiao Ming", 8, "Segundo grado"); Estudiante estudiante2 = nuevo estudiante ("Xiao Guang", 9, "Segundo grado"); Estudiante estudiante3 = nuevo estudiante ("Xiao Hua", 10, "Cuarto grado"); list.add (Student1); list.add (Student2); list.add (Student3); lista de devolución; } / ** * Crear Excel * * @param list * data * / private static void createExcel (list <deude> list) {// crea un archivo de Excel hssfworkbook workbook = new hssfworkbook (); // Crear una hoja de trabajo HSSFSEET Hoja = Workbook.CreateSheet ("Tabla de estudiantes uno"); // Agregue la fila del encabezado HSSFROW HSSFROW = Sheet.Createrow (0); // Establecer el formato de celda en el centro HSSFCellStyle CellStyle = Workbook.CreateCellStyle (); CellStyle.SetAlignment (hssfcellstyle.align_center); // Agregar contenido de encabezado HSSFCell HeadCell = HSSFROW.CreateCell (0); HeadCell.SetCellValue ("Nombre"); HEADCELL.SETCELLSTYLE (CellStyle); Headcell = HSSFROW.CreateCell (1); Headcel.SetCellValue ("edad"); HEADCELL.SETCELLSTYLE (CellStyle); Headcell = HSSFROW.CreateCell (2); HeadCell.SetCellValue ("Grado"); HEADCELL.SETCELLSTYLE (CellStyle); // Agregar contenido de datos para (int i = 0; i <list.size (); i ++) {hssfrow = sheet.createrow ((int) i+1); Estudiante estudiante = list.get (i); // Crear una celda y establecer el valor HSSFCell Cell = HSSFROW.CreateCell (0); Cell.SetCellValue (Student.getName ()); Cell.SetCellStyle (CellStyle); celda = hssfrow.createCell (1); Cell.SetCellValue (Student.getage ()); Cell.SetCellStyle (CellStyle); celda = hssfrow.createCell (2); Cell.SetCellValue (Student.getGrade ()); Cell.SetCellStyle (CellStyle); } // Guardar el archivo Excel Workbook.Write (outputStream); outputStream.close (); } catch (Exception e) {E.PrintStackTrace (); }} / ** * Read Excel * * @return recopilación de datos * / private static list <druent> readExcel () {list <diDEVE> list = new ArrayList <Sentude> (); HSSFWorkBook Workbook = NULL; Pruebe {// Leer el archivo de Excel InputStream InputStream = new FileInputStream ("d: /Students.xls"); Workbook = new HSSFWorkBook (inputStream); inputStream.close (); } catch (Exception e) {E.PrintStackTrace (); } // hoja de trabajo de bucle para (int numSheet = 0; numSheet <workbook.getNumberOfSheets (); numSheet ++) {hssfsheet hssfsheet = workbook.getSheetat (numSheet); if (hssfsheet == null) {continuar; } // bucle fila para (int rownum = 1; Rownum <= hssfsheet.getLastrownum (); Rownum ++) {HSSFROW HSSFROW = HSSFSheet.getrow (ROWNUM); if (hssfrow == null) {continuar; } // Guardar el contenido en la celda en el estudiante de colección estudiante = nuevo estudiante (); HSSFCELL CELL = HSSFROW.GETCELL (0); if (cell == null) {continuar; } student.setName (Cell.getStringCellValue ()); celda = hssfrow.getCell (1); if (cell == null) {continuar; } student.setage ((int) cell.getNumericCellValue ()); celda = hssfrow.getCell (2); if (cell == null) {continuar; } student.setGrade (Cell.getStringCellValue ()); list.add (estudiante); }} lista de retorno; }}Adjunte el código de clase de estudiante
Estudiante de clase pública {nombre de cadena privada; edad privada int; Grado de cadena privada; Public Student () {} Public Student (Nombre de cadena, int Age, String Grade) {super (); this.name = name; this.age = edad; this.grade = grado; } public String getName () {nombre de retorno; } public void setName (nombre de cadena) {this.name = name; } public int getAge () {return Age; } public void setAge (int Age) {this.age = edad; } public String getGrade () {RETURN GRADE; } public void setGrade (string grado) {this.grade = grado; } @Override public String toString () {return "student [name =" + name + ", age =" + age + ", grado =" + grado + "]"; }} Resultados de las pruebas
Tablas de Excel exportadas
Estudiantes
Imprima los datos de lectura de Excel
[Estudiante [nombre = Xiao Ming, edad = 8, grado = segundo grado], estudiante [nombre = Xiao Guang, edad = 9, grado = 3], estudiante [nombre = Xiao Hua, edad = 10, grado = 4]]
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo sea de ayuda para su estudio o trabajo. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse.