您的位置:首页 > 编程语言 > Java开发

使用JXL将List集合写入到Excel表中

2016-03-20 11:13 411 查看
首先导入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();
}
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  excel 控制台 对象 jxl java