How to create a new Excel file using JXL?

I am trying to create a new Excel file using jxl, but it is hard for me to find examples in their API documentation and on the web.

+7
java jxl
source share
5 answers

After a long showdown, I finally found something that worked, and saw that there was no solution posted here, so here's what I found:

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) { } 
+8
source share

First of all, you need to put Jxl Api in the java directory, download the JXL api from http://www.andykhan.com/ extract it, copy jxl and paste for example 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
source share

I know this is a very old question. However, I think I can contribute to an example that also adds cell values:

 /** * * @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(); } } 
+2
source share

Not sure if you need to stick with JXL, but the best library for processing Excel files is Apache POI HSSF .

I think there are many examples on the website I submitted, but if you need more help let me know. Perhaps I have a few examples.

Just out of curiosity, a POI means a bad obfuscation interface, and HSSF is a terrible SpreadSheet format. You see how much Apache likes Microsoft Office formats :-)

0
source share
 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(); } } 
-one
source share

All Articles