当前位置: 首页 > news >正文

apache-poi

excel类型

excel分为03版本和07版本

  • 03版本 new HSSFWorkbook();
    优点:速度快
    缺点:只能写入65536行数据
    文件类型:.xls
  • 07版本 new XSSFWorkbook();
    优点:不限制写入数量
    缺点:容易造成内存溢出(OOM),速度慢
    文件类型:.xlsx
  • 07加速版 new SXSSFWorkbook();
    在写入过程中会产生临时文件,需要手动清除:((SXSSFWorkbook)wb).dispose();
    文件类型:.xlsx

依赖

<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version>
</dependency>
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>4.1.2</version>
</dependency>

写入

private static void write(){// 创建一个工作簿Workbook wb = new HSSFWorkbook();// 创建一个工作表Sheet sheet = wb.createSheet("sheet页名称");// 创建一行Row row = sheet.createRow(0);// 创建一个单元格Cell cell = row.createCell(0);// 生成一张表FileOutputStream outputStream = new FileOutputStream(PATH + "demo.xls");wb.write(outputStream);
}

读取

private static void read(){FileInputStream inputStream = new FileInputStream(PATH + "demo.xls");Workbook wb = new HSSFWorkbook(inputStream);Sheet sheet = wb.getSheetAt(0);Row row = sheet.getRow(0);Cell cell = row.getCell(0);// 获取sheet页总行数int rowCount = sheet.getPhysicalNumberOfRows();// 获取一行的列数int cellCount = row.getPhysicalNumberOfCells();// 获取单元格的数据类型CellType cellType = cell.getCellType();switch (cellType) {case STRING:cell.getStringCellValue();break;// 读字符串case BOOLEAN:cell.getBooleanCellValue();break;// 读布尔值case FORMULA:cell.getCellFormula();break;// 读公式case BLANK:break;case ERROR:break;case NUMERIC:if (HSSFDateUtil.isCellDateFormatted(cell)) {cell.getDateCellValue();// 读日期} else {// 为防止数字过长,将数字以字符串的格式输出cell.setCellType(CellType.STRING);cell.getStringCellValue();}break;}
}

计算公式

// 创建公式计算器
FormulaEvaluator formulaEvaluator = new HSSFFormulaEvaluator((HSSFWorkbook) wb);
// 执行计算
CellValue evaluate = formulaEvaluator.evaluate(cell);
evaluate.formatAsString();

03、07通用版


相关文章:

apache-poi

excel类型 excel分为03版本和07版本 03版本 new HSSFWorkbook(); 优点&#xff1a;速度快 缺点&#xff1a;只能写入65536行数据 文件类型&#xff1a;.xls07版本 new XSSFWorkbook(); 优点&#xff1a;不限制写入数量 缺点&#xff1a;容易造成内存溢出(OOM)&#xff0c;速度…...

TOD和PPS精确时间同步技术

介绍 PPS和TOD PPS和TOD是两种用于精确时间同步的技术&#xff0c;它们在许多领域都有广泛的应用&#xff0c;总的来说&#xff0c;PPS和TOD被广泛应用于各种需要高度精确时间同步的领域&#xff0c;包括通信、测量、测试、系统集成和计算机网络等。 一、PPS PPS&#xff08…...

通过一个例子理解pytest的fixture的使用

需求 希望编写登陆web后做一些操作的测试用例&#xff0c;使用pytest框架具体测试用例执行前&#xff0c;需要先拿到web的token&#xff0c;这个获取token的动作只执行一次 例一 先上测试用例代码 adminpc-1:~$ cat my_test.py import pytestclass TestWebLogin:pytest.fi…...

单片机BootLoader是咋回事?

BootLoader的定义&#xff1a; CPU进入APP之前运行的一小段程序代码就叫做BootLoader。它是由程序员编写的&#xff0c;作用是更新应用程序。这也就说明了只有BootLoader的单片机才可以升级。有的产品有升级的需要就需要BootLoader了。 单片机的启动过程可以这么叙述&#xff…...

python与机器学习1,机器学习的一些基础知识(完善ing)

目录 1 关于阈值θ和偏移量b和公式变形的由来 2 激活函数 3 关于回归&#xff0c;分类等 4 关于模型 5 关于回归 6 关于分类 7 关于误差和梯度下降 7-2 最小二乘法修改θ 8 深度学习 10 分类 11 参考书籍 1 关于阈值θ和偏移量b和公式变形的由来 比如很多信息传入可…...

移动应用开发介绍及iOS方向学习路线(HUT移动组版)

移动应用开发介绍及iOS方向学习路线&#xff08;HUT移动组版&#xff09; 前言 ​ 作为一个HUT移动组待了一坤年&#xff08;两年半&#xff09;多的老人&#xff0c;在这里为还在考虑进哪个组的萌新们以及将来进组的新朋友提供一份关于移动应用开发介绍以及学习路线的白话文…...

vue+uniapp校园寻物失物招领平台 微信小程序1f6z5

系统中的核心用户是管理员&#xff0c;管理员登录后&#xff0c;通过管理员菜单来管理后台系统。主要功能有&#xff1a;首页、个人中心、用户管理、物品分类管理、物品信息管理、物品归还管理、留言板管理、系统管理等功能。管理员用例如图3-7所示。 对于本网上失物招领小程序…...

Linux内核--内存管理(三)物理内存分页机制--kmalloc及slub机制

一、引言 二、slub机制 ------>2.1、slub分配原理slub原理 ------>2.2、slub分配原理 ------>2.3、slub释放原理 ------>2.4、SLUB分配器 三、slub数据结构 ------>3.1、kmem_cache ------>3.2、kmem_cache_cpu ------>3.3、kmem_cache_node --…...

Shell - cron_protect.sh 监控 Python、Streaming 程序

目录 一.引言 二.Flink 程序监控 1.shell 脚本 2.crontab 配置 三.Python 程序监控 1.shell 脚本 2.crontab 配置 四.总结 一.引言 业务有流式处理数据的需求&#xff0c;需要 7x24 通过 Flink Python 程序进行处理。为了监控 Flink 与 Python 的程序运行状态并在程…...

MSB3541 Files 的值“<<<<<<< HEAD”无效。路径中具有非法字符。

MSB3541 Files 的值“<<<<<<< HEAD”无效。路径中具有非法字符。 一般来说出现这个问题是因为使用git版本控制工具合并代码出现了问题&#xff0c;想要解决也很简单。 如图点击错误后定位到文件&#xff0c;发现也没有什么问题。 根据错误后边的提示&a…...

【赠书第9期】巧用ChatGPT高效搞定Excel数据分析

文章目录 前言 1 操作步骤 1.1 数据清理和整理 1.2 公式和函数的优化 1.3 图表和可视化 1.4 数据透视表的使用 1.5 条件格式化和筛选 1.6 数据分析技巧 1.7 自动化和宏的创建 2 推荐图书 3 粉丝福利 前言 ChatGPT 是一个强大的工具&#xff0c;可以为你提供在 Exce…...

会声会影2024旗舰版系统配置要求及格式支持

会声会影2024旗舰版是一款广受欢迎的视频编辑软件&#xff0c;它的最新版本&#xff0c;会声会影2023&#xff0c;已经发布。在这篇文章中&#xff0c;我们将探讨会声会影2024旗舰版系统配置要求及格式支持 会声会影2024是一款专业的视频剪辑软件&#xff0c;能够帮助用户制作高…...

【部署运维】docker:入门到进阶

0 前言 部署运维博客系列一共有三篇&#xff1a; 拥抱开源&#xff0c;将工作中的经验分享出来&#xff0c;尽量避免新手踩坑。 【部署运维】docker&#xff1a;入门到进阶 【部署运维】kubernetes&#xff1a;容器集群管理掌握这些就够了 【部署运维】pythonredisceleryd…...

鸿蒙开发学习——应用程序框架

文章目录 UIAbility的生命周期Create状态WindowStageCreateForeground和Background前后台展示控制onWindowStageDestroyDestory 总结 UIAbility的生命周期 感觉这里他讲的不清晰&#xff0c;UIAbility的4个声明周期是Create、Foreground&#xff08;桌面展示&#xff09;、Back…...

Linux dd命令详解:如何从标准输入或文件中读取、转换并输出数据(附实例教程和注意事项)

Linux dd命令介绍 Linux dd命令用于读取、转换并输出数据。dd可以从标准输入或文件中读取数据&#xff0c;根据指定的格式来转换数据&#xff0c;再输出到文件、设备或标准输出。这个命令在备份硬盘、创建启动盘、数据恢复等场景中非常有用。 Linux dd命令适用的Linux版本 d…...

Python——常见内置模块

Python 模块&#xff08;Modules&#xff09;1、概念模块函数类变量2、分类3、模块导入的方法&#xff1a;五种4、使用import 导入模块5、使用from……import部分导入6、使用as关键字为导入模块或功能命名别名7、模块的搜索目录8、自定义模块 常见内置模块一、math模块二、rand…...

JAVA毕业设计112—基于Java+Springboot+Vue的宠物领养社区小程序(源码+数据库)

基于JavaSpringbootVue的宠物领养社区小程序(源码数据库)112 一、系统介绍 本系统前后端分离带小程序 小程序&#xff08;用户端&#xff09;&#xff0c;后台管理系统&#xff08;管理员&#xff09; 小程序&#xff1a; 登录、注册、宠物领养、发布寻宠、发布领养、宠物社…...

golang log模块使用

在Go中&#xff0c;log 包是用于输出日志信息的标准库。以下是一些基本的 log 包的使用示例&#xff1a; 基本用法&#xff1a; package mainimport ("log" )func main() {log.Println("This is a log message.") } 运行程序&#xff0c;你会在控制台看到日…...

软件开发中的抓大放小vs极致细节思维

最近在开发过程中&#xff0c;遇到了好多次 “这个需求点这次要不要做&#xff1f;” 的问题&#xff0c; 主要有两方阵营&#xff0c;比如以研发主导的 “这次先不做、等必要的时候再做” &#xff0c;另外一方是以PM主导的 “这个不做需求不完整&#xff0c;可能影响用户体验…...

java文件上传以及使用阿里云OSS

JavaWeb 文件上传本地存储阿里云OSS配置文件 yml配置文件 文件上传 前端页面三要素&#xff1a; 表单项type“file” 表单提交方式post 表单的enctype属性multipart/form-data 本地存储 保证上传的文件不重复 //获取原始文件名String originalFilename image.getOriginalFi…...

BME680气体校准优化:如何将IAQ校准时间从1小时缩短到10分钟?

BME680气体校准优化实战&#xff1a;从1小时到10分钟的高效策略 第一次接触BME680传感器的开发者&#xff0c;往往会被它长达1小时的气体校准时间震惊。在医疗消毒设备实时监测、智能新风系统快速响应等场景中&#xff0c;这种等待简直是奢侈。但通过深入分析BSEC库的state机制…...

FLUX.小红书极致真实V2工作台整合:与Notion/飞书/小红书后台联动

FLUX.小红书极致真实V2工作台整合&#xff1a;与Notion/飞书/小红书后台联动 1. 项目简介 你是否曾经遇到过这样的困扰&#xff1a;想要生成小红书风格的高质量图片&#xff0c;但要么需要昂贵的云端服务&#xff0c;要么本地部署的模型显存占用太大&#xff0c;普通显卡根本…...

如何在Mac上原生读写NTFS硬盘?终极指南与免费工具推荐

如何在Mac上原生读写NTFS硬盘&#xff1f;终极指南与免费工具推荐 【免费下载链接】Free-NTFS-for-Mac Nigate: An open-source NTFS utility for Mac. It supports all Mac models (Intel and Apple Silicon), providing full read-write access, mounting, and management fo…...

别再瞎选了!CST时域和频域求解器到底怎么选?看完这篇实战对比就懂了

CST时域与频域求解器实战选型指南&#xff1a;从理论到决策树 在射频与微波工程领域&#xff0c;CST Studio Suite的求解器选择往往让工程师们陷入"分析瘫痪"——时域求解器的宽带优势令人心动&#xff0c;频域求解器的低频精度又难以割舍。我曾亲眼见证一个团队花费…...

如何用GetQzonehistory完整备份你的QQ空间记忆:告别数据丢失的终极解决方案

如何用GetQzonehistory完整备份你的QQ空间记忆&#xff1a;告别数据丢失的终极解决方案 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾担心那些记录着青春岁月的QQ空间说说会随…...

航天仿真进阶:用STK+MATLAB Connector打通数据流,这几个版本兼容性坑你踩过吗?

航天仿真进阶&#xff1a;STK与MATLAB版本兼容性全景指南 当STK的卫星轨道数据需要与MATLAB的算法能力结合时&#xff0c;版本兼容性问题往往成为工程师的第一道门槛。我曾亲眼见过一个航天仿真团队因为版本选择不当&#xff0c;导致项目延期两周——他们原本计划用三天完成的…...

终极光影增强指南:如何用Photon-GAMS将Minecraft变成电影级视觉盛宴

终极光影增强指南&#xff1a;如何用Photon-GAMS将Minecraft变成电影级视觉盛宴 【免费下载链接】Photon-GAMS Personal fork of Photon shaders 项目地址: https://gitcode.com/gh_mirrors/ph/Photon-GAMS 还在为Minecraft方块世界的单调画面感到乏味吗&#xff1f;想要…...

二.高光谱数据三剑客:HDR、SPE与BMP文件的协同解析与应用实战

1. 高光谱数据三剑客&#xff1a;HDR、SPE与BMP的黄金组合 第一次接触高光谱数据时&#xff0c;我被一堆文件格式搞得晕头转向。直到某天深夜调试代码时突然顿悟&#xff1a;HDR、SPE、BMP这三个文件就像乐高积木的说明书、零件包和成品模型。HDR是元数据说明书&#xff0c;SPE…...

CesiumLab实战:5分钟搞定SHP转3DTiles白模(附贴图技巧)

CesiumLab实战&#xff1a;5分钟高效转换SHP为3DTiles白模的进阶技巧 当你手头有一堆城市规划的SHP数据&#xff0c;想在Cesium中快速构建三维场景时&#xff0c;传统的工作流往往让人望而却步。CesiumLab的出现彻底改变了这一局面——它就像GIS领域的瑞士军刀&#xff0c;让复…...

2026奇点智能大会前瞻:为什么92%的AI工程团队将在Q3前重构Agent框架?(Gartner未公开预警报告首曝)

第一章&#xff1a;2026奇点智能技术大会&#xff1a;大模型Agent框架 2026奇点智能技术大会(https://ml-summit.org) 本届大会首次将大模型Agent框架确立为核心技术范式&#xff0c;聚焦于可推理、可规划、可协作的自主智能体系统设计。与传统微调或提示工程不同&#xff0c…...