Java IO 导入导出Excel表格
1、将excel导入到内存
1、 调用工作簿Workbook的静态方法getWorkbook(),获得工作簿Workbook对象
InputStream in = new FileInputStream(file);
Workbook wb = Workbook.getWorkbook(in);
2、 获取Excel表中的工作表格Sheet
3、 获取行、列
sheet.getRows();
sheet.getColumns();
4、 读取单元格内容
String result = cell.getContents();
5、 关闭工作簿Workbook
wb.close();
- 代码演示
// 实现读学生文件,将读出的信息存放于student集合中
public List<Student> ReadFromExcel(String fileName) {
List<Student> list = new ArrayList<Student>();
File file = new File(fileName);
try {
InputStream in = new FileInputStream(file);
Workbook wb = Workbook.getWorkbook(in);
Sheet s = wb.getSheet(0);
for(int i = 1; i < s.getRows(); i++) //第一行不要
{
Cell[] row = s.getRow(i);
Student student = new Student(row[0].getContents(), row[1].getContents(), //填充数据
row[2].getContents(), Float.parseFloat(row[3].getContents()),
Float.parseFloat(row[4].getContents()), Float.parseFloat(row[5].getContents()));
//由于读取的数据全部都是String 类型所以要转换成Float类型
student.setTotalScore(student.getEnglish()+student.getJava()+student.getMath());
student.setAverage(student.getTotalScore()/3);
list.add(student);
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
2、将数据写到excel表格中
1、 获取可写入工作簿WritableWorkbook对象
WritableWorkbook wwb = Workbook.createWorkbook(filename);
2、 创建工作表格Sheet名称
WritableSheet sheet = book.createSheet("Sheet1",0);
3、 将内容放入对应的行和列
sheet.addCell(new Label(j, i, info);//j表示列,i表示行,info表示写入的内容
//在Excel中第一个参数是列,第二个参数是行,如A1
4、 写入并关闭工作簿Workbook
wwb.write();
wwb.close();
- 代码演示
// 将集合中的数据写入到excel文件中
public void WriteExcel(List<Student> list, String fileName) {
File file = new File(fileName);
try {
OutputStream out = new FileOutputStream(file);
WritableWorkbook wwb = Workbook.createWorkbook(out);
WritableSheet ws = wwb.createSheet("Sheet1", 0);
String info[] = {"id","name","gender","java","english","math"};
for(int j=0;j<6;j++){
Label label = new Label(j, 0, info[j]);
ws.addCell(label);
}
for(int i = 0;i < list.size();i++)
{
Label l = new Label(0, i+1, list.get(i).getId());//在Excel中,第一个参数表示列,第二个表示行
Label l2 = new Label(1, i+1, list.get(i).getName());
Label l3 = new Label(2, i+1, list.get(i).getGender());
Label l4 = new Label(3, i+1, String.valueOf(list.get(i).getJava()));
Label l5 = new Label(4, i+1, String.valueOf(list.get(i).getEnglish()));
Label l6 = new Label(5, i+1, String.valueOf(list.get(i).getMath()));
ws.addCell(l);
ws.addCell(l2);
ws.addCell(l3);
ws.addCell(l4);
ws.addCell(l5);
ws.addCell(l6);
}
wwb.write();//从内存中写入文件中
wwb.close();//关闭资源,释放内存
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (RowsExceededException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Java IO 导入导出Excel表格的更多相关文章
- Java代码导入导出 Excel 表格最简单的方法
import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStrea ...
- Java中导入导出Excel -- POI技术
一.介绍: 当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统.银行系统).或者是:我们已经习惯用Excel打印.这样在我们实 ...
- PHP导入导出excel表格图片(转)
写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了.呵呵.(COM方式不讲了,这种可读的太多了,我也写过利用wp ...
- PHP导入导出excel表格图片的代码和方法大全
基本上导出的文件分为两种: 1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已.修改这种文件后再保存,通常会提示你是否要转换成Excel文件 ...
- Java利用POI实现导入导出Excel表格示例代码
转自:https://www.jb51.net/article/95526.htm 介绍 Jakarta POI 是一套用于访问微软格式文档的Java API.Jakarta POI有很多组件组成,其 ...
- Java Annotation 应用 -- 导出Excel表格
相关知识链接: Introspector(内省) POI 1.声明注解 package com.ciic.component.excel; import java.lang.annotation.El ...
- Java实现导入导出Excel:POI和EasyExcel
文章与CSDN同步,欢迎访问:https://blog.csdn.net/qq_40280582/article/details/107300081 代码地址:https://gitee.com/il ...
- Java POI导入导出Excel
1.异常java.lang.NoClassDefFoundError: org/apache/poi/UnsupportedFileFormatException 解决方法: 使用的poi的相关jar ...
- java基础篇 -- 导出excel表格数据
本篇文章基于java把数据库中的数据以Excel的方式导出,欢迎各位大神吐槽: 1.基于maven jar包引入如下: <dependency> <groupId>net.so ...
随机推荐
- Springboot & Mybatis 构建restful 服务
Springboot & Mybatis 构建restful 服务一 1 前置条件 jdk测试:java -version maven测试:命令行之行mvn -v eclipse及maven插 ...
- qq通讯录
- 别人的Linux私房菜(16)计划任务
计划任务的种类: at,执行一次就结束的命令 crontab,用户任务循环执行的任务的命令.系统任务编辑/etc/crontab来完成. atd让at生效.crond或cron让crontab生 ...
- 学习Acegi应用到实际项目中(7)- 缓存用户信息
在默认情况下,即在用户未提供自身配置文件ehcache.xml或ehcache-failsafe.xml时,EhCache会依据其自身Jar存档包含的ehcache-failsafe.xml文件所定制 ...
- centos7下安装mysql会遇到的问题集合
1.mysqld_safe提示 command not found 解决方法 https://blog.csdn.net/lampqiu/article/details/79138961 2.Mysq ...
- linux 解压 压缩 常见命令
压缩命令: .tar tar -cvf 文件名称.tar 文件或者文件夹 .tar.gz tar -zcvf 文件名称.tar.gz 文件或者文件夹 .tar.xz tar -Jcf 文件名称.tar ...
- HTTP二、HTTP请求处理过程的七个步骤
HTTP02 HTTP请求处理过程的七个步骤 1.web服务处理步骤 web服务的处理过程可总结为七个步骤: 1)发起请求:客户端向服务器端发起连接请求,建立”三次握手“: 2)接收请 ...
- 信息安全技能树(SecWiki中Web安全工程师职位建议)
职位描述: 对公司网站.业务系统进行安全评估测试(黑盒.白盒测试): 对公司各类系统进行安全加固: 对公司安全事件进行响应,清理后门,根据日志分析攻击途径: 安全技术研究,包括安全防范技术,黑客技术等 ...
- 洛谷P1064--金明的预算方案(简单背包)
https://www.luogu.org/problemnew/show/P1064 #include<iostream> #include<algorithm> #incl ...
- OC协议、代理的简单使用
在不同类之间传递数据,我所学到的有三种,1.代理,2.block,3.通知.在这里,我们先来讲一下代理的使用,后面我会继续讲到block和通知.代理通常和协议是一起使用的,协议通常写在代理类里面,被代 ...