首先导入jxl.jar到自己的工程。
jxl.jar下载地址:http://download.csdn.net/detail/u011521890/9467006
下面主要演示jxl导入、导出Excel表格
1、Excel导入到控制台
- 调用Workbook 的静态方法getWorkbook(),获得WorkBook对象。
获取Excel表中的工作表
获取行、列
sheet.getRows(); //获取行
sheet.getColumns(); //获取列- 读取数据
String result = cell.getContents(); - 关闭资源
book.close
代码演示
private static void importExcel(String path){
Workbook book = null;
try {
book = Workbook.getWorkbook(new File(path));
// 获得第一个工作表对象
Sheet sheet = book.getSheet(0);
int rows=sheet.getRows();
int columns=sheet.getColumns();
// 遍历每行每列的单元格
for(int i=0;i<rows;i++){
for(int j=0;j<columns;j++){
Cell cell = sheet.getCell(j, i);
String result = cell.getContents();
if(j==0){
System.out.print(result+" ");
}
if(j==1){
System.out.print(result+" ");
}
if((j+1)%2==0){
System.out.println();
}
}
}
} catch (Exception e) {
System.out.println(e);
}finally{
if(book!=null){
book.close();
}
}
}
2、将数据写到Excel表中
- 获取WritableWorkbook对象
book = Workbook.createWorkbook(new File(path)); - 创建Sheet工作名称
WritableSheet sheet = book.createSheet(“eccif”, 0); - 将内容放入到对应的行和列。
Label label = new Label(j, 0, info[j]); //j表示列,0表示行,info[j]表示写入内容。
sheet.addCell(label); - 写入并关闭资源
book.write();
book.close();
代码演示
private static void exportExcel(String path,List<Eccif> list){
WritableWorkbook book = null;
System.out.println(path);
String info[] = {"客户号","客户名","是否开通网银","是否开通交易功能","目前证书状态是否正常","最近一次登陆时间","最近一次交易日期"};
try{
book = Workbook.createWorkbook(new File(path));
//生成名为eccif的工作表,参数0表示第一页
WritableSheet sheet = book.createSheet("eccif", 0);
//表头导航
for(int j=0;j<7;j++){
Label label = new Label(j, 0, info[j]);
sheet.addCell(label);
}
for(int i=0;i<list.size();i++){
sheet.addCell(new Label(0,i+1,list.get(i).getSuperEccif().getCifNo()));
sheet.addCell(new Label(1,i+1,list.get(i).getSuperEccif().getCifName()));
sheet.addCell(new Label(2,i+1,list.get(i).getSuperEccif().getCifState()));
sheet.addCell(new Label(3,i+1,list.get(i).getSuperEccif().getTransfertype()));
sheet.addCell(new Label(4,i+1,list.get(i).getCertState()));
sheet.addCell(new Label(5,i+1,list.get(i).getLastLoginTime()));
sheet.addCell(new Label(6,i+1,list.get(i).getTransTime()));
}
// 写入数据并关闭文件
book.write();
} catch (Exception e) {
System.out.println(e);
}finally{
if(book!=null){
try {
book.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}