小编Mar*_*ius的帖子

apache poi:将jtable保存到文件中

我最近开始使用java,当我需要从jTable开始创建一个excel文件时,我遇到了apache poi库的一些问题.

我已经阅读了许多线程,并提出了一些不起作用的代码(即使这很简单,有许多例子,这让我看起来更加愚蠢)而且我希望有人可以帮助我.

所以这里是问题:

a)为什么写入excel文件的for循环不填充每个单元格?(excel文件中唯一包含数据的行是第六行,这也让我想知道为什么它会为getRowCount/Column方法计算表模型中的空项.所以我知道它打印的是自定义String而不是表本身但保留点b)

b)我应该如何使用jtable模型项来填充excel文件,因为在创建表时我必须选择Object作为行类型?(我也遇到了这类对象的问题,只要它是一个字符串||整数就没有任何问题,但是这个表应该是两者的混合,当你尝试时它似乎不起作用使用setCellValue()方法与String || integer ...或至少我无法使其工作的东西

c)假设我之后想要从我之前创建的文件中填充jtable,在使用bufferedReader类读取文件后,我是否只需要使用解决方案指向b)(另一种方法)?

免责声明:代码的第一部分是由netbeans自动生成的,你可以告诉我,我提出的hssf部分是在最后但是我想你可能想看到整件事,抱歉,如果它看起来有点凌乱.

这是代码:

package poitest;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JTable;
import javax.swing.table.TableModel;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;

public class POITestFrame extends javax.swing.JFrame {

    /**
     * Creates new form POITestFrame
     */
    public POITestFrame() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        excelButton = new javax.swing.JButton();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

        excelButton.setText("ESPORTA!"); …
Run Code Online (Sandbox Code Playgroud)

java swing jtable poi-hssf apache-poi

6
推荐指数
1
解决办法
6574
查看次数

标签 统计

apache-poi ×1

java ×1

jtable ×1

poi-hssf ×1

swing ×1