2008-09-29 14 views

Répondre

8

Après déconner un peu plus longtemps j'ai finalement trouvé autour de quelque chose qui a fonctionné et vu qu'il y avait pas encore une solution posté ici encore, voici donc ce que je trouve:

try { 
    String fileName = "file.xls"; 
    WritableWorkbook workbook = Workbook.createWorkbook(new File(fileName)); 
    workbook.createSheet("Sheet1", 0); 
    workbook.createSheet("Sheet2", 1); 
    workbook.createSheet("Sheet3", 2); 
    workbook.write(); 
    workbook.close(); 
} catch (WriteException e) { 

} 
+0

Par curiosité, une raison particulière pour laquelle vous coller à JXL? – kolrie

+0

Il est déjà largement utilisé dans notre projet et je ne suis pas le chef d'équipe: P – Aaron

+0

Gotcha! :) J'ai utilisé POI HSSF et c'est très flexible. Si vous commenciez quelque chose à partir de là, je dirais de suivre ce chemin. Mais puisque vous êtes coincé avec JXL, bonne chance :) – kolrie

0

Vous ne savez pas si vous avez besoin de coller avec JXL, mais la meilleure bibliothèque pour gérer les fichiers Excel est Apache's POI HSSF.

Je pense qu'il y a beaucoup d'exemples sur le site que j'ai fourni, mais si vous avez besoin de plus d'assistance, faites le moi savoir. J'ai peut-être quelques exemples qui traînent. Juste par curiosité, POI est l'abréviation de Pauvre Obfuscation Interface et HSSF est Horrible SpreadSheet Format. Vous voyez combien Apache aime les formats Microsoft Office :-)

2

Tout d'abord, vous devez mettre Jxl Api dans votre répertoire java, téléchargez l'API JXL de http://www.andykhan.com/, l'extraire, copier jxl et la coller comme C: \ Program Files \ Java \ jre7 \ lib \ ext.

try { 
    String fileName = "file.xls"; 
    WritableWorkbook workbook = Workbook.createWorkbook(new File(fileName)); 
    WritableSheet writablesheet1 = workbook.createSheet("Sheet1", 0); 
    WritableSheet writablesheet2 = workbook.createSheet("Sheet2", 1); 
    WritableSheet writablesheet3 = workbook.createSheet("Sheet3", 2); 
    Label label1 = new Label("Emp_Name"); 
    Label label2 = new Label("Emp_FName"); 
    Label label3 = new Label("Emp_Salary"); 
    writablesheet1.addCell(label1); 
    writablesheet2.addCell(label2); 
    writablesheet3.addCell(label3); 
    workbook.write(); 
    workbook.close(); 
} catch (WriteException e) { 

} 
2

Je sais que c'est une très vieille question. Cependant, je pense que je peux contribuer avec un exemple qui ajoute également les valeurs des cellules:

/** 
* 
* @author Almir Campos 
*/ 
public class Write01 
{ 
    public void test01() throws IOException, WriteException 
    { 
     // Initial settings 
     File file = new File("c:/tmp/genexcel.xls"); 
     WorkbookSettings wbs = new WorkbookSettings(); 
     wbs.setLocale(new Locale("en", "EN")); 
     // Creates the workbook 
     WritableWorkbook wwb = Workbook.createWorkbook(file, wbs); 
     // Creates the sheet inside the workbook 
     wwb.createSheet("Report", 0); 
     // Makes the sheet writable 
     WritableSheet ws = wwb.getSheet(0); 
     // Creates a cell inside the sheet 
     //CellView cv = new CellView(); 
     Number n; 
     Label l; 
     Formula f; 
     for (int i = 0; i < 10; i++) 
     { 
      // A 
      n = new Number(0, i, i); 
      ws.addCell(n); 
      // B 
      l = new Label(1, i, "by"); 
      ws.addCell(l); 
      // C 
      n = new Number(2, i, i + 1); 
      ws.addCell(n); 
      // D 
      l = new Label(3, i, "is"); 
      ws.addCell(l); 
      // E 
      f = new Formula(4, i, "A" + (i+1) + "*C" + (i+1)); 
      ws.addCell(f); 
     } 
     wwb.write(); 
     wwb.close(); 
    } 
} 
-1
public void exportToExcel() { 
    final String fileName = "TodoList2.xls"; 

    //Saving file in external storage 
    File sdCard = Environment.getExternalStorageDirectory(); 
    File directory = new File(sdCard.getAbsolutePath() + "/javatechig.todo"); 

    //create directory if not exist 
    if(!directory.isDirectory()){ 
     directory.mkdirs(); 
    } 

    //file path 
    File file = new File(directory, fileName); 

    WorkbookSettings wbSettings = new WorkbookSettings(); 
    wbSettings.setLocale(new Locale("en", "EN")); 
    WritableWorkbook workbook; 


    try { 
     workbook = Workbook.createWorkbook(file, wbSettings); 
     //Excel sheet name. 0 represents first sheet 
     WritableSheet sheet = workbook.createSheet("MyShoppingList", 0); 



     Cursor cursor = mydb.rawQuery("select * from Contact", null); 

     try { 
      sheet.addCell(new Label(0, 0, "id")); // column and row 
      sheet.addCell(new Label(1, 0, "name")); 
      sheet.addCell(new Label(2,0,"ff ")); 
      sheet.addCell(new Label(3,0,"uu")); 
      if (cursor.moveToFirst()) { 
       do { 
        String title =cursor.getString(0) ; 
        String desc = cursor.getString(1); 
        String name=cursor.getString(2); 
        String family=cursor.getString(3); 

        int i = cursor.getPosition() + 1; 
        sheet.addCell(new Label(0, i, title)); 
        sheet.addCell(new Label(1, i, desc)); 
        sheet.addCell(new Label(2,i,name)); 
        sheet.addCell(new Label(3,i,family)); 
       } while (cursor.moveToNext()); 
      } 
      //closing cursor 
      cursor.close(); 
     } catch (RowsExceededException e) { 
      e.printStackTrace(); 
     } catch (WriteException e) { 
      e.printStackTrace(); 
     } 
     workbook.write(); 
     try { 
      workbook.close(); 
     } catch (WriteException e) { 
      e.printStackTrace(); 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 
Questions connexes