POI对Excel的操作
1. 先导包
commons-io-2.6.jar包,用于对文件的操作。
下载地址:http://commons.apache.org/proper/commons-io/download_io.cgi
poi-3.17.jar包,对Excel表的操作。
下载地址:http://poi.apache.org/download.html#POI-3.17
2. 假设Excel表的表头和主体内容
//表头数组
String[] title = {"id","username","password","gender","address"};
//主体内容
String[][] sheetBodyValue = {
{"001","test1","123456","男","中国北京"},
{"002","test2","123456","女","中国北京"},
{"003","test3","123456","男","中国北京"},
{"004","test4","123456","女","中国北京"}
};
3. 创建Excel表
HSSFWorkbook workBook = new HSSFWorkbook();
4. 创建excel页面,即sheet
HSSFSheet sheet = workBook.createSheet();
5. 创建表头行
//创建第index行 sheet.createRow(index)
HSSFRow titleRow = sheet.createRow(0);
6. 创建表头单元格,并遍历表头数组,设置表头
for (int i = 0; i < title.length; i++) {
HSSFCell titleCell= titleRow.createCell(i);
titleCell.setCellValue(title[i]);
}
7. 从第二行开始创建主体内容
for (int i = 1; i <= sheetBodyValue.length; i++) {
//创建第i行
HSSFRow bodyRow = sheet.createRow(i);
//创建单元格,并为每个单元格赋值
for (int j = 0; j < sheetBodyValue[0].length; j++) {
HSSFCell bodyCell = bodyRow.createCell(j);
bodyCell.setCellValue(sheetBodyValue[i-1][j]);
}
}
8. 创建文件,用文件输出流输出数据
File file = new File("D:/poi_text.xls");
try {
file.createNewFile();
FileOutputStream outputStream = FileUtils.openOutputStream(file);
workBook.write(outputStream);
outputStream.close();//记得关闭输出流
} catch (IOException e) {
e.printStackTrace();
}
9. 最后附上全部代码
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException; import org.apache.commons.io.FileUtils;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class testExcel { @SuppressWarnings("resource")
public static void createExcel(){
//表头数组
String[] title = {"id","username","password","gender","address"};
//主体内容
String[][] sheetBodyValue = {
{"001","test1","123456","男","中国北京"},
{"002","test2","123456","女","中国北京"},
{"003","test3","123456","男","中国北京"},
{"004","test4","123456","女","中国北京"}
}; //创建excel表
HSSFWorkbook workBook = new HSSFWorkbook();
//创建excel页面,即sheet
HSSFSheet sheet = workBook.createSheet();
//创建表头行,第index行 sheet.createRow(index)
HSSFRow titleRow = sheet.createRow(0); //创建表头,第一行
for (int i = 0; i < title.length; i++) {
HSSFCell titleCell= titleRow.createCell(i);
titleCell.setCellValue(title[i]);
} //从第二行开始创建主体内容
for (int i = 1; i <= sheetBodyValue.length; i++) {
HSSFRow bodyRow = sheet.createRow(i);//创建第i行
for (int j = 0; j < sheetBodyValue[0].length; j++) {
HSSFCell bodyCell = bodyRow.createCell(j);
bodyCell.setCellValue(sheetBodyValue[i-1][j]);
}
}
//创建文件
File file = new File("D:/poi_text.xls");
try {
file.createNewFile();
FileOutputStream outputStream = FileUtils.openOutputStream(file);
workBook.write(outputStream);
outputStream.close();//记得关闭输出流
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
createExcel();
}
}
本人也是初次接触POI对Excel表的操作,还有很多关于POI操作的知识点需要去掌握。
写一下个人对导出Excel表的操作小结。
希望与君共勉,共同进步。
POI对Excel的操作的更多相关文章
- POI对EXCEL的操作【重点:如何设置CELL格式为文本格式】
实际开发过程中通常用到的就是从数据库导出EXCEL表格了,JXL可以这样做,其实POI也可以(关于JXL与POI的异同可访问我之前总结的文章),之前写过POI对七种文档(当然也包括EXCEL)的内容读 ...
- 学会简单使用poi进行excel有关操作
直接上代码: 官网上的抄的api例子: package com.test; import java.io.File; import java.io.FileInputStream; import ja ...
- jspsmart(保存文件)+poi(读取excel文件)操作excel文件
写在前面: 项目环境:jdk1.4+weblogic 需求:能上传excel2003+2007 由于项目不仅需要上传excel2003,还要上传excel2007,故我们抛弃了jxl(只能上传exce ...
- poi对EXCEL的操作(一)
(原创自己这段时间对poi的研究心得) 一.基础的对象 1.wookbook工作簿 创建工作簿 wookbook XSSFWorkbook类的构造方法 XSSFWorkbook ...
- 使用POI对excel进行操作生成二维数组
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import ja ...
- poi对excel的操作(二)
二.进阶的对象 1.CellType 枚举类 单元格类型 CellType.STRING---文本型 等 如何是指单元格类型:cell.setCellType(CellType.STRING) 2.C ...
- 使用POI进行Excel操作的总结一——创建Workbook,Sheet,Row以及Cell
前段时间,看在其他的网站上给出Excel文档的导入与导出操作,感觉很酷的样子,所以就学习了一下如何使用POI进行Excel的操作,现在对之前的学习过程进行一个总结. 一.现在普遍使用的Excel文档有 ...
- 用POI导出excel时,较长的数字不想被自动变为科学计数法的解决方式(转)
做过很多次导出excel了.都碰到一个问题,内容里如果包含一个比较长的数字,比如订单号“2546541656596”,excel会自动变成科学计数法... 弄过好几次都没有解决,最近又要导出excel ...
- Java学习---Excel读写操作
1.1.1. 简介 Apache POI 使用Apache POI 完成Excel读写操作 Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API ...
随机推荐
- python之科学函数课——Numpy
一般来讲,数据都是由行列表示的,也就是矩阵,类似于Excel表格一样的东西. 首先我们学习一下Numpy,装好anaconda之后默认是装好的,下面是numpy的一些函数库:Numpy是科学计算库,是 ...
- springboot指定端口的三种方式
第一配置文件中添加server.port=9090 第二在命令行中指定启动端口,比如传入参数一server. port=9000 java -jar bootsample. jar -- se ...
- Locust 学习一 :初识
之前就听过Locust是基于python的一款很好用的开源性能测试框架,一直没机会实践,正好这次项目上有个接口压测的小任务,就拿来练练手 安装:py -3 -m pip install locusti ...
- 了解一下SQL映射文件
1:SQL映射文件 MyBatis真正强大之处就在于SQL映射语句,相对于强大的功能,SQL映射文件的配置非常简单,与JDBC相比减少了50%的代码.下面是关于SQL映射文件的几个顶级元素配置 map ...
- 第九篇 Flask 中的蓝图(BluePrint)
第九篇 Flask 中的蓝图(BluePrint) 蓝图,听起来就是一个很宏伟的东西 在Flask中的蓝图 blueprint 也是非常宏伟的 它的作用就是将 功能 与 主服务 分开怎么理解呢? ...
- JS-给对象动态添加属性
var obj = {};//用来存放获取到所填写的信息 btn.onclick = function(){ var city = input_city.value; var num = input_ ...
- JVM学习03:性能监控工具
JVM学习03:性能监控工具 写在前面:本系列分享主要参考资料是 周志明老师的<深入理解Java虚拟机>第二版. 性能监控工具知识要点Xmind梳理 案例分析 案例分析1-JPS 案例分 ...
- [转]Cloudera Manager和CDH5.8离线安装
https://blog.csdn.net/zzq900503/article/details/52982828 https://www.cnblogs.com/felixzh/p/9082344.h ...
- 使用idea的springboot项目出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
参考: https://www.cnblogs.com/lfm601508022/p/InvalidBoundStatement.html https://blog.csdn.net/xsggsx/a ...
- php使用redis的有序集合zset实现延迟队列
延迟队列就是个带延迟功能的消息队列,相对于普通队列,它可以在指定时间消费掉消息. 延迟队列的应用场景: 1.新用户注册,10分钟后发送邮件或站内信. 2.用户下单后,30分钟未支付,订单自动作废. 我 ...