java poi技术基础案例
基础
HSSF - 提供读写Microsoft Excel格式档案的功能。(03版本,处理xls)
XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。(07版本,处理xlsx)
HWPF - 提供读写Microsoft Word格式档案的功能。
HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
HDGF - 提供读写Microsoft Visio格式档案的功能。
依赖
根据需要选择不同版本的依赖
<!--xls(03)-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.9</version>
</dependency>
<!--xlsx(07)-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.9</version>
</dependency>
案例
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.joda.time.DateTime;
import org.junit.Test; import java.io.FileInputStream;
import java.io.FileOutputStream; public class poi2 { String PATH = "D:\\test\\";
/**
* 写工作簿
*/
@Test
public void Write03() throws Exception {
//1.创建工作簿
//03版本
Workbook workbook = new HSSFWorkbook();
//07版本
// Workbook workbook = new XSSFWorkbook();
//2.创建 工作表
Sheet sheet = workbook.createSheet("poi技术测试表");
for (int i = 0; i < 100; i++) {
//3.创建行
Row row1 = sheet.createRow(i);
//4.创建单元格
for (int j = 0; j < 10; j++) {
Cell cell11 = row1.createCell(j);
cell11.setCellValue("row"+ i + " 00" + (j+1));
}
}
//生成一张表(IO流)
// 03版本以xls结尾
FileOutputStream fos = new FileOutputStream(PATH + "poi技术测试表.xls");
//07版本就是使用xlsx结尾
// FileOutputStream fos = new FileOutputStream(PATH + "poi技术测试表.xlsx");
//输出
workbook.write(fos);
//关闭流
fos.close();
System.out.println("文件生成完毕");
}
/**
* 读工作簿
*/
@Test
public void Read03() throws Exception{
//1.获取文件
// 03版本
FileInputStream fis = new FileInputStream(PATH+"poi技术测试表.xls");
//07版本
// FileInputStream fis = new FileInputStream(PATH+"poi技术测试表.xlsx");
//2.创建一个工作簿。使用excel能操作的这边都可以操作!
Workbook workbook = new HSSFWorkbook(fis);
//07版本
// Workbook workbook = new XSSFWorkbook(fis);
//3.获取表
Sheet sheet = workbook.getSheetAt(0);
//当前表中有多少行
int rowCount = sheet.getPhysicalNumberOfRows();
for (int i = 0; i < rowCount; i++) {
//4.获取行
Row row1 = sheet.getRow(i);
//当前行中有多少列
int cellCount = row1.getPhysicalNumberOfCells();
for (int j = 0; j < cellCount; j++) {
//5.获取列
Cell cell1 = row1.getCell(j);
//6.获取行列的值
String stringCellValue = cell1.getStringCellValue();
System.out.println(stringCellValue);
}
}
fis.close();
}
}
java poi技术基础案例的更多相关文章
- java poi技术读取到数据库
https://www.cnblogs.com/hongten/p/java_poi_excel.html java的poi技术读取Excel数据到MySQL 这篇blog是介绍java中的poi技术 ...
- java POI技术之导出数据优化(15万条数据1分多钟)
专针对导出excel2007 ,用到poi3.9的jar package com.cares.ynt.util; import java.io.File; import java.io.FileOut ...
- Java绘图技术基础
public class Demo1 extends JFrame{ MyPanel mp=null; public static void main(String[] args){ Demo1 de ...
- Java分布式应用技术架构介绍
分布式架构的演进 系统架构演化历程-初始阶段架构
- Java分布式应用技术架构
分布式架构的演进 系统架构演化历程-初始阶段架构初始阶段 的小型系统 应用程序.数据库.文件等所有的资源都在一台服务器上通俗称为LAMP特征:应用程序.数据库.文件等所有的资源都在一台服务器上.描述: ...
- Java基础-零拷贝技术应用案例
Java基础-零拷贝技术应用案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 零拷贝技术在Hadoop生态圈中很多组件得到应用,典型的比如kafka组件,它就很成功的应用了零拷贝 ...
- java的poi技术读取和导入Excel实例
本篇文章主要介绍了java的poi技术读取和导入Excel实例,报表输出是Java应用开发中经常涉及的内容,有需要的可以了解一下. 报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用 ...
- _00017 Kafka的体系结构介绍以及Kafka入门案例(0基础案例+Java API的使用)
博文作者:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...
- Java基础扫盲系列(三)— Java内省技术
前言 Java内省技术属于Java基础体系的的一部分,但是很多人都不甚了解.笔者也是在学习Spring源码的过程中遇到该技术模块的.为了完善技术体系,本文将全面的学习该技术.在提到Java内省技术,就 ...
- Java的反射基础技术
今天本人给大家讲解一下Java的反射基础技术,如有不对的或者讲的不好的可以多多提出,我会进行相应的更改,先提前感谢提出意见的各位了!!! 什么是反射? 反射它是根据字节码文件可以反射出类的信息.字段. ...
随机推荐
- Cert Manager 申请SSL证书流程及相关概念-三
中英文对照表 英文 英文 - K8S CRD 中文 备注 certificates Certificate 证书 certificates.cert-manager.io/v1 certificate ...
- STL容器vector
一.什么是Vector 向量(Vector)是一个封装了动态大小数组的顺序容器(Sequence Container).跟任意其它类型容器一样,它能够存放各种类型的对象.可以简单的认为, ...
- 淘宝首页数据采集之js采集
搜索页面采集,数据在控制台哦!!! 搜索页面采集,数据在控制台哦!!! 搜索页面采集,数据在控制台哦!!! 既然能打到控制台,当然也能传到系统!!! 既然能打到控制台,当然也能传到系统!!! 既然能打 ...
- Java Day 2
标识符 凡是变量中需要自己命名的地方都是标识符,例如:包名.类名.变量名等等 标识符的命名规则 1.Java的标识符只能用26个英文字母大小写,0-9的数字,下划线(_),和美元的符号($). 2.标 ...
- freeRTOS检测栈溢出
将FreeRTOSConfig.h里面的configCHECK_FOR_STACK_OVERFLOW设置为2. 随便一个文件里,加入 #include "task.h" void ...
- STM32F4寄存器初始化系列:GPIO
1 static void GPIO_Init(void) 2 { 3 4 //sound 5 GPIO_Set(GPIOB,PIN4,GPIO_MODE_OUT,GPIO_OTYPE_PP,GPIO ...
- 学习Java Day28
今天简单的学习了一下文档的注释,注释插入以/**开始,以*/结束,每个/**...*/文档注释包含标记以及之后紧跟着的自由格式文本 然后类注释必须放在import语句之后,类定义之前: 方式注释必须放 ...
- Vue搭建项目的完整流程 如何搭建一个完整的vue项目 vue项目架构
vue项目架构 技术栈:vue3.vue-router .vuex(和pinia).element plus .axios.ts.sass 1.安装vue3 脚手架+ ts vue create ad ...
- 微信小程序分类菜单激活状态跟随列表滚动自动切换
这里主要用到微信小程序提供的SelectorQuery获取页面节点信息实现,组件用的是微信小程序的scroll-view 逻辑就是获取右侧盒子的节点信息,获取右侧子分类的节点信息,当子分类滑动到顶部的 ...
- mapreduce的使用
mapreduce的使用 以下案例写之前需要导入jar包依赖: <dependencies> <dependency> <groupId>org.apache.ha ...