我最近开始使用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)