java代码如何将一个jtable表单中的数据导入到excel表中

如题所述

将jtable的数据按行读入到ArrayList里面然后按照下面的方法处理
try {
Object[] Columns1 = {"会员编号", "姓名", "联系地址", "电话", "手机", "邮编", "总积分"};
//打开文件
WritableWorkbook book = Workbook.createWorkbook(new File("d:\\CustomerInfo.xls"));
//生成名为“第一页”的工作表,参数0表示这是第一页
WritableSheet sheet = book.createSheet("客户资料", 0);
sheet.addCell(new Label(0, 0, "会员编号"));
sheet.addCell(new Label(1, 0, "姓名"));
sheet.addCell(new Label(2, 0, "联系地址"));
sheet.addCell(new Label(3, 0, "电话"));
sheet.addCell(new Label(4, 0, "手机"));
sheet.addCell(new Label(5, 0, "邮编"));
sheet.addCell(new Label(6, 0, "会员总积分"));

for (int i = 0; i < list.size(); i++) {
Object[] obj = (Object[]) list.get(i);
for (int j = 0; j < Columns1.length; j++) {
if (j == 0) {
sheet.addCell(new Label(0, i + 1, obj[0].toString()));
} else if (j == 1) {
sheet.addCell(new Label(1, i + 1, obj[1].toString()));
} else if (j == 2) {
sheet.addCell(new Label(2, i + 1, obj[4].toString()));
} else if (j == 3) {
sheet.addCell(new Label(3, i + 1, obj[2].toString()));
} else if (j == 4) {
sheet.addCell(new Label(4, i + 1, obj[3].toString()));
} else if (j == 5) {
sheet.addCell(new Label(5, i + 1, obj[5].toString()));
} else if (j == 6) {
sheet.addCell(new Label(6, i + 1, obj[9].toString()));
}
}
}
/*生成一个保存数字的单元格
必须使用Number的完整包路径,否则有语法歧义
单元格位置是第二列,第一行,值为789.123*/
// jxl.write.Number numb = new jxl.write.Number(1, 0, 789.123);
// sheet.addCell(numb);
//写入数据并关闭文件
book.write();
book.close();
GV.MyMSG.myMsg(1, null, "会员资料已导出到文件d:\\CustomerInfo.xls中!~");
// ReleaseManager rm = new ReleaseManager();
// ExcelApplication excel = new ExcelApplication(rm);
// ExcelWorkbooks xlBooks = excel.Workbooks();
// ExcelWorkbook xlBook = xlBooks.Open(outputFile);
// ExcelWorksheet xlSheet = excel.ActiveSheet();
// xlSheet.PrintOut();
// xlBook.Close(false, outputFile, false);
// excel.Quit();
} catch (Exception e) {
System.out.println(e);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-04-12
mark一下
相似回答