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. ArcGIS Server

    在ubuntu下安装 10.2 首先修改 /etc/security/limits.conf 添加 kun soft nofile 65535 kun hard nofile 65535 kun so ...

  2. spark介绍2

    上述结果是 map 1 filter 1 map 2 filter 2 map 3 filter 3 map 4 filter 4 即说明是并行,且互不干扰,每个task运行到最后

  3. Delphi xe5如何使用Bluestacks模拟器(用真机或者用猩猩,夜神模拟器,自带的不好用)

    首先,关于这个模拟器问题比较纠结,这是一个关于adb的问题. Delphi XE5会自动识别模拟器和真机,但是你必须先打开模拟器在打开Delphi IDE(Delphi开发环境),否则还得麻烦一会儿. ...

  4. [leetcode] 3. Pascal's Triangle

    第三道还是帕斯卡三角,这个是要求正常输出,题目如下: Given numRows, generate the first numRows of Pascal's triangle. For examp ...

  5. Mybatis 拦截器报错org.apache.ibatis.executor.statement.StatementHandler.prepare(java.sql.Connection)

    出现此错误的原因是MyBatis 3.4.0 之后,StatementHandler的prepare方法做了修改,如下: 在args = { Connection.class }中添加第二个参数,即 ...

  6. ML.NET Cookbook --- 1.如何从文本文件中加载数据?

    使用ML.NET中的TextLoader扩展方法从文本文件中加载数据.你需要知道在文本文件中数据列在那里,它们的类型是什么,在文本文件中什么位置可以找到它们. 请注意:对于ML.NET只读取文件的某些 ...

  7. plsql连接oracle客户端(简单,实用方案)附件

    plsql 连接 oracle 需要在本地安装oracle客户端(附件中下载): 将文件下载下来后,放到任意目录,例如 D:\instantclient_10_2 修改 tnsnames.ora 文件 ...

  8. WPF 之 UI 异步交互

    System.Windows.Application.Current.Dispatcher.BeginInvoke(new Action(()=> { //··················· ...

  9. 域适应(Domain adaptation)

    定义 在迁移学习中, 当源域和目标的数据分布不同 ,但两个任务相同时,这种 特殊 的迁移学习 叫做域适应 (Domain Adaptation). Domain adaptation有哪些实现手段呢? ...

  10. 【转】WinForm多线程学习文档

    源地址:https://www.cnblogs.com/jianglai11/articles/1708330.html 想学习更多,看<Windows 核心编程>