POI框架实现创建Excel表、添加数据、读取数据
public class TestPOI2Excel {
//创建2003版本Excel用此方法
@Test
public void testWrite03Excel() throws Exception {
//创建工作簿
HSSFWorkbook workbook = new HSSFWorkbook();
//创建工作表
HSSFSheet sheet = workbook.createSheet("hello World");//指定工作表名
//创建行
HSSFRow row = sheet.createRow(2);//创建第3行
//创建单元格
HSSFCell cell = row.createCell(2);
cell.setCellValue("Hello World");//设置内容
//输出到硬盘
FileOutputStream out = new FileOutputStream("E:\\测试.xls");
//把excel输出到具体的地址
workbook.write(out);
workbook.close();
out.close();
}
//读取2003版本的Excel表数据
@Test
public void testRead03Excel() throws Exception {
FileInputStream in = new FileInputStream("E:\\测试.xls");
//读取工作簿
HSSFWorkbook workbook = new HSSFWorkbook(in);
//读取工作表
HSSFSheet sheet = workbook.getSheet("hello World");//指定工作表名
//创建行
HSSFRow row = sheet.getRow(2);//读取第3行
//读取单元格
HSSFCell cell = row.getCell(2);
System.out.println("di3行第3列单元格的内容为:"+cell.getStringCellValue());
workbook.close();
in.close();
}
//创建并写入2007版本及以上版本用此方法
@Test
public void testWrite07Excel() throws Exception {
//创建工作簿
XSSFWorkbook workbook = new XSSFWorkbook();
//创建工作表
XSSFSheet sheet = workbook.createSheet("hello World");//指定工作表名
//创建行
XSSFRow row = sheet.createRow(2);//创建第3行
//创建单元格
XSSFCell cell = row.createCell(2);
cell.setCellValue("Hello World");//设置内容
//输出到硬盘
FileOutputStream out = new FileOutputStream("E:\\测试.xlsx");
//把excel输出到具体的地址
workbook.write(out);
workbook.close();
out.close();
}
@Test
public void testRead07Excel() throws Exception {
FileInputStream in = new FileInputStream("E:\\测试.xlsx");
//读取工作簿
XSSFWorkbook workbook = new XSSFWorkbook(in);
//读取工作表
XSSFSheet sheet = workbook.getSheet("hello World");//指定工作表名
//创建行
XSSFRow row = sheet.getRow(2);//读取第3行
//读取单元格
XSSFCell cell = row.getCell(2);
System.out.println("di3行第3列单元格的内容为:"+cell.getStringCellValue());
workbook.close();
in.close();
}
//代码优化 判断Excel表的版本
@Test
public void testRead03And07Excel() throws Exception {
String fileName="E:\\测试.xls";
FileInputStream in = new FileInputStream(fileName);
if(fileName.matches("^.+\\.(?i)((xls)|(xlsx))$")){//判断是否为Excel文档
boolean is03Excel=fileName.matches("^.+\\.(?i)((xls)|(xlsx))$");
//读取工作簿
Workbook workbook = is03Excel ? new HSSFWorkbook(in) : new XSSFWorkbook(in);
//读取工作表
Sheet sheet = workbook.getSheet("hello World");//指定工作表名
//创建行
Row row = sheet.getRow(2);//读取第3行
//读取单元格
Cell cell = row.getCell(2);
System.out.println("di3行第3列单元格的内容为:"+cell.getStringCellValue());
workbook.close();
in.close();
}
}
//Excel表格的样式属性
@Test
public void testExcelStyle()throws Exception{
//创建工作簿
HSSFWorkbook workbook=new HSSFWorkbook();
//合并单元格 合并第三行的第三列到第五列
CellRangeAddress cellRangeAddress = new CellRangeAddress(2, 2, 2, 4);
//1.2创建单元格式
HSSFCellStyle cellStyle = workbook.createCellStyle();
cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平居中
cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直居中
//1.3创建字体
HSSFFont font = workbook.createFont();
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗字体
//font.setFontHeight((short)320);//设置字体大小,设置数/20
font.setFontHeightInPoints((short) 17);
//加载字体
cellStyle.setFont(font);
//单元格背景
//设置背景填充模式
cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
//设置填充背景色
cellStyle.setFillBackgroundColor(HSSFColor.YELLOW.index);
//设置填充前景色
cellStyle.setFillForegroundColor(HSSFColor.RED.index);
HSSFSheet sheet = workbook.createSheet("hello World");
sheet.addMergedRegion(cellRangeAddress);
HSSFRow row = sheet.createRow(2);
HSSFCell cell = row.createCell(2);
//加载样式
cell.setCellStyle(cellStyle);
cell.setCellValue("helloWorld0");
//输出到硬盘
FileOutputStream out = new FileOutputStream("E:\\测试.xls");
//把excel输出到具体的地址
workbook.write(out);
workbook.close();
out.close();
}
}
POI框架实现创建Excel表、添加数据、读取数据的更多相关文章
- (最全最灵活地)利用Jxl工具包实现Excel表的内容读取 、写入(可向已有表中追加数据)
1.引子 (1)读取 Jxl工具比较强大,可以方便地实现Excel表的读取和写入.另一款工具Poi也具有相似的功能,并且功能更多,运用也相对复杂.Poi读取Excel表内容时,需要先判断其内容格式,如 ...
- Excel表单的读取与处理 PHPExcel与Apache POI
近日,连续遇到需要对Excel表单内容进行读取的需求.一个是在php环境下,一个是在java环境下.这里简要记录这两种环境,利用第三方提供的函数库对Excel进行处理的方法. d0710 : Fini ...
- Excel上传并读取数据
最近一段时间,维护一个旧系统,其中有一个功能,是把Excel上传,并读取数据进行维护,然后转插入至SQL数据库中.下面Insus.NET使用asp.net 标准上传控件: <asp:FileUp ...
- 『TensorFlow』SSD源码学习_其五:TFR数据读取&数据预处理
Fork版本项目地址:SSD 一.TFR数据读取 创建slim.dataset.Dataset对象 在train_ssd_network.py获取数据操作如下,首先需要slim.dataset.Dat ...
- Java通过poi创建Excel文件并分页追加数据
以下的main函数,先生成一个excel文件,并设置sheet的名称,设置excel头:而后,以分页的方式,向文件中追加数据 maven依赖 <dependency> <groupI ...
- JAVA实现创建Excel表并导出(转发)
<span style="font-family:Verdana, Arial, Helvetica, sans-serif;line-height:25.2px;background ...
- egg 框架自动创建数据库表结构
// {app_root}/app.js module.exports = app => { app.beforeStart(async () => { // 从配置中心获取 MySQL ...
- ALTER---为已创建的表添加默认值
alter table table_name modify column_name default default_value; 例: alter table userinfo modify emai ...
- 导出数据库数据到Excel表
后台需要将用户信息数据导入到Excel表中提供给相关人员: 首先查询数据就不多说了: 导入Excel表直接亮代码(采用的是jxl的jar包提供的方法): public static File Impo ...
随机推荐
- ajax跨域请求时,sessionId不一样,导致无法记住登陆状态
遇到这样一个场景,就是前端的域是dev,请求接口时,接口的域是beta,即使在服务端设置了cookie存放的域,'COOKIE_DOMAIN' => '.roboming.com',虽然c ...
- 不要怂,就是GAN (生成式对抗网络) (六):Wasserstein GAN(WGAN) TensorFlow 代码
先来梳理一下我们之前所写的代码,原始的生成对抗网络,所要优化的目标函数为: 此目标函数可以分为两部分来看: ①固定生成器 G,优化判别器 D, 则上式可以写成如下形式: 可以转化为最小化形式: 我们编 ...
- 简单分析beyond作曲
本人绝对是业余的哈 业余到什么水平呢?正在练习爬格子,还是一个星期练几次那种 先说下<海阔天空> 6,5,4,3 1,2,3,4 简单是简单得不得了,声从低到高,然后再从高到低,产生一种回 ...
- java基础之路(一)
Java数据类型分为内置类型和扩展类型两大类,其中的内置类型就是基本数据类型,而扩展类型则是Java语言根据基本类型扩展出的其他类型(也叫引用类型)(如:class,String等).本文主要讨论的是 ...
- Azure Messaging-ServiceBus Messaging消息队列技术系列4-复杂对象消息是否需要支持序列化和消息持久化
在上一篇中,我们介绍了消息的顺序收发保证: Azure Messaging-ServiceBus Messaging消息队列技术系列3-消息顺序保证 在本文中我们主要介绍下复杂对象消息是否需要支持序列 ...
- 用php+mysql+ajax+jquery做省市区三级联动
要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下拉跟着变化,市级下拉变化时区下拉跟着变化. 使用chinastates ...
- osprofiler在openstack Cinder里的使用
最近在做OpenStack Cinder driver的性能调试, 之前一直是通过在driver里面加入decorator,完成driver各个接口的执行时间的统计. 其实在openstack,已经在 ...
- Windows下GIT安装与使用(上传远程端)
Windows下GIT安装与使用(上传远程服务器) 1. 登陆http://msysgit.github.io/并下载Git 2. 打开下载的exe文件,一路默认(路径可以去修改).有可能电脑需要 ...
- BananaPi python-Mysql 操作库
BananPi python-Mysql 操作库 1.首先mysql.python环境安装 2.下载MySQL-python-1.2.3.tar.gz 并解压 tar xfz MySQL-python ...
- [复习]java中hashCode的作用
1.HashCode的官方文档定义 (1)hashcode方法返回该对象的哈希码值.支持该方法是为哈希表提供一些优点,例如java.util.HashTable提供的哈希表. (2)hashCode的 ...