Java操作Excel之POI简单例子
/**
* 利用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简单例子的更多相关文章
- 一脸懵逼学习Java操作Excel之POI(Apache POI)
Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 1:下面简单的程序来创建一个空白Microsoft ...
- java操作excel总结---poi
前不久做过Excel的导入导出功能,其主要的难点是java如何操作Excel文档.现在就来介绍一下利用Apache的poi如何操作Excel. 1.准备工作:导入Apache POI的相关jar包,P ...
- Java 操作Excel 之Poi(第一讲)
1.Poi 简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能.HSSF - 提供读写Micros ...
- Java操作excel(POI)
由于在项目中使用了将excel数据导入到数据库.在这里分享一下. 这里使用的POI方式,支持两种格式(xls,xlsx) package com.entity; import java.io.File ...
- java操作Excel的poi基础语法
创建一个简单的实列 package com.java.poi; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache ...
- java操作Excel的poi的简介
一.POI概述 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. 结构: HSSF - 提供读写Mi ...
- java操作Excel之POI(5)利用POI实现使用模板批量导出数据
后台导出方法: 在源文件夹src下面放个准备好的模板:/com/cy/template/userExportTemplate.xls,这个模板有头部一行: /** * 后台导出方法 * 利用POI实现 ...
- java操作Excel之POI(4)利用POI实现数据的批量导出
后台导出方法: /** * 后台导出方法 * 利用POI实现数据的批量导出 */ public String export() throws Exception{ Connection con = n ...
- Java操作Excel之Poi
package com.java1234.poi; import java.io.FileOutputStream; import org.apache.poi.hssf.usermodel.HSSF ...
随机推荐
- kafka之一:Windows上搭建Kafka运行环境
搭建环境 1. 安装JDK 1.1 安装文件:http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-213315 ...
- oop的方式来操纵时间
减少return 减少传参. 主要是在调用上比以前强大很多,以前很怕操作时间,在一堆函数中传来传去.这个调用爽. class DatetimeConverter: DATETIME_FORMATTER ...
- python操作sql server2008 pyodbc
使用Python通过PyODBC连接数据的注意事项 今天使者用PyODBC连接数据库,试了很久才出来,现把一些心得体会和大家分享! 一.PyODBC的下载地址: http://code.google. ...
- centos7 firewalld使用
转 http://blog.csdn.net/jamesge2010/article/details/52449678 1.firewalld的基本使用 启动: systemctl start fir ...
- C++知识点总结(二)
1.字符串的部分拷贝 ① 利用标准库函数strncpy(),可以将一字符串的一部分拷贝到另一个字符串中.strncpy()函数有3个参数:第一个参数是目录字符串:第二个参 数是源字符串:第三个参数是一 ...
- 使用showConfirmDialog显示确认框
------------------siwuxie095 工程名:TestJOptionPane 包名:com.siwuxie095.s ...
- php学习笔记-可变变量
看一个例子. <?php $a = 'hello'; $hello = 'hi'; echo $$a; ?> 如果一个变量名前面有两个美元符号,那么这个变量就叫做可变变量.就拿上面这个举例 ...
- p2345 奶牛集会
传送门 题目 约翰的N 头奶牛每年都会参加“哞哞大会”.哞哞大会是奶牛界的盛事.集会上的活动很 多,比如堆干草,跨栅栏,摸牛仔的屁股等等.它们参加活动时会聚在一起,第i 头奶牛的坐标为Xi,没有两头奶 ...
- 使用 Node.js 实现简单的 Webhook
距离 Node.js 这个东西出来已经过了好久了,感觉现在的前端如果不会点 Node.js 就有点太落后于时代啦.我接触它是从去年暑假开始的,当时在写一个比较神奇的东西,就顺便接触了一下.虽然网传 n ...
- URAL 2018 The Debut Album (DP)
题意:给出n长度的数列,其实1的连续个数不超过a,2的连续个数不超过b. 析:dp[i][j][k] 表示前 i 个数,以 j 结尾,并且连续了k个长度,要用滚动数组,要不然MLE. 代码如下: #p ...