标签:package 反射 分享 png com 取出 对象 source static
1.创建Book类,并编写set方法和get方法
1 package com.bean; 2 3 public class Book { 4 private int id; 5 private String name; 6 private String type; 7 // public int a; 8 9 public String getType() { 10 System.out.println("调用了类型方法"); 11 return type; 12 } 13 14 public void setType(String type) { 15 this.type = type; 16 } 17 // public void test (String name,int a){ 18 // System.out.println("调用了多参数的方法"); 19 // } 20 21 public String getName() { 22 System.out.println("调用了名称方法"); 23 return name; 24 } 25 26 public void setName(String name) { 27 this.name = name; 28 } 29 30 public int getId() { 31 System.out.println("调用了序号方法"); 32 return id; 33 } 34 35 public void setId(int id) { 36 this.id = id; 37 } 38 39 }
2.创建ExcelBook类实现导入导出
1 package com.main; 2 import java.io.File; 3 import java.util.ArrayList; 4 5 import com.bean.Book; 6 7 import jxl.Cell; 8 import jxl.Sheet; 9 import jxl.Workbook; 10 import jxl.write.Label; 11 import jxl.write.WritableSheet; 12 import jxl.write.WritableWorkbook; 13 14 public class ExcelBook { 15 public static void main(String[] args) { 16 ExcelBook excelBook = new ExcelBook(); 17 //创建集合 18 // ArrayList<Book> arrayList = new ArrayList<Book>(); 19 // Book book = new Book(); 20 // book.setId(1); 21 // book.setName("Java语言"); 22 // book.setType("面向对象"); 23 // Book book1 = new Book(); 24 // book1.setId(2); 25 // book1.setName("西游记"); 26 // book1.setType("故事"); 27 // Book book2 = new Book(); 28 // book2.setId(3); 29 // book2.setName("高数"); 30 // book2.setType("难"); 31 // arrayList.add(book); 32 // arrayList.add(book1); 33 // arrayList.add(book2); 34 // excelBook.excelOut(arrayList); 35 ArrayList<Book> ar1 = excelBook.excelIn(); 36 for(Book bo2 : ar1){ 37 System.out.println(bo2.getId()+" "+bo2.getName()+" "+bo2.getType()); 38 } 39 } 40 public void excelOut(ArrayList<Book>arrayList){ 41 WritableWorkbook bookk = null;//Excle对象 42 try { 43 //创建excel对象 44 bookk = Workbook.createWorkbook(new File("D:/Sourcecode/Java/fanshe/book.xls")); 45 //通过excel对象创建一个选项卡 46 WritableSheet sheet = bookk.createSheet("sheet1", 0); 47 //创建一个单元格对象参数为 列 行 值 48 for(int i = 0; i < arrayList.size();i++){ 49 Book bo = arrayList.get(i); 50 Label la1 = new Label(0, i,String.valueOf(bo.getId())); 51 Label la2 = new Label(1, i,bo.getName()); 52 Label la3 = new Label(2, i, bo.getType()); 53 sheet.addCell(la1);//放入选项卡中 54 sheet.addCell(la2); 55 sheet.addCell(la3); 56 } 57 58 //写入目标路径 59 bookk.write(); 60 } catch (Exception e) { 61 e.printStackTrace(); 62 }finally{ 63 try { 64 bookk.close(); 65 } catch (Exception e) { 66 e.printStackTrace(); 67 } 68 } 69 70 } 71 public ArrayList<Book> excelIn(){ 72 ArrayList<Book> ar = new ArrayList<Book>();//返回集合 73 Workbook book = null; 74 try { 75 //获取到excle对象 76 book = Workbook.getWorkbook(new File("D:/Sourcecode/Java/fanshe/book.xls"));//文件路径 77 Sheet sheet = book.getSheet(0);//获取第一个选项卡对象(第零列) 78 for(int i = 0; i < sheet.getRows();i++){//向文件中读入值,getRows()获取数据中有多少条数据 79 Book bo = new Book(); 80 Cell cell = sheet.getCell(0,i);//cell对象为单元格对象,取出数据i行0列 81 bo.setId(Integer.valueOf(cell.getContents()));//getContents获取单元格对象的值 82 bo.setName(sheet.getCell(1,i).getContents()); 83 bo.setType(sheet.getCell(2,0).getContents()); 84 ar.add(bo); 85 } 86 } catch (Exception e) { 87 e.printStackTrace(); 88 }finally{ 89 book.close(); 90 } 91 return ar; 92 93 } 94 95 }
运行结果:导出时,在指定路径出现下图内容
导出时结果如下:
调用了序号方法
调用了名称方法
调用了类型方法
1 Java语言 面向对象
调用了序号方法
调用了名称方法
调用了类型方法
2 西游记 面向对象
调用了序号方法
调用了名称方法
调用了类型方法
3 高数 面向对象
此方法虽然可以实现excel的导入导出,但因导入导出的数据信息比较少,但如果数据信息比较多,此方法实现起来非常麻烦,所以应该利用java反射机制实现,在上一个随笔中已经介绍。
标签:package 反射 分享 png com 取出 对象 source static
原文地址:http://www.cnblogs.com/xyzyj/p/6172157.html