基础

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技术基础案例的更多相关文章

  1. java poi技术读取到数据库

    https://www.cnblogs.com/hongten/p/java_poi_excel.html java的poi技术读取Excel数据到MySQL 这篇blog是介绍java中的poi技术 ...

  2. java POI技术之导出数据优化(15万条数据1分多钟)

    专针对导出excel2007 ,用到poi3.9的jar package com.cares.ynt.util; import java.io.File; import java.io.FileOut ...

  3. Java绘图技术基础

    public class Demo1 extends JFrame{ MyPanel mp=null; public static void main(String[] args){ Demo1 de ...

  4. Java分布式应用技术架构介绍

    分布式架构的演进 系统架构演化历程-初始阶段架构

  5. Java分布式应用技术架构

    分布式架构的演进 系统架构演化历程-初始阶段架构初始阶段 的小型系统 应用程序.数据库.文件等所有的资源都在一台服务器上通俗称为LAMP特征:应用程序.数据库.文件等所有的资源都在一台服务器上.描述: ...

  6. Java基础-零拷贝技术应用案例

    Java基础-零拷贝技术应用案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 零拷贝技术在Hadoop生态圈中很多组件得到应用,典型的比如kafka组件,它就很成功的应用了零拷贝 ...

  7. java的poi技术读取和导入Excel实例

    本篇文章主要介绍了java的poi技术读取和导入Excel实例,报表输出是Java应用开发中经常涉及的内容,有需要的可以了解一下. 报表输出是Java应用开发中经常涉及的内容,而一般的报表往往缺乏通用 ...

  8. _00017 Kafka的体系结构介绍以及Kafka入门案例(0基础案例+Java API的使用)

    博文作者:妳那伊抹微笑 itdog8 地址链接 : http://www.itdog8.com(个人链接) 博客地址:http://blog.csdn.net/u012185296 博文标题:_000 ...

  9. Java基础扫盲系列(三)— Java内省技术

    前言 Java内省技术属于Java基础体系的的一部分,但是很多人都不甚了解.笔者也是在学习Spring源码的过程中遇到该技术模块的.为了完善技术体系,本文将全面的学习该技术.在提到Java内省技术,就 ...

  10. Java的反射基础技术

    今天本人给大家讲解一下Java的反射基础技术,如有不对的或者讲的不好的可以多多提出,我会进行相应的更改,先提前感谢提出意见的各位了!!! 什么是反射? 反射它是根据字节码文件可以反射出类的信息.字段. ...

随机推荐

  1. 狂神——SpringSecurity入门例子(设置不同用户访问权限)

    文章目录 简介 SpringSecurity环境搭建 实现界面的路由跳转 效果 用户认证和授权 授权 认证 效果 注销及权限控制 注销 权限控制 记住我及首页定制 参考资料 简介 狂神的Springb ...

  2. Solon Java Framework v1.12.2 发布

    一个更现代感的 Java 应用开发框架:更快.更小.更自由.没有 Spring,没有 Servlet,没有 JavaEE:独立的轻量生态.主框架仅 0.1 MB. @Controller public ...

  3. 被iframe页面更改顶层的跳转链接

    界面被其他网页Iframe,需要修改顶层链接---方法如下 <!DOCTYPE html> <html lang="en"> <head> &l ...

  4. Codeforces Round #601 (Div. 2) A-E

    比赛链接 A 题意 给两个数字 \(a,b\) ,每次操作可以使 \(a\) 加上 \(+1,+2,+5,-1,-2,-5\) 中的一个数,求最少多少次操作可以将 \(a\) 变成 \(b\) . 题 ...

  5. win32com操作word API精讲 第十集 Paragraphs & Paragraph接口 (一)

    本课程<win32com操作word API精讲&项目实战>以视频为主,文字为辅,公众号ID:一灯编程 在word编程中,Range和Paragraph(s)接口无愧于劳模接口的称 ...

  6. qt获取子控件坐标

    QPoint pos = ui->m_blt->mapToGlobal(QPoint(0, 0)); 就可以了.

  7. 腾讯出品小程序自动化测试框架【Minium】系列(六)常见组件的处理

    写在前面 我发现一件神奇的事,当你学一门新技术或者新的知识点遇到不会的时候,真的可以先放一放,第二天再去学习,也许说不定也就会了. 为什么这么说? 昨天文章断断续续的写了近一天,有一个组件不认识,自然 ...

  8. Node.js学习笔记----day03

    认真学习,认真记录,每天都要有进步呀!!! 加油叭!!! 一.Node中的模块系统 使用Node编写应用程序主要就是在使用 EcmaScript 和浏览器不一样的是,在Node中没有BOM.DOM 核 ...

  9. 论文翻译:2022_Phase-Aware Deep Speech Enhancement: It’s All About The Frame Length

    摘要 虽然相位感知语音处理近年来受到越来越多的关注,但大多数帧长约为32 ms的窄带STFT方法显示出相位对整体性能的影响相当温和.与此同时,现代基于深度神经网络(DNN)的方法,如Conv-TasN ...

  10. vscode安装教程(含插件配置)

    1.下载 下载地址:Download Visual Studio Code VS code,全称Visual Studio Code,是Microsoft(微软)在2015年4月30日发布的,编写现代 ...