En la actualidad, más comúnmente utilizado para lograr la importación de Java, exportar Excel, hay dos tecnologías Java y Yakarta PDI Excel
Directamente en el código:
Uno, PDI
PDI es un proyecto de Apache, para ser Microsoft Word, Excel, PPT operar, incluyendo office2003 y 2007, Excl2003 y 2007. poi ahora se ha actualizado. Así que ahora el uso corriente principal punto de interés.
xls:
pom:
org.apache.poi
poi-OOXML
3.9
commons-io
commons-io
2.2
exportación:
public class {PoiCreateExcel
public static void Main (args String []) {
// crear el encabezado
String [] title = { "id", "name", "sexo"};
// crear un libro de Excel
HSSFWorkbook libro de trabajo = new HSSFWorkbook ();
// crear una hoja de hoja de cálculo
hoja HSSFSheet = workbook.createSheet ();
// crear la primera línea
fila HSSFRow = sheet.createRow (0);
célula HSSFCell = null;
// insertar la primera fila
for (int i = 0; i <title.length; i ++) {
células = row.createCell (i);
cell.setCellValue (título [i]);
}
// añadir datos
for (int i = 1; i <10; i ++) {// int comenzar aquí es la segunda línea es una
HSSFRow nextrow = sheet.createRow (i);
HSSFCell cell2 = nexTrow.createCell (0);
cell2.setCellValue ( "a" + i);
cell2 = nexTrow.createCell (1);
cell2.setCellValue ( "usuario");
cell2 = nexTrow.createCell (2);
cell2.setCellValue ( "男");
}
// crear un archivo
del archivo = new File ( "D: /poi.xls");
tratar {
file.createNewFile ();
// Guardar el contenido
FileOutputStream corriente = FileUtils.openOutputStream (archivo);
workbook.write (corriente);
stream.close ();
} Catch (Exception e) {
e.printStackTrace ();
}
}
}
importación:
public class {PoiReadExcel
public static void Main (args String []) {
// introducción al archivo de análisis
del archivo = new File ( "D: /poi.xls");
tratar {
// Crear Excel lee el contenido del archivo
HSSFWorkbook WorkBook = new HSSFWorkbook (FileUtils.openInputStream (archivo));
/ **
* En la primera página se lee Hoja
* /
// hoja HSSFSheet = workbook.getSheet ( "Sheet0");
/ **
* La segunda manera de leer la página Hoja
* /
hoja HSSFSheet = workbook.getSheetAt (0);
int firstRowNum = 0; // la línea de salida, línea 0
int lasrRowNum = sheet.getLastRowNum (); // leer hasta la última línea
for (int i = 0; i <lasrRowNum; i ++) {
fila HSSFRow = sheet.getRow (i);
// obtener la última celda en el número de columna actual
int lastCellNum = row.getLastCellNum ();
for (int j = 0; j <lastCellNum; j ++) {
célula HSSFCell = row.getCell (j);
= valor de cadena cell.getStringCellValue (); // Nota Si Excel, que son valores de cadena a continuación getStringCellValue si otro tipo que necesita para el cambio!
System.out.print (valor + " ");
}
System.out.println ();
}
} Catch (Exception e) {
e.printStackTrace ();
}
}
}
xlsx:
pom:
org.apache.poi
POI-ejemplos
3.9
org.apache.poi
entonces excelant
3.9
org.apache.poi
poi-OOXML
3.9
org.apache.poi
esquemas poi-OOXML
3.9
org.apache.poi
entonces scratchpad
3.9
exportación:
public class {PoiCreateExcel
public static void Main (args String []) {
// crear el encabezado
String [] title = { "id", "name", "sexo"};
// crear un libro de Excel
XSSFWorkbook libro de trabajo = new XSSFWorkbook ();
// Crear una hoja de cálculo shheet
Hoja Hoja = workbook.createSheet ();
// crear la primera línea
fila Fila = sheet.createRow (0);
Cell = null;
// insertar la primera fila
for (int i = 0; i <title.length; i ++) {
células = row.createCell (i);
cell.setCellValue (título [i]);
}
// añadir datos
for (int i = 1; i <10; i ++) {// int comenzar aquí es la segunda línea es una
Fila nextrow = sheet.createRow (i);
cell2 Cell = nexTrow.createCell (0);
cell2.setCellValue ( "a" + i);
cell2 = nexTrow.createCell (1);
cell2.setCellValue ( "usuario");
cell2 = nexTrow.createCell (2);
cell2.setCellValue ( "男");
}
// crear un archivo
del archivo = new File ( "d: /poi.xlsx"); // en este documento puede modificarse para versiones superiores
tratar {
file.createNewFile ();
// El contenido de la bandeja de actividades de bonificación de divisas
FileOutputStream corriente = FileUtils.openOutputStream (archivo);
workbook.write (corriente);
stream.close ();
} Catch (Exception e) {
e.printStackTrace ();
}
}
}
importación:
public class {PoiReadExcel
Lista pública readExcels (InputStream es) throws Exception {
Lista xlsxList = new ArrayList ();
tratar {
si (es == null) {
throw new IOException ( "archivo es incorrecto!");
}
Libro de libro = WorkbookFactory.create (es);
FormulaEvaluator fe = workbook.getCreationHelper () createFormulaEvaluator ().;
// obtener la primera tabla
Hoja Hoja = workbook.getSheetAt (0);
si (hoja == null) {
throw new IOException ( "entrante excel en la primera tabla está vacía!");
}
for (int ROWNUM = 0; ROWNUM <= sheet.getLastRowNum (); ROWNUM ++) {
Fila fila = sheet.getRow (ROWNUM);
si (fila! = null) {
// obtener la columna a partir de la fila actual
int firstCellNum = row.getFirstCellNum ();
// Obtener el número de columnas de la fila actual
int lastCellNum = row.getPhysicalNumberOfCells ();
resultado String = "";
// fila actual bucle
for (int cellNum = firstCellNum; cellNum <lastCellNum; cellNum ++) {
Cell = row.getCell (cellNum);
doble valor = 0;
Cadena VALUEconstante = cell.getStringCellValue ();
Si (null! = fe.evaluate (celular)) {
value = fe.evaluate (celular) .getNumberValue ();
}
// resultado = resultado + cellNum + ":" + valor + "----";
resultar = resultado + cellNum + ":" + VALUEconstante + "----";
}
System.out.println (resultado + " ");
}
}
está cerca();
} Catch (FileNotFoundException e) {
arrojar nueva Excepción ( "Archivo no es correcto!");
}
volver xlsxList;
}
public static void Main (args String []) throws Exception {
InputStream IS = nueva FileInputStream ( "d: /poi.xlsx");
PoiReadExcel re PoiReadExcel = new ();
re.readExcels (es);
}
}
二, JXL
JXL Excel sólo puede operar pertenecen al marco mayor, sólo es compatible con la versión de Excel 95-2000. Ahora hemos dejado de actualización y mantenimiento.
pom:
net.sourceforge.jexcelapi
jxl
2.6.10
exportación:
public class {JxlCreateExcel
public static void Main (args String []) {
// En primer lugar, establecer el encabezado de la tabla primera fila del nombre de la tabla es el nombre de columna
String [] title = { "id", "name", "sexo"};
// crear un archivo de Excel en el camino
del archivo = new File ( "D: /jxl.xls");
tratar {
file.createNewFile ();
// crear el libro
WritableWorkbook libro = Workbook.createWorkbook (archivo);
// Crear hoja
hoja WritableSheet = workbook.createSheet ( "sheet1", 0);
// datos se suman
Label etiqueta = null;
// La primera línea establece el nombre de columna
for (int i = 0; i <title.length; i ++) {
etiqueta = new Label (i, 0, título [i]);
sheet.addCell (etiqueta);
}
// anexar datos de la segunda fila de la i empezando
for (int i = 1; i <9; i ++) {
etiqueta = new Label (0, i, "id:" + i);
sheet.addCell (etiqueta);
etiqueta = nueva etiqueta (1, i, "usuario");
sheet.addCell (etiqueta);
etiqueta = new Label (2, i, "男");
sheet.addCell (etiqueta);
}
// escritura y, finalmente, cerca de la corriente
workbook.write ();
workbook.close ();
} Catch (Exception e) {
e.printStackTrace ();
}
}
}
importación:
public class {JxlReadExcel
public static void Main (args String []) {
tratar {
// crear Cuaderno
Libro de libro = Workbook.getWorkbook (nuevo archivo ( "d: /jxl.xls"));
// Obtener la hoja de hoja de cálculo
Hoja Hoja = workbook.getSheet (0);
// Obtener los datos
for (int i = 0; i <sheet.getRows (); i ++) {// 获取 行
for (int j = 0; j <sheet.getColumns (); j ++) {// Obtener la columna
Cell = sheet.getCell (j, i);
System.out.print (cell.getContents () + ""); // obtener el contenido de la célula
}
System.out.println ();
}
workbook.close ();
} Catch (Exception e) {
e.printStackTrace ();
}
}
}