我正在从Excel文件导入数据到Java JTable
。我可以导入所有工作表,但我只想导入一些行。这是我用来导入工作表的代码:如何在Java上的JTable中填充一些Excel行?
private void remplirtable(JTable table, int numfeuil,String s) {
Workbook wb;
File fichier = new File(s);
try {
//création de la table et importation du fichier
wb = Workbook.getWorkbook(fichier);
Sheet sheet = wb.getSheet(numfeuil);
String[] columnsnames=new String[sheet.getColumns()];
DefaultTableModel model = new DefaultTableModel();
//Remplir la table désignée
table.setModel(model);
int colonnes = sheet.getColumns();
int lignes = sheet.getRows();
Object data[] = new Object[colonnes];
for (int i=0; i<lignes; i++){
for (int j=0; j<colonnes; j++){
if (i==0)
{
//Component c=super.prepareRenderer(renderer, j, i);
model.addColumn(sheet.getCell(j,i).getContents());
}
//System.out.println(sheet.getCell(j,i).getContents());
if(i>=1)
data[j]=sheet.getCell(j,i).getContents();
}model.addRow(data);
}model.removeRow(0);
} catch (BiffException | IOException e) {
}
}
为了只导入行(3,4,5),我使用了这段代码。 A
是我们存储行数的阵列:
private void RemplirPostes(JTable table, int numfeuil,String s,int[] A) {
Workbook wb;
File fichier = new File(s);
try {
//création de la table et importation du fichier
wb = Workbook.getWorkbook(fichier);
Sheet sheet = wb.getSheet(numfeuil);
DefaultTableModel model = new DefaultTableModel();
//Remplir la table désignée
table.setModel(model);
int colonnes = sheet.getColumns();
Object data[] = new Object[colonnes];
for(int k=0;k<A.length;k++)
{
for (int j=0; j<colonnes; j++){
if (A[k]==0)
{
//Component c=super.prepareRenderer(renderer, j, i);
model.addColumn(sheet.getCell(j,A[k]).getContents());
}
//System.out.println(sheet.getCell(j,i).getContents());
if(A[k]>=1)
data[j]=sheet.getCell(j,A[k]).getContents();
}model.addRow(data);
}
model.removeRow(0);
} catch (BiffException | IOException e) {
}
}
而这一切都不起作用。
'而这一切并不work.'你能解释一下?那它不起作用呢?它是否编译?胡作非为?例外(我不会推荐_swallowing_他们 - 至少做一些事情,比如打印堆栈跟踪:catch(BiffException | IOException e){e.printStackTrace();}')? – copeg
@copeg首先我想知道我的代码是否是逻辑的,其次是警告:警告:无法读取LineEot的名称范围 - 设置为空警告:无法读取LineEot的名称范围 - 设置为空java.lang.NumberFormatException:空字符串 – user4830457