2016-11-07 2 views
0

Я написал следующий код с некоторой помощью из google для экспорта jtable в excel, но я не могу экспортировать его в excel, и я также получаю нулевой указатель.export jtable to excel in java netbeans

cell.setCellValue(model.getValueAt(i, j).toString()); 

весь код

try { 
     HSSFWorkbook fWorkbook = new HSSFWorkbook(); 
     HSSFSheet fSheet; 
     fSheet = fWorkbook.createSheet("new Sheet"); 
     HSSFFont sheetTitleFont = fWorkbook.createFont(); 
     File file = new File("D:\\MOHIT\\bill report\\report.xls");   

     HSSFCellStyle cellStyle = fWorkbook.createCellStyle(); 
     sheetTitleFont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); 
     //sheetTitleFont.setColor(); 
     TableModel model = report_table.getModel(); 

     TableColumnModel model1 = report_table.getTableHeader().getColumnModel(); 
     HSSFRow fRow1 = fSheet.createRow((short) 0); 
     for (int i = 0; i < model1.getColumnCount(); i++){ 
      HSSFCell cell = fRow1.createCell((short) i); 
      cell.setCellValue(model1.getColumn(i).getHeaderValue().toString());   

} 
     for (int i = 1; i < model.getRowCount(); i++) { 
      HSSFRow fRow = fSheet.createRow((short) i); 
      for (int j = 1; j < model.getColumnCount(); j++) { 
       HSSFCell cell = fRow.createCell((short) j); 
       cell.setCellValue(model.getValueAt(i, j).toString()); 
       cell.setCellStyle(cellStyle); 
      } 
     } 
     FileOutputStream fileOutputStream; 
     fileOutputStream = new FileOutputStream(file); 
     try (BufferedOutputStream bos = new BufferedOutputStream(fileOutputStream)) { 
      fWorkbook.write(bos); 
     } 
     fileOutputStream.close(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 

может кто-нибудь сказать мне, почему я получаю исключения нулевого указателя, как ее исправить.

ответ

0

Попробуйте заменить

cell.setCellValue(model.getValueAt(i, j).toString()); 

по

cell.setCellValue(Objects.toString(model.getValueAt(i, j), "")); 

И смотрите по ссылке, которую я уже писал в своем комментарии.

P.S. Класс Objects определен в пакете java.util

+0

спасибо alot bro заменить решена моя проблема –