Java operaciones Excel manera de tener dos Poi total y Jxl, el siguiente código es una realización sencilla:
entonces
importación org.apache.poi.hssf.usermodel.HSSFRow; importación org.apache.poi.hssf.usermodel.HSSFSheet; importación org.apache.poi.hssf.usermodel.HSSFWorkbook; importación org.apache.poi.openxml4j.exceptions.InvalidFormatException; importación org.apache.poi.ss.usermodel.Row; importación org.apache.poi.ss.usermodel.Sheet; importación org.apache.poi.ss.usermodel.Workbook; importación org.apache.poi.ss.usermodel.WorkbookFactory; importación org.springframework.stereotype.Component; importación java.io.File; importación java.io.FileOutputStream; importación java.io.IOException; @Componente público de clase ExcelByPoi { pública estática vacío writeExcelByPoi (String path) { try { // 创建工作薄 HSSFWorkbook libro = nueva HSSFWorkbook (); // 创建工作表 hoja HSSFSheet = workbook.createSheet ( "sheet1" ); para ( int fila = 0; fila <10; fila ++ ) { filas HSSFRow = sheet.createRow (fila); para ( int col = 0; col <10; col ++ ) { si(Fila == 0 ) { // cabecera add rows.createCell (0) .setCellValue ( "nombre" ); rows.createCell ( .setCellValue ( "Clase" 1.) ); Rows.createCell ( 2) .setCellValue ( " género " ); rows.createCell ( 3) .setCellValue (" Edad " ); rows.createCell ( 4) .setCellValue (" cumpleaños " ); rows.createCell ( 5) .setCellValue (" viejo " ); rows.createCell ( 6) .setCellValue ( "escuela" ); rows.createCell (7) .setCellValue ( "maestro" ); rows.createCell ( 8) .setCellValue ( "papá". ); Rows.createCell ( 9). .SetCellValue ( "mamá" ); } else { // añadir datos a la hoja de filas .createCell (COL) .setCellValue ( "datos" Fila + + COL); } } } archivo xlsFile = nuevo nuevo archivo (ruta); un xlsStream FileOutputStream = nuevo nuevo un FileOutputStream (xlsFile); workbook.write (xlsStream); } La captura {(IOException e) { e.printStackTrace (); } } pública estática vacío readExcelByPoi (String path) { try { Archivo xlsFile = nuevo nuevo archivo (ruta); // obtener el libro el libro Cuaderno = WorkbookFactory.create (xlsFile); // obtener el número de hojas int SheetCount = workbook.getNumberOfSheets (); // atravesar la hoja de cálculo para ( int i = 0; I <SheetCount; I ++ ) de hoja de la hoja = workbook.getSheetAt (I); // obtener la fila int filas sheet.getLastRowNum = () + 1. ; // obtener el número de columnas, se obtiene la primera línea, lo que resulta en el cambio del número de filas Fila sheet.getRow tmp = (0 ); IF (tmp == nula ) { Continuar ; } int cols = tmp.getPhysicalNumberOfCells (); // leer los datos para ( int fila = 0; Row <filas; Fila ++ ) { Fila R & lt =sheet.getRow (fila); para ( int col = 0; col <cols; col ++ ) { System.out.printf ( "% 10s" , r.getCell (col) .getStringCellValue ()); } System.out.println (); } } } Catch (IOException e) { e.printStackTrace (); } Catch (InvalidFormatException e) { e.printStackTrace (); } } }
Jxl
<dependency> <groupId> net.sourceforge.jexcelapi </ groupId> <artifactId> jxl </ artifactId> <versión> 2.6.10 </ version> </ dependency>
importación java.io.File; importación java.io.IOException; importación jxl.Workbook; importación jxl.write.Label; importación jxl.write.WritableSheet; importación jxl.write.WritableWorkbook; importación jxl.write.WriteException; importación jxl.Sheet; importación jxl.read.biff.BiffException; importación org.springframework.stereotype.Component; @Component pública clase ExcelByJxl { pública estática vacío writeExcelByJxl (String path) { try { Archivo xlsFile = nuevaFile (ruta de acceso); // crear un libro WritableWorkbook Workbook = Workbook.createWorkbook (xlsFile); // crear una hoja de cálculo Hoja WritableSheet = workbook.createSheet ( "sheet1", 0 ); para ( int Fila = 0; Fila < 10; Fila ++ ) { para ( int COL = 0; COL <10; COL ++ ) { // añadir a los datos de la hoja sheet.addCell ( nuevo nuevo la etiqueta (COL, Row, "datos" Fila + + COL)); } } // crear una hoja de cálculo WritableSheet sheet1 = workbook.createSheet ( "Hoja2", 0 ); para ( int fila = 0; fila <10; fila ++ ) { para ( int col = 0; col <10; col ++ ) { si (fila == 0 ) { // 添加表头 sheet1.addCell ( nueva etiqueta (0, 0, "班级" )); sheet1.addCell ( nueva etiqueta (1, 0, "姓名" )); sheet1.addCell ( nueva etiqueta (2, 0, "年级" )); sheet1. nuevo nuevo la etiqueta (3, 0, "Edad" )); sheet1.addCell ( nuevo nuevo la etiqueta (4, 0, "cumpleaños" )); sheet1.addCell ( nuevo nuevo la etiqueta (5, 0, "dirección" )) ; sheet1.addCell ( nuevo nuevo la etiqueta (6, 0, "género" )); sheet1.addCell ( nuevo nuevo la etiqueta (7, 0, "papá" )); sheet1.addCell ( nuevo nuevo la etiqueta (8, 0, "madre" ) ); sheet1.addCell ( nuevo nuevo la etiqueta (9, 0, "clase". )); } demás{ // 向工作表中添加数据 sheet1.addCell ( nuevo Label (col, fila, "datos" + fila + col)); } } } Workbook.write (); workbook.close (); } Catch (IOException e) { e.printStackTrace (); } Catch (WriteException e) { e.printStackTrace (); } } Pública estática vacío (String path) readExcelByJxl { tratar { Archivo xlsFile = nuevaArchivo (ruta); // obtener un objeto de libro Cuaderno Cuaderno = Workbook.getWorkbook (xlsFile); // obtener toda la hoja de cálculo Hoja [] = hojas workbook.getSheets (); // atraviesan la hoja de trabajo SI (! Láminas = Null ) { para (Sheet Hoja de: hojas) { // obtener la fila int filas = sheet.getRows (); // obtener el número de columnas int cols = sheet.getColumns (); // leer los datos para (int (BiffException e) {fila = 0; fila <filas; fila ++ ) { para ( int col = 0; col <cols; col ++ ) { System.out.printf ( "% 10s" , sheet.getCell (col, fila) .getContents ()); } System.out.println (); } } } Workbook.close (); } Catch (IOException e) { e.printStackTrace (); } Coger e.printStackTrace (); } } }