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表、添加数据、读取数据的更多相关文章

  1. (最全最灵活地)利用Jxl工具包实现Excel表的内容读取 、写入(可向已有表中追加数据)

    1.引子 (1)读取 Jxl工具比较强大,可以方便地实现Excel表的读取和写入.另一款工具Poi也具有相似的功能,并且功能更多,运用也相对复杂.Poi读取Excel表内容时,需要先判断其内容格式,如 ...

  2. Excel表单的读取与处理 PHPExcel与Apache POI

    近日,连续遇到需要对Excel表单内容进行读取的需求.一个是在php环境下,一个是在java环境下.这里简要记录这两种环境,利用第三方提供的函数库对Excel进行处理的方法. d0710 : Fini ...

  3. Excel上传并读取数据

    最近一段时间,维护一个旧系统,其中有一个功能,是把Excel上传,并读取数据进行维护,然后转插入至SQL数据库中.下面Insus.NET使用asp.net 标准上传控件: <asp:FileUp ...

  4. 『TensorFlow』SSD源码学习_其五:TFR数据读取&数据预处理

    Fork版本项目地址:SSD 一.TFR数据读取 创建slim.dataset.Dataset对象 在train_ssd_network.py获取数据操作如下,首先需要slim.dataset.Dat ...

  5. Java通过poi创建Excel文件并分页追加数据

    以下的main函数,先生成一个excel文件,并设置sheet的名称,设置excel头:而后,以分页的方式,向文件中追加数据 maven依赖 <dependency> <groupI ...

  6. JAVA实现创建Excel表并导出(转发)

    <span style="font-family:Verdana, Arial, Helvetica, sans-serif;line-height:25.2px;background ...

  7. egg 框架自动创建数据库表结构

    // {app_root}/app.js module.exports = app => { app.beforeStart(async () => { // 从配置中心获取 MySQL ...

  8. ALTER---为已创建的表添加默认值

    alter table table_name modify column_name default default_value; 例: alter table userinfo modify emai ...

  9. 导出数据库数据到Excel表

    后台需要将用户信息数据导入到Excel表中提供给相关人员: 首先查询数据就不多说了: 导入Excel表直接亮代码(采用的是jxl的jar包提供的方法): public static File Impo ...

随机推荐

  1. web前端页面性能

    前段性能的意义 对于访问一个网站,最花费时间的并不是后端应用程序处理以及数据库等消耗的时间,而是前端花费的时间(包括请求.网络传输.页面加载.渲染等).根据web优化的黄金法则:80%的最终用户响应时 ...

  2. Java和C++的对比

    事实上, Java 本来就是从 C++衍生出来的. C++和 Java 之间仍存在一些显著的差异.可以这样说,这些差异代表着技术的极大进步.一旦我们弄清楚了这些差异,就会理解为什么说 Java 是一种 ...

  3. Spring AOP的解读

    一.为什么会有AOP 在日常的开发中经常会有这样一种场景,支付相关的业务中经常需要记录日志,而记录的日志大体相同:这样就会造成支付组件和日志组件强关联,耦合在一起了.而AOP的出现就是为了解决这种问题 ...

  4. maven 项目发布时,无法引用 修改的domain 问题

    其实是在bo 的smart-score 里面引用了这个interface    所以还要把 smart -Score 重新发布一下.让这个smart 引用 新的 Player-service  中的i ...

  5. C#的数据类型、数据类型的转化

    一.c#有15个预定义类型,其中13个是值类型,两个是引用类型(string 和 object)这里主要说明整型.浮点型.布尔型以及引用型 1.整型数据 2.浮点型 浮点型从精度有低到高有float. ...

  6. 去掉Dedecms幻灯片的标题文字和绿色背景

    在操作dedecms站群中的站,因为看到首页的幻灯片Flash显示标题和文字,显得有点突兀,觉得应该去除dedecms 幻灯片默认的文字标题和背景,这样会感觉舒服些,下面教大家如何在模板当中去除ded ...

  7. Android学习总结(十二)———— BaseAdapter优化

    一.BaseAdapter的基本概念 对于Android程序员来说,BaseAdapter肯定不会陌生,灵活而优雅是BaseAdapter最大的特点.开发者可以通过构造BaseAdapter并搭载到L ...

  8. layer弹出层框架alert与msg详解

    ayer至今仍作为layui的代表作,她的受众广泛并非偶然,而是这五年多的坚持,不断完善和维护.不断建设和提升社区服务,使得猿们纷纷自发传播,乃至于成为今天的Layui最强劲的源动力.目前,layer ...

  9. Python开发【第十八篇】Web框架之Django【基础篇】

    一.简介 Python下有许多款不同的 Web 框架,Django 是重量级选手中最有代表性的一位,许多成功的网站和APP都基于 Django. Django 是一个开放源代码的Web应用框架,由 P ...

  10. ionic的安装

    一.学习一样新的框架的步骤: 1.先找到人家的网站, 一个个点过来看看 2.我们前端的框架,分css与js 3.先学css 再学js 4.要学会复制黏贴代码, 实际演练代码的效果 二.ionic环境安 ...