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 ...
随机推荐
- conda 常用命令
conda search --full --name python conda update -n base conda //update最新版本的conda conda create -n xxxx ...
- Java框架spring Boot学习笔记(四):Spring Boot操作MySQL数据库
在pom.xml添加一下代码,添加操作MySQL的依赖jar包. <dependency> <groupId>org.springframework.boot</grou ...
- 提高GitHub下载速度
修改/etc/hosts 加上 151.101.72.249 GitHub.global.ssl.fastly.net 192.30.253.112 github.com
- Beyond Compare 4 提示错误“这个授权密钥已被吊销”的解决办法
错误提示: 这个授权密钥已被吊销. 解决方法: 删除以下目录中的所有文件即可. C:\Users\Administrator\AppData\Roaming\Scooter Software\Beyo ...
- JVM性能优化读后笔记
java性能优化权威指南读后笔记 三重境界 1.花似雾中看:对于遇到的额问题还看不清,不知道真真假假,是是非非. 2.悠然见南山:虽然刚开始对这个领域还不清楚,但随着时间推移,你对它有许多自己的见解, ...
- STL基础复习
stl容器:vector,deque,list,map/multimap,set 特殊容器:stack,queue,priority_queue 通用操作 size() 返回当前容器元素数量 emp ...
- Spring--基础介绍一:IOC和DI
前面学习了Struts2和Hibernate. Struts2主要是用来控制业务层面逻辑和显示,告诉你什么时候走哪个action,跑去运行哪个class的什么方法,后面调到哪个jsp. Struts2 ...
- Unity 角色移动贴墙行走
直接贴上代码,旋转角色角度检测碰撞 Vector2 v2Normal = new Vector2(normal.x, normal.y); float fAngle = Vector2.SignedA ...
- unity 动态更新模型透明度
RaycastHit[] hits; Vector3 normal = transform.position - target.position; hits = Physics.RaycastAll( ...
- Vue 获取元素样式 元素高度
看到这个问题我第一时间想的竟然是JS 不知道你是怎么想的 不过昨天有一个小哥哥 问我一个Vue的 哈哈哈 get了 我当时问他为什么不用JS获取 他说 这个性能更高 那我们来看看这个高性能的获取元素高 ...