2010-08-11 11 views
5

¿Puede alguien señalarme en la dirección correcta para escribir en un archivo de Excel en Java? No entiendo los enlaces que encontré en línea. ¿Podrías enviarme un enlace o cualquier cosa que yo pueda seguir?escribiendo para sobresalir en java

Gracias, J

+0

Lo que enlaza estas hablando? Hay muchas formas diferentes de escribir sobre archivos Excel desde Java. ¿Hay alguna API o biblioteca en particular con la que tenga problemas? – FloppyDisk

+0

posible duplicado de [JSP que genera la hoja de cálculo de Excel (XLS) para descargar] (http://stackoverflow.com/questions/477886/jsp-generating-excel-spreadsheet-xls-to-download) –

Respuesta

12

Otra alternativa a Apache POI es el JExcelAPI, que (OMI) tiene un fácil de usar API. Some examples:

WritableWorkbook workbook = Workbook.createWorkbook(new File("output.xls")); 

WritableSheet sheet = workbook.createSheet("First Sheet", 0); 

Label label = new Label(0, 2, "A label record"); 
sheet.addCell(label); 

Number number = new Number(3, 4, 3.1459); 
sheet.addCell(number); 
+0

Impresionante API. Mucho más fácil que Apache POI. ¡Gracias! – JCab

0

he utilizado Apache's POI Library cuando he tenido que escribir en los archivos de Excel desde Java. Lo encontré más bien directo una vez que lo dominas. Java World tiene un buen tutorial sobre comenzar a usar POI que encontré muy útil.

1

Aquí voy a dar ejemplo de muestra, cómo escribir Excel, el uso de esto en pom.xml

<dependency> 
    <groupId>net.sf.jxls</groupId> 
    <artifactId>jxls-core</artifactId> 
    <version>0.9</version> 
</dependency> 

clase del modelo:

public class Products {  
    private String productCode1;  
    private String productCode2;  
    private String productCode3; 

    constructors,setters and getters  
} 

clase principal:

public class WriteExcel { 

    public void writeExcel() { 

     Collection staff = new HashSet();  

     staff.add(new Products("101R15ss0100", "PALss Kids 1.5 A360 ", "321"));  
     staff.add(new Products("101R1ss50100", "PAL sKids 1.5 A360 ", "236"));  

     Map beans = new HashMap();  

     beans.put("products", staff);  
     XLSTransformer transformer = new XLSTransformer();  

     try {  
      transformer.transformXLS(templateFileName, beans, destFileName); 

      System.out.println("Completed!!");  

     } catch (ParsePropertyException e) {  
      System.out.println("In ParsePropertyException");  
      e.printStackTrace();  
     } catch (IOException e) {  
      System.out.println("In IOException");  
      e.printStackTrace();  
     } 
    } 

    public static void main(String[] args) {  
     WriteExcel writeexcel = new WriteExcel();  
     writeexcel.writeExcel();  
    }  

}  
-1
public class ExcelUtils { 

    private static XSSFSheet ExcelWSheet; 
    private static XSSFWorkbook ExcelWBook; 
    private static XSSFCell Cell; 
    private static XSSFRow Row; 
    File fileName = new File("C:\\Users\\satekuma\\Pro\\Fund.xlsx"); 

    public void setExcelFile(File Path, String SheetName) throws Exception { 
     try { 
      FileInputStream ExcelFile = new FileInputStream(Path); 
      ExcelWBook = new XSSFWorkbook(ExcelFile); 
      ExcelWSheet = ExcelWBook.getSheet(SheetName); 
     } catch (Exception e) { 
      throw (e); 
     } 
    } 


    public static String getCellData(int RowNum, int ColNum) throws  Exception { 
     try { 
      Cell = ExcelWSheet.getRow(RowNum).getCell(ColNum); 
      String CellData = Cell.getStringCellValue(); 
      return CellData; 
     } catch (Exception e) { 
      return ""; 
     } 
    } 

    public static void setCellData(String Result, int RowNum, int ColNum, File Path) throws Exception { 
     try { 
      Row = ExcelWSheet.createRow(RowNum - 1); 
      Cell = Row.createCell(ColNum - 1); 
      Cell.setCellValue(Result); 
      FileOutputStream fileOut = new FileOutputStream(Path); 
      ExcelWBook.write(fileOut); 
      fileOut.flush(); 
      fileOut.close(); 
     } catch (Exception e) { 
      throw (e); 
     } 
    } 
} 
1

Aquí está el código básico para escribir datos en el archivo de Excel (.xls).

import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.util.Date; 

import org.apache.poi.hssf.usermodel.HSSFCell; 
import org.apache.poi.hssf.usermodel.HSSFCellStyle; 
import org.apache.poi.hssf.usermodel.HSSFDataFormat; 
import org.apache.poi.hssf.usermodel.HSSFRow; 
import org.apache.poi.hssf.usermodel.HSSFSheet; 
import org.apache.poi.hssf.usermodel.HSSFWorkbook; 
import org.apache.poi.hssf.util.HSSFColor; 

public class Export2Excel { 

    public static void main(String[] args) { 
     try { 
      //create .xls and create a worksheet. 
      FileOutputStream fos = new FileOutputStream("D:\\data2excel.xls"); 
      HSSFWorkbook workbook = new HSSFWorkbook(); 
      HSSFSheet worksheet = workbook.createSheet("My Worksheet"); 

      //Create ROW-1 
      HSSFRow row1 = worksheet.createRow((short) 0); 

      //Create COL-A from ROW-1 and set data 
      HSSFCell cellA1 = row1.createCell((short) 0); 
      cellA1.setCellValue("Sno"); 
      HSSFCellStyle cellStyle = workbook.createCellStyle(); 
      cellStyle.setFillForegroundColor(HSSFColor.GOLD.index); 
      cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); 
      cellA1.setCellStyle(cellStyle); 

      //Create COL-B from row-1 and set data 
      HSSFCell cellB1 = row1.createCell((short) 1); 
      cellB1.setCellValue("Name"); 
      cellStyle = workbook.createCellStyle(); 
      cellStyle.setFillForegroundColor(HSSFColor.LIGHT_CORNFLOWER_BLUE.index); 
      cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); 
      cellB1.setCellStyle(cellStyle); 

      //Create COL-C from row-1 and set data 
      HSSFCell cellC1 = row1.createCell((short) 2); 
      cellC1.setCellValue(true); 

      //Create COL-D from row-1 and set data 
      HSSFCell cellD1 = row1.createCell((short) 3); 
      cellD1.setCellValue(new Date()); 
      cellStyle = workbook.createCellStyle(); 
      cellStyle.setDataFormat(HSSFDataFormat 
        .getBuiltinFormat("m/d/yy h:mm")); 
      cellD1.setCellStyle(cellStyle); 

      //Save the workbook in .xls file 
      workbook.write(fos); 
      fos.flush(); 
      fos.close(); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

    } 

} 

NOTA:Es necesario descargar la biblioteca jar desde el enlace:http://www.java2s.com/Code/JarDownload/poi/poi-3.9.jar.zip

Cuestiones relacionadas