JXL решает проблему #VALUE

Я хочу использовать функцию AVERAGE, но когда у меня есть ссылочная ячейка, которая оказывается меткой, я получаю #VALUE в качестве вывода .

Я приложил образец кода того, что я пытаюсь сделать:

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

Я не могу преобразовать пустую ячейку в 0, так как значение AVG изменится.

JAR USED

jxl-2.6. jar

В реальном времени вместо метки будет использоваться значение на основе формулы

IF (Some-cell-reference = "", "", some-Value)

Однако; когда я пытаюсь отредактировать ячейку с помощью клавиши F2 , она меняет свой план выполнения, и я получаю правильный результат. введите [java.lang.String] в требуемый введите [java.lang.Long] для свойства 'qtyToShip'; вложенное исключение java.lang.IllegalArgumentException: Не удалось разобрать номер: невозможно разобрать

@Override
protected void initBinder(HttpServletRequest pRequest, ServletRequestDataBinder pBinder) throws Exception
{
    NumberFormat numberFormat = NumberFormat.getInstance();
    pBinder.registerCustomEditor(Long.class, "qtyToShip", new CustomNumberEditor(Long.class, numberFormat, false));
}

Спасибо

8
задан boyd4715 31 January 2011 в 17:01
поделиться