1、读取excel文件

InputStream is = new FileInputStream(filesrc);
POIFSFileSystem fs = new POIFSFileSystem(is);
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet sheet = wb.getSheetAt(0);

2、获取全部行数

int rows = sheet.getLastRowNum();

3、创建工作簿

Workbook wb = new HSSFWorkbook();//定义一个新的工作簿
FileOutputStream fileOut = new FileOutputStream("d:\\poiDemo.xls");
wb.write(fileOut);
fileOut.close();

4、创建sheet页

Workbook wb = new HSSFWorkbook();//定义一个新的工作簿wb.createSheet("FirstSheet");//创建一个sheet页
wb.createSheet("SecondSheet");//创建第二个sheet页
FileOutputStream fileOut = new FileOutputStream("d:\\poiSheetDemo.xls");

5、创建单元格

Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet("firstSheet");
Row row = sheet.createRow(0);//创建一行
Cell cell = row.createCell(0);//创建一个单元格
cell.setCellValue(1); row.createCell(1).setCellValue(1.2);//创建一个单元格第二列,值是1.2
row.createCell(2).setCellValue("这是一个字符串");//创建一个单元格第三列,值是1.2 FileOutputStream fileOut = new FileOutputStream("d:\\poiSheet.xls");
wb.write(fileOut);
fileOut.close();

6、遍历工作簿

public static void main(String[] args) throws Exception {
InputStream is = new FileInputStream("d:\\遍历名单.xls");
POIFSFileSystem fs = new POIFSFileSystem(is);
HSSFWorkbook wb = new HSSFWorkbook(fs);
HSSFSheet hssfSheet = wb.getSheetAt(0);
if(hssfSheet==null){
return;
}
//遍历行row
for(int rowNum = 0;rowNum<=hssfSheet.getLastRowNum();rowNum++){
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if(hssfRow==null){
continue;
}
//遍历裂cell
for(int cellNum = 0;cellNum<=hssfRow.getLastCellNum();cellNum++){
HSSFCell hssfCell = hssfRow.getCell(cellNum);
if(hssfCell==null){
continue;
}
System.out.print(" "+getValue(hssfCell));
}
System.out.println();
} } private static String getValue(HSSFCell hssfCell){
if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_BOOLEAN){
return String.valueOf(hssfCell.getBooleanCellValue());
}else if(hssfCell.getCellType()==HSSFCell.CELL_TYPE_NUMERIC){
return String.valueOf(hssfCell.getNumericCellValue());
}else{
return String.valueOf(hssfCell.getStringCellValue());
}
}

7、文本提取

InputStream is = new FileInputStream("d:\\遍历名单.xls");
POIFSFileSystem fs = new POIFSFileSystem(is);
HSSFWorkbook wb = new HSSFWorkbook(fs); ExcelExtractor excelExtractor = new ExcelExtractor(wb);
excelExtractor.setIncludeSheetNames(false);//不需要sheet页的名字
System.out.println(excelExtractor.getText());

8、单元格合并

Workbook wb = new HSSFWorkbook();
Sheet sheet = wb.createSheet("sheet1");
Row row = sheet.createRow(1); Cell cell = row.createCell(1);
cell.setCellValue("单元格合并"); sheet.addMergedRegion(new CellRangeAddress(1,2,1,2));//起始行,结束行,起始列,结束列

9、读取和重写工作簿

InputStream inp = new FileInputStream("d:\\demo13.xls");
POIFSFileSystem fs = new POIFSFileSystem(inp);
Workbook wb = new HSSFWorkbook(fs);
Sheet sheet = wb.getSheetAt(0);//获取第一个sheet
Row row = sheet.getRow(0);
Cell cell =row.getCell(0);
if(cell==null){
cell = row.createCell(3); }
cell.setCellType(Cell.CELL_TYPE_STRING);
cell.setCellValue("测试单元格"); FileOutputStream fileOut = new FileOutputStream("d:\\demo13.xls");
wb.write(fileOut);
fileOut.close();

POI基本操作的更多相关文章

  1. java poi 操作

    Java POI 操作Excel(读取/写入) https://www.cnblogs.com/dzpykj/p/8417738.html Java操作Excel之Poi基本操作 https://my ...

  2. Poi对excel的基本操作

    1.创建简单excel public static void main(String[] args) throws Exception { Workbook wb=new HSSFWorkbook() ...

  3. Java使用POI导出excel(上)——基本操作

    相关的介绍参考自:http://zc985552943.iteye.com/blog/1491546 一.概述 1.概念 受上文博文博主的启发,有必要先对excel的各个概念先做了解! //上述基本都 ...

  4. java poi ppt 接口的基本操作

    依赖 在 pom.xml中增加以下依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId& ...

  5. 利用poi导出Excel

    import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.r ...

  6. POI操作Excel

    POI和Excel简介 JAVA中操作Excel的有两种比较主流的工具包: JXL 和 POI .jxl 只能操作Excel 95, 97, 2000也即以.xls为后缀的excel.而poi可以操作 ...

  7. 【完全开源】百度地图Web service API C#.NET版,带地图显示控件、导航控件、POI查找控件

    目录 概述 功能 如何使用 参考帮助 概述 源代码主要包含三个项目,BMap.NET.BMap.NET.WindowsForm以及BMap.NET.WinformDemo. BMap.NET 对百度地 ...

  8. Java利用POI导入导出Excel中的数据

         首先谈一下今天发生的一件开心的事,本着一颗android的心我被分配到了PB组,身在曹营心在汉啊!好吧,今天要记录和分享的是Java利用POI导入导出Excel中的数据.下面POI包的下载地 ...

  9. Apache POI使用详解

    Apache POI使用详解 1.POI结构与常用类 (1)POI介绍 Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案 ...

随机推荐

  1. requestAnimationFrame 定时器

    这个方法是通过递归调用同一方法来不断更新画面以达到动起来的效果,但它优于setTimeout/setInterval的地方在于它是由浏览器专门为动画提供的API,在运行时浏览器会自动优化方法的调用,并 ...

  2. Android Paint以及ColorFilter等

    我们可以通过Paint中大量的setter方法来为画笔设置属性: 这些属性大多我们都可以见名知意,很好理解,即便如此,哥还是带大家过一遍逐个剖析其用法,其中会不定穿插各种绘图类比如Canvas.Xfe ...

  3. FileInputStream和FileOutStream的使用——文件字节输入/输出流

    最近又退回到java EE的学习,这篇博客就来讲解一下字节流中最重要的两个类FileInputStream和FileOutputStream的用法: FileInputStream:全称是文件字节输入 ...

  4. 基于python+selenium的框架思路(二)

    一.如下是用例格式,第一个sheet为用例汇总,后面的sheet为具体的用例步骤 sheet:测试用例 sheet:搜索 sheet:刘江博客验证 二.读取该excel文件取出关键字等信息,作为关键字 ...

  5. ZKEACMS 2.2.1 正式发布,更多特性等您来发现

    前言 如果你还不知道ZKEACMS,不妨先了解一下. ASP.NET MVC 开源建站系统 ZKEACMS 推荐,从此网站“拼”起来 官方地址:http://www.zkea.net/zkeacms ...

  6. iis 部署webapi常见错误及解决方案

    iis 部署webapi常见错误及解决方案 错误一: 原因:asp.net web api部署在Windows服务器上后,按照WebAPI定义的路由访问,老是出现404,但定义一个静态文件从站点访问, ...

  7. ansible 常用模块的使用

    安装 yum -y install ansible 配置文件/etc/ansible/hosts 模块介绍与使用 ping模块 [root@node1 config]# ansible k8s -m ...

  8. 搜索下拉 select美化

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. [agc004d]Teleporter 暴力

    Description 维尼管辖的领土很大,我们可以抽象为n个城市,其中1号点为首都.这n个城市之有n条单向电缆,一条信息经过一条电缆进行传输所需时间会+1s,然而维尼并不能忍受时间白白被续,他要求从 ...

  10. 【bzoj5084】 hashit(广义SAM+set)

    题面 传送门 题解 后缀平衡树是个啥啊我不会啊-- 那么我们来考虑一下\(SAM\)的做法好了 不难发现它的本义是要我们维护一棵\(trie\)树,并求出\(trie\)树上每一个节点到根的这段串的不 ...