关于JTable中导入数据. 请问高手:如何用JFileChooser把数据导入JTable中要求在JTable中显示出来.可以做到吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以而且不難樓主可以把從jFileChooser得到的數據組建成一個ArrayList那樣操作起來比較方便 public class excelToJtable { JFileChooser fileChooser=new JFileChooser(); HSSFWorkbook workBook; POIFSFileSystem fileSystem; ArrayList arrayList; public void getWorkBook() { try { fileChooser.showOpenDialog(null); if (fileChooser.getSelectedFile() == null) { System.out.println("沒有選擇文件!"); return; } File file = fileChooser.getSelectedFile(); FileInputStream inputStream = new FileInputStream(file); fileSystem = new POIFSFileSystem(inputStream); workBook = new HSSFWorkbook(fileSystem); createArrayList(); } catch (IOException ex) { } } public void createArrayList() { arrayList = new ArrayList(); HSSFSheet sheet = workBook.getSheetAt(0); int rowNum = sheet.getLastRowNum()+1; for (int i = 0; i < rowNum; i++) { HSSFRow row = sheet.getRow(i); Object[] object = new Object[row.getLastCellNum()+1]; for (short j = row.getFirstCellNum(); j < row.getLastCellNum()+1; j++) { object[j] = row.getCell(j).getStringCellValue(); } arrayList.add(object); } } public void inputToTable(){ for(int i=0;i<arrayList.size();i++){ Object[] obj=(Object[])arrayList.get(i); for(int j=0;j<obj.length;j++){ System.out.print(obj[j]+" "); if(j==obj.length-1){ System.out.println(""); } } } } public static void main(String[] args){ excelToJtable excel=new excelToJtable(); excel.getWorkBook(); excel.inputToTable(); }}to 樓主:上面的代码,是将资料从excel导入到jTable的代码,不过,我只是生成了ArrayList物件,我想搂主应该知道怎么把arrayList中的数据放到table中,所以就没有写详细代码当然,这里还有导入poi包,专门处理Excel的同样,其他格式的资料也大同小异,只要想办法能组建成arrayList就ok了 呵呵,谢谢楼上的朋友了啊.非常感谢!!!:-)我做的是java的GUI程序..主窗体添加JTable控件.用来显示数据,用了一个菜单,里面有一个"导入"的一项,用来导入数据做了以上操作也不能够刷新Jtable的数据JTable怎么刷新啊. to 楼主:可以定义一个TableModel的类extends abstractTableModel通过model来实现对Jtable操作只要model的数据发生变化,调用table.tableChanged(new TableModelEvent(tableModel,0,arrayList.size()))就可以实现table的刷新 Java组件中可以添加线程吗 新手第一个程序就运行错误 关于JAVA网络TCP-JAVA初学者的问题 把我急着了,要期末了还没搞出来 除了用工具软件外,如何可以知道当前java虚拟机的内存使用情况? 求助:一个不错字符串的查找题目! 请教,有关socket通信的问题 一个对新手稍有深度的问题,我是新手。 如何处理 Properties 的中文 ??? java集合类输出问题 一个窗体能否把另一个窗体关闭? 棋牌类游戏的大厅如何开发
而且不難
樓主可以把從jFileChooser得到的數據組建成一個ArrayList
那樣操作起來比較方便
JFileChooser fileChooser=new JFileChooser();
HSSFWorkbook workBook;
POIFSFileSystem fileSystem;
ArrayList arrayList; public void getWorkBook() {
try {
fileChooser.showOpenDialog(null);
if (fileChooser.getSelectedFile() == null) {
System.out.println("沒有選擇文件!");
return;
}
File file = fileChooser.getSelectedFile();
FileInputStream inputStream = new FileInputStream(file);
fileSystem = new POIFSFileSystem(inputStream);
workBook = new HSSFWorkbook(fileSystem);
createArrayList();
} catch (IOException ex) {
}
} public void createArrayList() {
arrayList = new ArrayList();
HSSFSheet sheet = workBook.getSheetAt(0);
int rowNum = sheet.getLastRowNum()+1;
for (int i = 0; i < rowNum; i++) {
HSSFRow row = sheet.getRow(i);
Object[] object = new Object[row.getLastCellNum()+1];
for (short j = row.getFirstCellNum(); j < row.getLastCellNum()+1; j++) {
object[j] = row.getCell(j).getStringCellValue();
}
arrayList.add(object);
} }
public void inputToTable(){
for(int i=0;i<arrayList.size();i++){
Object[] obj=(Object[])arrayList.get(i);
for(int j=0;j<obj.length;j++){
System.out.print(obj[j]+" ");
if(j==obj.length-1){
System.out.println("");
}
}
}
}
public static void main(String[] args){
excelToJtable excel=new excelToJtable();
excel.getWorkBook();
excel.inputToTable(); }
}to 樓主:
上面的代码,是将资料从excel导入到jTable的代码,不过,我只是生成了ArrayList物件,我想搂主应该知道怎么把arrayList中的数据放到table中,所以就没有写详细代码
当然,这里还有导入poi包,专门处理Excel的
同样,其他格式的资料也大同小异,只要想办法能组建成arrayList就ok了
我做的是java的GUI程序..主窗体添加JTable控件.用来显示数据,用了一个菜单,里面有一个"导入"的一项,用来导入数据
做了以上操作也不能够刷新Jtable的数据
JTable怎么刷新啊.
to 楼主:
可以定义一个TableModel的类extends abstractTableModel
通过model来实现对Jtable操作
只要model的数据发生变化,调用
table.tableChanged(new TableModelEvent(tableModel,0,arrayList.size()))就可以实现
table的刷新