excel的导入导出的实现
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的导入导出的实现的更多相关文章
- c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出
c# .Net :Excel NPOI导入导出操作教程之读取Excel文件信息及输出 using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using S ...
- OpenXml Excel数据导入导出(含图片的导入导出)
声明:里面的很多东西是基于前人的基础上实现的,具体是哪些人 俺忘了,我做了一些整合和加工 这个项目居于openxml做Excel的导入导出,可以用OpenXml读取Excel中的图片 和OpenXml ...
- java实现excel的导入导出(poi详解)[转]
java实现excel的导入导出(poi详解) 博客分类: java技术 excel导出poijava 经过两天的研究,现在对excel导出有点心得了.我们使用的excel导出的jar包是poi这个 ...
- NodeJs之EXCEL文件导入导出MongoDB数据库数据
NodeJs之EXCEL文件导入导出MongoDB数据库数据 一,介绍与需求 1.1,介绍 (1),node-xlsx : 基于Node.js解析excel文件数据及生成excel文件. (2),ex ...
- java 中Excel的导入导出
部分转发原作者https://www.cnblogs.com/qdhxhz/p/8137282.html雨点的名字 的内容 java代码中的导入导出 首先在d盘创建一个xlsx文件,然后再进行一系列 ...
- PowerDesigner数据库设计PDM基于Excel的导入导出总结
经常用到pdm来管理代码,一两张表,手写一下还凑合,一旦表多了,就慌了.于是,开始学习用vbs进行Excel的来快速导入导出操作PDM就变得很紧急了,搜罗了网络上的很多vbs脚本,各有各的优点,但对于 ...
- JAVA对Excel的导入导出
今天需要对比2个excel表的内容找出相同:由于要学的还很多上手很慢所以在这做个分享希望对初学的有帮助: 先是pom的配置: <dependency> <groupId>org ...
- ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
这篇文章主要介绍了ThinkPHP使用PHPExcel实现Excel数据导入导出,非常实用的功能,需要的朋友可以参考下 本文所述实例是使用在Thinkphp的开发框架上,要是使用在其他框架也是同样的方 ...
- Access中一句查询代码实现Excel数据导入导出
摘 要:用一句查询代码,写到vba中实现Excel数据导入导出,也可把引号中的SQL语句直接放到查询分析器中执行正 文: 导入数据(导入数据时第一行必须是字段名): DoCmd.RunSQL &quo ...
随机推荐
- 修改pip更新源
修改pip更新源 pip安装时默认访问pypi的,但是pypi的速度对于国内来说有点慢,还在国内也有一些pip的镜像源,造福广大程序员 pipy国内镜像目前有: http://pypi.douban. ...
- 解决Linux下启动Tomcat遇到Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
找到启动路径所在的目录: cd bin/ vi catalina.sh 加入以下信息: export JAVA_HOME=/home/gongzi/http/jdk1.6.0_26 export JR ...
- UVA1637Double Patience(概率 + 记忆化搜索)
训练指南P327 题意:36张牌分成9堆, 每堆4张牌.每次拿走某两堆顶部的牌,但需要点数相同.如果出现多种拿法则等概率的随机拿. 如果最后拿完所有的牌则游戏成功,求成功的概率. 开个9维数组表示每一 ...
- python面向对象二
1.1类的静态属性,类方法,类的静态方法 1.1.1静态属性(@property) 在类中: python内置的@property装饰器就是负责把一个方法(函数)变成属性来调用. class Stud ...
- Java虚拟机浅探
简介 对于java开发人员了来说,对java虚拟机肯定有着或多或少的了解.因为有了虚拟机的存在,才会使得java的内存管理变得那么方便,不再像C++那样使用new/delete来直接管理内存.知名的j ...
- PHP数组函数--array_filter
(PHP 4 >= 4.0.6, PHP 5, PHP 7) array_filter - 用回调函数过滤数组中的单元 (PHP 4 >= 4.0.6, PHP 5, PHP 7) arr ...
- spring MVC mybatis dispacherServlet(源码解读)
以下源码版本(4.2.0.RELEASE) dispacherServlet是servlet的实现类,是spring MVC的前端转发器,是spring MVC的核心. 那么它做了哪些事呢? 它主要做 ...
- 【IOS】将字体大小不同的文字底部对齐
从WP转IOS了,还是放不下...... 在项目中,要实现如图多个不同大小的文字 底部对齐的效果 像下面这样: (想要的效果) 以为用三个UIFont不同的UILabel 之后让他们底部对齐 ...
- Oracle 如何扩展表空间
第一步:查看ORACLE表空间的使用情况:SELECT DBF.TABLESPACE_NAME, DBF.TOTALSPACE "总量(M)", DBF.T ...
- Go收藏
Go项目收藏 电子书 1.Go Web 编程 2.Go入门指南(the-way-to-go_ZH_CN) 3.Go语言圣经(中文版) Go by Example 中文 一些Go英文电子书 High P ...