1.创建Book类,并编写set方法和get方法

 package com.bean;

 public class Book {
     private  int id;
     private  String name;
     private  String type;
 //    public int a;

     public  String getType() {
         System.out.println("调用了类型方法");
         return type;
     }

     public void setType(String type) {
         this.type = type;
     }
 //    public void test (String name,int a){
 //        System.out.println("调用了多参数的方法");
 //    }

     public  String getName() {
         System.out.println("调用了名称方法");
         return name;
     }

     public void setName(String name) {
         this.name = name;
     }

     public  int getId() {
         System.out.println("调用了序号方法");
         return id;
     }

     public void setId(int id) {
         this.id = id;
     }

 }

2.创建ExcelBook类实现导入导出

 package com.main;
 import java.io.File;
 import java.util.ArrayList;

 import com.bean.Book;

 import jxl.Cell;
 import jxl.Sheet;
 import jxl.Workbook;
 import jxl.write.Label;
 import jxl.write.WritableSheet;
 import jxl.write.WritableWorkbook;

 public class ExcelBook {
     public static void main(String[] args) {
         ExcelBook excelBook = new ExcelBook();
         //创建集合
 //        ArrayList<Book> arrayList = new ArrayList<Book>();
 //        Book book = new Book();
 //        book.setId(1);
 //        book.setName("Java语言");
 //        book.setType("面向对象");
 //        Book book1 = new Book();
 //        book1.setId(2);
 //        book1.setName("西游记");
 //        book1.setType("故事");
 //        Book book2 = new Book();
 //        book2.setId(3);
 //        book2.setName("高数");
 //        book2.setType("难");
 //        arrayList.add(book);
 //        arrayList.add(book1);
 //        arrayList.add(book2);
 //        excelBook.excelOut(arrayList);
         ArrayList<Book> ar1 = excelBook.excelIn();
         for(Book bo2 : ar1){
             System.out.println(bo2.getId()+" "+bo2.getName()+" "+bo2.getType());
         }
     }
     public void excelOut(ArrayList<Book>arrayList){
          WritableWorkbook bookk = null;//Excle对象
          try {
              //创建excel对象
             bookk = Workbook.createWorkbook(new File("D:/Sourcecode/Java/fanshe/book.xls"));
             //通过excel对象创建一个选项卡
           WritableSheet sheet = bookk.createSheet("sheet1", 0);
           //创建一个单元格对象参数为   列 行 值
           for(int i = 0; i < arrayList.size();i++){
              Book bo = arrayList.get(i);
              Label la1 = new Label(0, i,String.valueOf(bo.getId()));
              Label la2 = new Label(1, i,bo.getName());
              Label la3 = new Label(2, i, bo.getType());
              sheet.addCell(la1);//放入选项卡中
              sheet.addCell(la2);
              sheet.addCell(la3);
           }

           //写入目标路径
           bookk.write();
          } catch (Exception e) {
             e.printStackTrace();
         }finally{
             try {
                 bookk.close();
             } catch (Exception e) {
                 e.printStackTrace();
             }
         }

      }
     public ArrayList<Book> excelIn(){
         ArrayList<Book> ar = new ArrayList<Book>();//返回集合
         Workbook book = null;
         try {
             //获取到excle对象
             book = Workbook.getWorkbook(new File("D:/Sourcecode/Java/fanshe/book.xls"));//文件路径
             Sheet sheet = book.getSheet(0);//获取第一个选项卡对象(第零列)
             for(int i = 0; i < sheet.getRows();i++){//向文件中读入值,getRows()获取数据中有多少条数据
                 Book bo = new Book();
                 Cell cell = sheet.getCell(0,i);//cell对象为单元格对象,取出数据i行0列
                 bo.setId(Integer.valueOf(cell.getContents()));//getContents获取单元格对象的值
                 bo.setName(sheet.getCell(1,i).getContents());
                 bo.setType(sheet.getCell(2,0).getContents());
                 ar.add(bo);
              }
         } catch (Exception e) {
            e.printStackTrace();
         }finally{
             book.close();
         }
         return ar;

     }

 }

运行结果:导出时,在指定路径出现下图内容

导出时结果如下:

调用了序号方法
调用了名称方法
调用了类型方法
1 Java语言 面向对象
调用了序号方法
调用了名称方法
调用了类型方法
2 西游记 面向对象
调用了序号方法
调用了名称方法
调用了类型方法
3 高数 面向对象

此方法虽然可以实现excel的导入导出,但因导入导出的数据信息比较少,但如果数据信息比较多,此方法实现起来非常麻烦,所以应该利用java反射机制实现,在上一个随笔中已经介绍。

excel的导入导出的实现的更多相关文章

  1. c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出

    c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using S ...

  2. OpenXml Excel数据导入导出(含图片的导入导出)

    声明:里面的很多东西是基于前人的基础上实现的,具体是哪些人 俺忘了,我做了一些整合和加工 这个项目居于openxml做Excel的导入导出,可以用OpenXml读取Excel中的图片 和OpenXml ...

  3. java实现excel的导入导出(poi详解)[转]

    java实现excel的导入导出(poi详解) 博客分类: java技术 excel导出poijava  经过两天的研究,现在对excel导出有点心得了.我们使用的excel导出的jar包是poi这个 ...

  4. NodeJs之EXCEL文件导入导出MongoDB数据库数据

    NodeJs之EXCEL文件导入导出MongoDB数据库数据 一,介绍与需求 1.1,介绍 (1),node-xlsx : 基于Node.js解析excel文件数据及生成excel文件. (2),ex ...

  5. java 中Excel的导入导出

    部分转发原作者https://www.cnblogs.com/qdhxhz/p/8137282.html雨点的名字  的内容 java代码中的导入导出 首先在d盘创建一个xlsx文件,然后再进行一系列 ...

  6. PowerDesigner数据库设计PDM基于Excel的导入导出总结

    经常用到pdm来管理代码,一两张表,手写一下还凑合,一旦表多了,就慌了.于是,开始学习用vbs进行Excel的来快速导入导出操作PDM就变得很紧急了,搜罗了网络上的很多vbs脚本,各有各的优点,但对于 ...

  7. JAVA对Excel的导入导出

    今天需要对比2个excel表的内容找出相同:由于要学的还很多上手很慢所以在这做个分享希望对初学的有帮助: 先是pom的配置: <dependency> <groupId>org ...

  8. ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例

    这篇文章主要介绍了ThinkPHP使用PHPExcel实现Excel数据导入导出,非常实用的功能,需要的朋友可以参考下 本文所述实例是使用在Thinkphp的开发框架上,要是使用在其他框架也是同样的方 ...

  9. Access中一句查询代码实现Excel数据导入导出

    摘 要:用一句查询代码,写到vba中实现Excel数据导入导出,也可把引号中的SQL语句直接放到查询分析器中执行正 文: 导入数据(导入数据时第一行必须是字段名): DoCmd.RunSQL &quo ...

随机推荐

  1. python中文编码问题

    第一步:在代码中输入以下命令,执行: #在Python中显示中文注释和输出中文a ="中文"print a 返回错误: d:\Python27\python.exe "D ...

  2. 163邮箱问题:554 DT:SPM 163 smtp5,D9GowACHO7RNWNdXmXs1Bw--.9035S2

    最近公司需要开发一个自定义邮箱功能,上网查询一下,利用163邮箱发送邮件. 由于163 的反垃圾机制,(坑爹机制.) 一般出现 554有在1)测试中用了test,测试,关键字在主题或者内容里面. 但是 ...

  3. SB中设置UITextField 无边框,真机上输入汉字聚焦时,文字 下沉

    解决方案:sb中一定要设置有边框,然后在代码里设置成无边框 然后正常了. 参考:https://segmentfault.com/q/1010000007244564/a-10200000073481 ...

  4. 关于node的http模块

    var http = require('http'); /** * 创建服务器的两种写法,第一种写法如下 * 由于server已经继承了EventEmitter的事件功能,所以可以使用高级函数编写方式 ...

  5. Eclipse集成Tomcat:6个常见的”how to”问题

    学习一门新技术通常是一个很困难的过程,当你想要同时学习两门有交叉的新技术的时候,这个过程会变得更困难.Tomcat和Eclipse是Java EE开发中最流行的2个必备神器,因此,为了成为一个专业的开 ...

  6. C#对于文件的读写

    C#文件的读写操作 转载请注明出处 http://www.cnblogs.com/Huerye/ /// <summary> /// 写入txt文件 /// </summary> ...

  7. mysql获取一个表中的下一个自增(id)值的方法

    SELECT Auto_increment FROM information_schema.`TABLES` WHERE Table_Schema='数据库名' AND table_name = '表 ...

  8. XP安装IIS来加载aspx页面(Web调用SAP数据)

    1,安装IIS 在XP中安装IIS方法很简单,安装时需要提供安装光盘来加载I386文件,可以使用虚拟光驱或光盘.在此做个简单说明(控制面板-添加/删除 Windows组件-勾选Internet信息服务 ...

  9. JavaScript - 正则表达之二

    正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符则匹配失败. 正则表达式通常用于在文本中查找匹配的字符串.Python里数量词默 ...

  10. The current identity (NT AUTHORITY/NETWORK SERVICE)

    IIS错误提示: The current identity (NT AUTHORITY/NETWORK SERVICE) does not have write access to 'C:/WINDO ...