Java实现Excel的导入和导出

一、下载jxl.jar包导入到工程中

http://download.youkuaiyun.com/detail/lrici/9758600

二、新建Book.java

[java]  view plain  copy
  1. package com.cc.reflection;  
  2.   
  3. public class Book {  
  4.       
  5.     private int id;  
  6.     private String name;  
  7.     private String type;  
  8.     public int getId() {  
  9.         return id;  
  10.     }  
  11.     public void setId(int id) {  
  12.         this.id = id;  
  13.     }  
  14.     public String getName() {  
  15.         return name;  
  16.     }  
  17.     public void setName(String name) {  
  18.         this.name = name;  
  19.     }  
  20.     public String getType() {  
  21.         return type;  
  22.     }  
  23.     public void setType(String type) {  
  24.         this.type = type;  
  25.     }  
  26.       
  27.   
  28. }  


三、新建ExcelBook

[java]  view plain  copy
  1. package com.cc.reflection;  
  2.   
  3. import java.io.File;  
  4. import java.io.IOException;  
  5. import java.util.ArrayList;  
  6.   
  7. import jxl.Cell;  
  8. import jxl.Sheet;  
  9. import jxl.Workbook;  
  10. import jxl.read.biff.BiffException;  
  11. import jxl.write.Label;  
  12. import jxl.write.WritableSheet;  
  13. import jxl.write.WritableWorkbook;  
  14. import jxl.write.WriteException;  
  15.   
  16. public class ExcelBook {  
  17.   
  18.     //将数据导出到Excel  
  19.     public void excelOut(ArrayList<Book> arrayList) {  
  20.         WritableWorkbook bWorkbook = null;  
  21.         try {  
  22.             // 创建Excel对象  
  23.             bWorkbook = Workbook.createWorkbook(new File("D:/book.xls"));  
  24.             // 通过Excel对象创建一个选项卡对象  
  25.             WritableSheet sheet = bWorkbook.createSheet("sheet1"0);  
  26.             //使用循环将数据读出  
  27.             for (int i = 0; i < arrayList.size(); i++) {  
  28.                 Book book=arrayList.get(i);  
  29.                 Label label=new Label(0,i,String.valueOf(book.getId()));  
  30.                 Label label1=new Label(1,i,String.valueOf(book.getName()));  
  31.                 Label label2=new Label(2,i,String.valueOf(book.getType()));  
  32.                 sheet.addCell(label);  
  33.                 sheet.addCell(label1);  
  34.                 sheet.addCell(label2);  
  35.             }  
  36.               
  37.               
  38.             // 创建一个单元格对象,第一个为列,第二个为行,第三个为值  
  39.             Label label = new Label(02"test");  
  40.             // 将创建好的单元格放入选项卡中  
  41.             //sheet.addCell(label);  
  42.             // 写如目标路径  
  43.             bWorkbook.write();  
  44.   
  45.         } catch (Exception e) {  
  46.             // TODO Auto-generated catch block  
  47.             e.printStackTrace();  
  48.         } finally {  
  49.             try {  
  50.                 bWorkbook.close();  
  51.             } catch (WriteException | IOException e) {  
  52.                 // TODO Auto-generated catch block  
  53.                 e.printStackTrace();  
  54.             }  
  55.         }  
  56.   
  57.     }  
  58.       
  59.       
  60.     //将Excel中的数据导入  
  61.     public ArrayList<Book> ExcelIn(){  
  62.         ArrayList<Book>arrayList=new ArrayList<Book>();  
  63.         Workbook bWorkbook=null;  
  64.         try {  
  65.             bWorkbook=Workbook.getWorkbook(new File("D:/book.xls"));  
  66.             Sheet sheet=bWorkbook.getSheet(0);  
  67.             for (int i = 0; i < sheet.getRows(); i++) {  
  68.                 Book book=new Book();  
  69.                 //获取单元格对象  
  70.                 Cell cell =sheet.getCell(0,i);  
  71.                 //获取单元格的值  
  72.                 book.setId(Integer.valueOf(cell.getContents()));  
  73.                 book.setName(sheet.getCell(1,i).getContents());  
  74.                 book.setType(sheet.getCell(2, i).getContents() );  
  75.                 arrayList.add(book);  
  76.                   
  77.             }  
  78.               
  79.         } catch (BiffException e) {  
  80.             // TODO Auto-generated catch block  
  81.             e.printStackTrace();  
  82.         } catch (IOException e) {  
  83.             // TODO Auto-generated catch block  
  84.             e.printStackTrace();  
  85.         }finally {  
  86.             bWorkbook.close();  
  87.         }  
  88.         return arrayList;  
  89.     }  
  90.       
  91.   
  92.     public static void main(String[] args) {  
  93.           
  94.         //将数据导出到Excel中  
  95.         ExcelBook book = new ExcelBook();  
  96. //      ArrayList<Book> arrayList = new ArrayList<Book>();  
  97. //      Book bo = new Book();  
  98. //      bo.setId(1);  
  99. //      bo.setName("酒馆");  
  100. //      bo.setType("生活");  
  101. //  
  102. //      Book bo1 = new Book();  
  103. //      bo1.setId(2);  
  104. //      bo1.setName("酒馆1");  
  105. //      bo1.setType("生活1");  
  106. //  
  107. //      arrayList.add(bo);  
  108. //      arrayList.add(bo1);  
  109. //      book.excelOut(arrayList);  
  110.           
  111.         //将数据从Excel中导入  
  112.         ArrayList<Book> arrayList1 = book.ExcelIn();  
  113.         for(Book bo2:arrayList1){  
  114.             System.out.println(bo2.getName()+bo2.getType());  
  115.         }  
  116.     }  
  117. }  

点击运行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值