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. ThinkPHP项目总结

    1.当你 require ThinkPHP之后,会自动在App目录下生成 common, Home, Runtime 三个文件夹. 2.输入网址 http://localhost/blog/app/i ...

  2. struts.xml语法

    <!-- 1. struts.xml配置常量, 用来覆盖struts.properties中的默认常量配置 一般情况下, 这个配置放在struts.xml中, 不要放在各个模块的xml中. co ...

  3. wemall app商城源码Android之ListView异步加载网络图片(优化缓存机制)

    wemall-mobile是基于WeMall的android app商城,只需要在原商城目录下上传接口文件即可完成服务端的配置,客户端可定制修改.本文分享wemall app商城源码Android之L ...

  4. 自己做得一个用于直观观察css3 transform属性中的rotate 3D效果

    这段代码还是非常简单,是看了一个老师的视频受的启发,也是调用了很多个函数,所以比较杂乱吧! <!DOCTYPE html><html lang="en">& ...

  5. c#调用aapt查看apk文件信息功能实现

    第一篇随笔就此开始. 1. 起源 思路源自于项目开发过程中.需要确认apk文件版本以验证其功能差异以便于定位问题,于是度娘,得到APK信息查看器(APK-info)这个工具,其版本号为0.2.它能显示 ...

  6. web应用怎么跳过某些Filter

    在做的项目需要用到cas,而使用cas的话,需要在client的webapp的web.xml中配置好多个filter,但是需要兼容到老的逻辑,如果满足某些条件,就不走cas的filter,满足另外一些 ...

  7. “倔驴”一个h5小游戏的实现和思考(码易直播)——总结与整理

    3月23日晚上8点半(中国队火拼韩国的时候),做了一期直播分享.15年做的一个小游戏,把核心代码拿出来,现场讲写了一遍,结果后面翻车了,写错了两个地方,导致运行效果有点问题,直播边说话边写代码还真不一 ...

  8. java程序包不存在

    当把classpath和path设置好之后. 自己写了个类的,然后放在test_package\mypackage路径下.主函数要用到.但是却出错了. 我一开始怀疑自己的classpath配置错了,在 ...

  9. shell中的特殊变量和函数传参

    shell中的特殊变量 $? :上一个命令的执行状态返回值 $#::参数的个数 $*:参数列表,所有的变量作为一个字符串 $@:参数列表,每个变量作为单个字符串 $1-9,${10}:位置参数 $$: ...

  10. 免费SSL证书PK付费SSL证书 花落谁家

    3月17日和18日,Google Chrome 57.0.2987.110与Mozilla Firefox 52.0.1分别上线,而这两款浏览器都出现了一个共同点:打压HTTP协议.在Firefox ...