2010-08-11 18 views
5

Quelqu'un peut-il me diriger dans la bonne direction pour écrire dans un fichier Excel dans Java ?? Je ne comprends pas les liens que j'ai trouvés en ligne. Pourriez-vous m'envoyer un lien ou quoi que ce soit que je pourrais suivre?écrire à exceller dans Java

Merci, J

+0

Quels liens parlez-vous? Il y a beaucoup de manières différentes d'écrire pour exceler des fichiers de Java. Y a-t-il une API ou une bibliothèque particulière avec laquelle vous rencontrez des problèmes? – FloppyDisk

+0

duplication possible de [feuille de calcul Excel (XLS) générant JSP à télécharger] (http://stackoverflow.com/questions/477886/jsp-generating-excel-spreadsheet-xls-to-download) –

Répondre

12

Une autre alternative à Apache POI est le JExcelAPI, qui (OMI) a une API plus facile à utiliser. 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

Awesome API. Tellement plus facile que Apache POI. Je vous remercie! – JCab

0

Je l'ai utilisé Apache's POI Library quand j'ai dû écrire des fichiers Excel de Java. Je l'ai trouvé plutôt simple une fois que vous avez compris. Java World a un bon tutorial sur le démarrage en utilisant POI que j'ai trouvé très utile.

1

Ici, je vais donner l'exemple échantillon, comment écrire Excel, utiliser dans pom.xml

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

classe Model:

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

    constructors,setters and getters  
} 

classe principale:

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

Voici le code de base pour écrire des données dans un fichier 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(); 
     } 

    } 

} 

REMARQUE:Vous devez télécharger la bibliothèque jar à partir du lien:http://www.java2s.com/Code/JarDownload/poi/poi-3.9.jar.zip