Экспорт в Excel - Java

Это код, который я использую для экспорта в excel:

@SuppressWarnings("resource")
    protected void btnExportarExcelActionPerformed(ActionEvent arg0) {
         JFileChooser seleccionar = new JFileChooser();
         File archivo;
         if (seleccionar.showDialog(null, "Exportar a Excel") == JFileChooser.APPROVE_OPTION){
             archivo = seleccionar.getSelectedFile();
             int cantFila = tbNivelArchivo.getRowCount();
             int cantColumna = tbNivelArchivo.getColumnCount();
             XSSFWorkbook wb;
             wb = new XSSFWorkbook();
             Sheet hoja = ((org.apache.poi.ss.usermodel.Workbook) wb).createSheet(" ");
             try {
                    for (int i = -1; i < cantFila; i++) {
                        Row fila = hoja.createRow(i + 1);
                        for (int j = 0; j < cantColumna; j++) {
                            Cell celda = fila.createCell(j);
                            if (i == -1) {
                               celda.setCellValue(String.valueOf(tbNivelArchivo.getColumnName(j)));
                            } else {
                                celda.setCellValue(String.valueOf(tbNivelArchivo.getValueAt(i, j)));
                            }
                            wb.write(new FileOutputStream(archivo + ".xlsx"));
                        }
                    }
                    JOptionPane.showMessageDialog(null, "Exportacion exitosa");
                } catch (Exception e) {
                    JOptionPane.showMessageDialog(null, "Vuelve a intentarlo");
                }
         }
    }

Если excel генерируется, но не открывается автоматически.

0
задан 12.01.2017, 23:17
0 ответов

Ты можешь использовать Desktop.getDesktop () .open (File file), который согласно документации открывает файл в присоединенном приложении.

Когда ты закончишь производить твой файл, пламя:

Desktop.getDesktop().open(archivo);

И это было бы должно открывать твой файл в Excel, если у тебя есть установленный М Office, или Calc, если у тебя есть LibreOffice, и т.д.

2
ответ дан 03.12.2019, 17:41