/**
* 利用POI操作Excel表单
*
* 需要jar包:
* HSSF针对03及以前版本,即.xls后缀
* |---poi-3.16.jar
* XSSF针对07及以后版本,即xlsx后缀
* |---poi-3.16.jar
* |---poi-ooxml.3.16.jar
* |---poi-ooxml-schemas-3.16.jar
* |---xmlbeans-2.6.0.jar
* |---commons-collections4-4.1.jar
*
* 工作簿:Workbook
* 工作表:Sheet
* 行: Row
* 表格:Cell
*/
public class Demo { /**
* 读取Excel表格
* @throws IOEception
* @throws InvalidFormatException
* @throws EncryptedDocumentException
*/
@Test
public void readExcel() throws EncryptedDocumentException, InvalidFormatException, IOException {
//工作簿
Workbook workbook = WorkbookFactory.create(new File("src/userExce1.xls"));
//工作表
Sheet sheet = workbook.getSheetAt();
//行
Row row = sheet.getRow();
//列
Cell cell = row.getCell(); System.out.println("表格值为:" + cell.getStringCellValue());
} /**
* 创建Excel表格
* @throws IOException
* @throws InvalidFormatException
* @throws EncryptedDocumentException
*/
@Test
public void writeExcel() throws EncryptedDocumentException, InvalidFormatException, IOException {
//工作簿
Workbook workbook = new XSSFWorkbook();
//工作表
Sheet sheet = workbook.createSheet("我的第一个sheet");
//行
Row row = sheet.createRow();
//列
Cell cell = row.createCell(); cell.setCellValue("哈哈表格插入一个内容"); workbook.write(new FileOutputStream("c:/test.xlsx"));
} /**
* 读取Excel表格,修改样式和内容并保存
* @throws IOEception
* @throws InvalidFormatException
* @throws EncryptedDocumentException
*/
@Test
public void readAndModifyExcel() throws EncryptedDocumentException, InvalidFormatException, IOException { String filename = "src/userExcel.xlsx";
File file = new File(filename); System.out.println(file.getAbsolutePath()); Workbook workbook = WorkbookFactory.create(file);
Sheet sheet = workbook.getSheetAt(); //合并单元格,在工作表添加合并单元格
CellRangeAddress headSpan = new CellRangeAddress(, , , );
sheet.addMergedRegion(headSpan); //在合并的位置设置表头文字
Row row = sheet.createRow();
Cell cell = row.createCell();
cell.setCellValue("这是表头"); //写入文本中
String savedName = filename.matches("\\S+\\.xls") ? "c:/" + filename.replace("src/", "") : "c:/" + filename.replace("src/", "");
workbook.write(new FileOutputStream(savedName));
} }

excel基础元素

工作簿
工作表(属于工作簿)
行(属于工作表)
单元格(属于行;由行和列确定)

-------------操作excel
1、创建/读取工作簿
2、创建/读取工作表
3、创建/读取行
4、创建/读取单元格

-----------excel样式

合并单元格对象(CellRangeAddress)属于工作簿;运用于工作表

CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol) 起始行号,结束行号,起始列号,结束列号

样式是属于工作簿的;运用于单元格

字体是属于工作簿的;加载于样式;通用样式运用于单元格

Java操作Excel之POI简单例子的更多相关文章

  1. 一脸懵逼学习Java操作Excel之POI(Apache POI)

    Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 1:下面简单的程序来创建一个空白Microsoft ...

  2. java操作excel总结---poi

    前不久做过Excel的导入导出功能,其主要的难点是java如何操作Excel文档.现在就来介绍一下利用Apache的poi如何操作Excel. 1.准备工作:导入Apache POI的相关jar包,P ...

  3. Java 操作Excel 之Poi(第一讲)

    1.Poi 简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能.HSSF - 提供读写Micros ...

  4. Java操作excel(POI)

    由于在项目中使用了将excel数据导入到数据库.在这里分享一下. 这里使用的POI方式,支持两种格式(xls,xlsx) package com.entity; import java.io.File ...

  5. java操作Excel的poi基础语法

    创建一个简单的实列 package com.java.poi; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache ...

  6. java操作Excel的poi的简介

    一.POI概述 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 结构: HSSF - 提供读写Mi ...

  7. java操作Excel之POI(5)利用POI实现使用模板批量导出数据

    后台导出方法: 在源文件夹src下面放个准备好的模板:/com/cy/template/userExportTemplate.xls,这个模板有头部一行: /** * 后台导出方法 * 利用POI实现 ...

  8. java操作Excel之POI(4)利用POI实现数据的批量导出

    后台导出方法: /** * 后台导出方法 * 利用POI实现数据的批量导出 */ public String export() throws Exception{ Connection con = n ...

  9. Java操作Excel之Poi

    package com.java1234.poi; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSF ...

随机推荐

  1. DTP模型之一:(XA协议之一)XA协议、二阶段2PC、三阶段3PC提交

    XA协议 XA是一个分布式事务协议,由Tuxedo提出.XA中大致分为两部分:事务管理器和本地资源管理器.其中本地资源管理器往往由数据库实现,比如Oracle.DB2这些商业数据库都实现了XA接口,而 ...

  2. AjaxMethod的使用

        AjaxMethod的使用 使用AjaxMethod要满足一下几点: 1.如果还没有ajax.dll文件,就先下载一个来 2.将ajax.dll添加到项目引用中:在VS的解决方案资源管理器中右 ...

  3. C语言入门题

    1. 如下语句通过算术运算和逻辑运算之后 i 和 j 的结果是()         int i=0;         int j=0;         if((++i>0)||(++j>0 ...

  4. spring+jax 出现java.io.Serializable is an interface, and JAXB can't handle interfaces

    spring+jax 出现java.io.Serializable is an interface, and JAXB can't handle interfaces 原因是我的webservice方 ...

  5. mac 创建快捷方式

    一.替身文件 mac上有个功能叫“制作替身”.使用 ⌘+⇧+鼠标左键拖拽   可以生成一个文件的替身文件.此替身文件相当于windows的快捷方式. 二.link文件 link文件也可以做快捷方式.还 ...

  6. 面试题: !=!=未看12 略多 sql语句练习 非常 有用

    JAVA面试总结 2015年03月25日 16:53:40 阅读数:4306 刚才看到的,先转载过来,没准以后用到…… 面试总结 2013年8月6日: 问题2:Hibernate的核心接口有哪些?   ...

  7. Java堆内存划分

    根据对象的存活率(年龄)Java堆内存划分为3种,新生代,老年代,永久代: 1.新生代 比如我们在方法中区new一个对象,那这方法调用完毕后,对象就会被回收,这就是一个典型的新生代对象. 现在的商业虚 ...

  8. C#中小数转化为string的问题

    在C#中,把小数转化为string, 比如 45.12, 转换为string时,应该就是"45.12" 但是在项目开发中,开发法国的branch时,由于culture使用的是FR- ...

  9. C#——各种参数,扩展方法

    余近日复习C#之基础知识,故作一随笔,也是对此前几篇博客中所记录的传值参数相关内容之汇总,还望诸位加以批评指正. 该博客包括以下内容: 传值参数 引用参数 输出参数 数组参数 具名参数 可选参数 扩展 ...

  10. C#的常量和变量以及其作用域和命名规范

    1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须在定义的时候初始化. 语法: const 类型名 常量名=常量表达式 ...