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 ...
随机推荐
- Algorithms(4th)谢路云译大纲总结(附实现源码)
前言: 此算法书可以说是Java程序开发者的福音.里面涉及近50种计算机领域的经典算法,几位作者花了近40年的时间才完成这本著作.秉着对作者的敬仰与对算法的兴趣,我多次翻阅此书,而且常常被书中的经典算 ...
- Springboot 整合 Dubbo/ZooKeeper 详解 SOA 案例
摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “看看星空,会觉得自己很渺小,可能我们在宇宙中从来就是一个偶然.所以,无论什么事情,仔细想一 ...
- php根据用户输入单词,匹配相似单词
最近在使用一款app背单词的时候,会在某个单词下面,列出与之相类似的单词.于是我在想这个功能是如何做的,自己使用php版本,做了个简单的例子. 大致思路如下: 1.生成英文单词库,并将单词放置redi ...
- ajax跨域请求时,sessionId不一样,导致无法记住登陆状态
遇到这样一个场景,就是前端的域是dev,请求接口时,接口的域是beta,即使在服务端设置了cookie存放的域,'COOKIE_DOMAIN' => '.roboming.com',虽然c ...
- Spark_总结四
Spark_总结四 1.Spark SQL Spark SQL 和 Hive on Spark 两者的区别? spark on hive:hive只是作为元数据存储的角色,解析 ...
- Django之Session
Django -- Seeion介绍 问: Django的session是什么? 答: Django 完全支持匿名 Session的. Session 框架允许每一个用户保存 ...
- AR入门系列-07-Vuforia柱形体识别
今天为大家带来Vuforia柱形体识别的使用教程 首先我们要进入Vuforia官网在TargetManager中添加Target,这次我们添加的类型为Cylinder圆柱 Bottom Diamete ...
- 1022: [SHOI2008]小约翰的游戏John
1022: [SHOI2008]小约翰的游戏John Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 1322 Solved: 829[Submit][ ...
- [OpenGL] mac上运行NateRobin的OpenGL教程找不到 data file 解决方案
之前买的OpenGL编程指南第七版一直没看,最近开始看了,然后按照教程推荐的去指定网址下载NateRobin的OpenGL教程,但发现网址已经提示Error:404了, 然后谷歌搜索到可用的下载网址为 ...
- C 风格字符串相加
<<C++ Primer>> 第四版Exercise Section 4.3.1 的4.3.0 有如下题目:编写程序连接两个C风格字符串字面值,把结果存储在C风格字符串中.代码 ...