使用jxl操作之一: 实现对Excel简单读写操作
项目目录树

对象类UserObject
UserObject.java
package com.dlab.jxl; public class UserObject { private String userName; private String age; private String address; public String getUserName() {
return userName;
} public void setUserName(String userName) {
this.userName = userName;
} public String getAge() {
return age;
} public void setAge(String age) {
this.age = age;
} public String getAddress() {
return address;
} public void setAddress(String address) {
this.address = address;
} }
Excel简单写操作类ExcelWriter
ExcelWriter.java
package com.dlab.jxl;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
public class ExcelWriter {
private OutputStream os = null;
public ExcelWriter(String excelPath) throws FileNotFoundException{
this.os = new FileOutputStream(excelPath);
}
public boolean excelWrite(List list){
try {
//创建一个可写的Workbook
WritableWorkbook wwb = Workbook.createWorkbook(os);
//创建一个可写的sheet,第一个参数是名字,第二个参数是第几个sheet
WritableSheet sheet = wwb.createSheet("第一个sheet", 0);
for(int i=0; i<list.size(); i++){
UserObject user = (UserObject)list.get(i);
//创建一个Label,第一个参数是x轴,第二个参数是y轴,第三个参数是内容,第四个参数可选,指定类型
Label label1 = new Label(0, i, user.getUserName());
Label label2 = new Label(1, i, user.getAddress());
Label label3 = new Label(2, i, user.getAge());
//把label加入sheet对象中
sheet.addCell(label1);
sheet.addCell(label2);
sheet.addCell(label3);
}
//保存到Workbook中
wwb.write();
//只有执行close时才会写入到文件中,可能在close方法中执行了io操作
wwb.close();
return true;
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
return false;
}
}
Excel简单读操作类ExcelReader
ExcelReader.java
package com.dlab.jxl;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
public class ExcelReader {
private InputStream is = null;
public ExcelReader(String excelPath) throws FileNotFoundException{
this.is = new FileInputStream(excelPath);
}
public void excelReader(){
try {
Workbook book = Workbook.getWorkbook(is);
Sheet sheet = book.getSheet(0);
for(int i=0; i<sheet.getRows(); i++){
for(int j=0; j<sheet.getColumns(); j++){
System.out.print(sheet.getCell(j, i).getContents() + " ");
if(j == sheet.getColumns() - 1){
System.out.println();
}
}
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
测试类ExcelTest
package com.dlab.jxl;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
public class ExcelTest {
public static void main(String[] args) {
List userList = new ArrayList();
for(int i=0; i<100; i++){
UserObject user = new UserObject();
user.setUserName("用户名称" + Integer.valueOf(i));
user.setAddress("地址" + Integer.valueOf(i));
user.setAge("年龄" + Integer.valueOf(i));
userList.add(user);
}
try {
ExcelWriter ew = new ExcelWriter("ExcelWriter.xls");
ew.excelWrite(userList);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
ExcelReader er = new ExcelReader("ExcelWriter.xls");
er.excelReader();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
测试结果


使用jxl操作之一: 实现对Excel简单读写操作的更多相关文章
- 使用POI来实现对Excel的读写操作
事实上我感觉直接贴代码就好了.代码里面差点儿做到每一行一个凝视.应该看起来会比較简单 代码托管在github上:https://github.com/chsj1/ExcelUtils package ...
- 通过vb.net 和NPOI实现对excel的读操作
通过vb.net 和NPOI实现对excel的读操作,很久很久前用过vb,这次朋友的代码是vb.net写的需要一个excel的操作, 就顾着着实现功能了,大家凑合着看吧 Option Explicit ...
- 利用C#实现对excel的写操作
一.COM interop 首先我们要了解下何为COM Interop,它是一种服务,可以使.NET Framework对象能够与COM对象通信.Visual Studio .NET 通过引入面向公共 ...
- 使用JXL.jar实现JAVA对EXCEL的读写操作
简介: jxl.jar是通过java操作excel表格的工具类库 jxl操作excel包括对象Workbook(工作簿),Sheet(工作表) ,Cell(单元格). 一个excel就对应一个Work ...
- Apache POI 实现对 Excel 文件读写
1. Apache POI 简介 Apache POI是Apache软件基金会的开放源码函式库. 提供API给Java应用程序对Microsoft Office格式档案读和写的功能. 老外起名字总是很 ...
- JAVA-----基于POI实现对Excel导入
在日常项目开发中, 数据录入和导出是十分普遍的需求,因此,导入导出也成为了开发中一个经典的功能.数据导出的格式一般是excel或者pdf,而批量导入的信息一般是借助excel来减轻工作量,提高效率. ...
- Python中实现对list做减法操作介绍
Python中实现对list做减法操作介绍 这篇文章主要介绍了Python中实现对list做减法操作介绍,需要的朋友可以参考下 问题描述:假设我有这样两个list, 一个是list1,list1 = ...
- 使用Python对Excel进行读写操作
学习Python的过程中,我们会遇到Excel的读写问题.这时,我们可以使用xlwt模块将数据写入Excel表格中,使用xlrd模块从Excel中读取数据.下面我们介绍如何实现使用Python对Exc ...
- Python—对Excel进行读写操作
学习Python的过程中,我们会遇到Excel的读写问题.通过搜索得知,我们可以使用xlwt module将数据写入Excel表格,使用xlrd module从Excel读取数据.下面介绍如何实现使用 ...
随机推荐
- Django2.0——请求与响应(上)
客户端与服务段通过http协议进行数据的传输,而http协议是一种双向单工的,且主动发起连接的只有客户端.故数据的传送就离不开请求和响应,客户端每发起一个请求,服务端就是返回一个响应.在django的 ...
- PAT Advanced 1134 Vertex Cover (25) [hash散列]
题目 A vertex cover of a graph is a set of vertices such that each edge of the graph is incident to at ...
- UML-如何使用层进行设计?
1.将代码组织映射为层和UML包 com.mycompany |_nextgen |_ui |_domain |_service |_util org.apache.log4j 2.使用对象设计应用 ...
- drf二次封装response-APIViews视图家族-视图工具集-工具视图-路由组件
视图类传递参数给序列化类 (1).在视图类中实例化 序列化对象时,可以设置context内容. (2).在序列化类中的局部钩子.全局钩子.create.update方法中,都可以用self.conte ...
- 中国文化产业基金越来越多,但IP变现难题为何仍未解决?
自始至终,中国商界领域的态势就有一个很明显的特征--哪里是风口.哪里是热点,企业就会蜂拥而至并集体掘金.一直到决出胜负,或者把整个风口"做烂"才罢休.很典型的案例就是电商领域已经呈 ...
- Linux-使用syslog来记录调试信息
1.有三个函数:openlog.syslog.closelog 2.一般的log信息都在操作系统的/var/log/messages这个文件中存储着,但是ubuntu中是在/var/log/syslo ...
- CF 1130C Connect
链接:https://codeforces.com/contest/1130/problem/C C. Connect time limit per test 1 second memory limi ...
- windows下使用vs code调试简单的C程序
常使用visual studio code(vs code)打开.c文件,如果让vs code具备调试技能估计会比较有用 准备工作: 1. vs code安装插件:cpptools 2. window ...
- 小白安装Android Studio
原文 Android Studio 安装 步骤1 - 系统要求 可以在以下的操作系统开始 Android 应用程序开发: Microsoft® Windows® 8/7/Vista/2003 (32 ...
- ruoyi StringUtils
package com.ruoyi.common.utils; import java.util.Collection; import java.util.Map; import com.ruoyi. ...