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的反射基础技术,如有不对的或者讲的不好的可以多多提出,我会进行相应的更改,先提前感谢提出意见的各位了!!! 什么是反射? 反射它是根据字节码文件可以反射出类的信息.字段. ...
随机推荐
- elasticsearch实现基于拼音搜索
目录 1.背景 2.安装拼音分词器 3.拼音分词器提供的功能 4.简单测试一下拼音分词器 4.1 dsl 4.2 运行结果 5.es中分词器的组成 6.自定义一个分词器实现拼音和中文的搜索 1.创建m ...
- ionic+vue+capacitor系列笔记--常见报错以及解决
1.Require statement not part of import statement.(@typescript-eslint/no-var-requires) 解决 .eslintrc.j ...
- flutter Error:Cannot run with sound null safety, because the following dependencies don't support
学习flutter新版本的路上,真的是一天一个新惊喜啊 今天遇到的坑是 Flutter 升级高版本后,运行和build 报错 Error: Cannot run with sound null saf ...
- WPF中使用WebView2控件
目录 WebView2简介 概述 优势 支持的运行时平台 进程模型 基本使用 安装WebView2运行时 安装WebView2Sdk 打开一个网页 导航事件 打开一个网页的过程 更改url的过程 空u ...
- 【Android 4.4】内存文件系统(tmpfs)的创建与使用
前言说明 某些情况下,需要缓存一些文件到磁盘中,我们可以借助 tmpfs 文件系统,来提升读写缓存文件的速度,并且也可以避免频繁读写缓存文件所带来的对 flash 的寿命影响. 使用方法 通过 mkd ...
- Python实用代码片段(1)-rot13加密
Python之禅:THIS.PY 你安装了python之后,能在Lib目录下找到一个this.py的文件,就是此处的内容. s = """Gur Mra bs Clgub ...
- YonBuilder移动开发平台App拉起第三方应用
在App的开发过程中,有一种常见场景,就是拉起第三方app,那么使用YonBuilder移动开发做app的时候,是怎么拉起第三方App的呢,下边我们讲一下步骤. 我们以安卓应用打开支付宝为例进行说明: ...
- Android 初代 K-V 存储框架 SharedPreferences,旧时代的余晖?
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. 前言 大家好,我是小彭. SharedPreferences 是 Android 平台上轻量级的 K-V ...
- 【源码】RapidJSON 源码剖析(0.1):调试工具 GDB 的使用
[源码]RapidJSON 源码剖析(0.1):调试工具 GDB 的使用 正式开始源码阅读之前,有必要了解一下源码阅读中用到的调试工具 GDB. GDB(GNU Debugger) 是一种可以运行在多 ...
- Uncaught ReferenceError: Cannot access 'constantRouterMap' before initialization
这个问题可以在 main.js 中,调整 import store from '@/store 和 import router from @/router 的先后顺序进行解决 router 在 s ...