Search code examples
javaxlsjxl

Using XLS Formulas (Sum, avg ...) using Java


How to use formula like sum, avg, max and min while generating XLS file using Java.

I am using jxl.write.*, i have see so many example for apache-poi. Is it possible to do the same using jxl?

Label label;
WritableWorkbook workbook = Workbook.createWorkbook(file, wbSettings);
WorkbookSettings wbSettings = new WorkbookSettings();
wbSettings.setLocale(new Locale("en", "EN"));
workbook.createSheet("Report", 0);
WritableSheet excelSheet = workbook.getSheet(0);
label = new Label(column, row, "sample");
Number number = new Number(column, row, 60);
excelSheet.addCell(label);
excelSheet.addCell(number);

Solution

  • I Got it from this link Problem when using JXL Formula like SUM() AVG() STDEV() returns #VALUE! when it refers values from another sheet

      String filename = "C:\\input.xls";
      WorkbookSettings ws = new WorkbookSettings();
      ws.setLocale(new Locale("en", "EN"));
      WritableWorkbook workbook = 
      Workbook.createWorkbook(new File(filename), ws);
      WritableSheet s = workbook.createSheet("Input", 0);
      WritableSheet s1 = workbook.createSheet("Output", 1);
      s1.addCell(new Number(3, 0, 5));
      s1.addCell(new Number(3, 1, 6));
      s1.addCell(new Number(3, 2, 1));
      s1.addCell(new Number(3, 3, 6));
      s1.addCell(new Number(3, 4, 1));
      Formula formula = new Formula(3,5,"AVERAGE(D1:D5)");
      s.addCell(formula);