Apache POI对Excel进行读写操作
1、什么是Apache POI
Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。一般情况下,POI 都是用于操作 Excel 文件。

Apache POI 的应用场景:
-
银行网银系统导出交易明细
-
各种业务系统导出Excel报表
-
批量导入业务数据
2、简单使用Apache POI
Apache POI既可以将数据写入Excel文件
使用之前需要在项目的
pom.xml文件中添加Apache POI的依赖。
<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.16</version>
</dependency>
<dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.16</version>
</dependency>
2.1、将数据写入Excel文件
实现效果

代码实现
/*** 写入excel* @throws Exception*/@Testpublic void testWrite() throws Exception {//创建excel文件并写入磁盘//创建一个内存的excel文件对象XSSFWorkbook workbook = new XSSFWorkbook();//创建一个工作表 XSSFSheetXSSFSheet sheet = workbook.createSheet("demo");//创建数据 XSSRow,行号从0开始XSSFRow row = sheet.createRow(0);//根据XSSRow创建单元格并写入数据,单元格从0开始row.createCell(1).setCellValue("姓名");row.createCell(2).setCellValue("爱好");row = sheet.createRow(1);row.createCell(1).setCellValue("小林");row.createCell(2).setCellValue("编程");//创建文件输出流,保存到磁盘FileOutputStream fileInputStream = new FileOutputStream("d:/file/demo.xlsx");//将excel文件给到输出流保存workbook.write(fileInputStream);//关闭流workbook.close();}
3、读取Excel文件中的数据
实现效果

代码实现
/*** 读取excel*/@Testpublic void testRead() throws Exception {//读取excel//创建文件输入流FileInputStream fileInputStream = new FileInputStream("d:/file/demo.xlsx");//创建内存excel文件XSSFWorkbook xssfWorkbook = new XSSFWorkbook(fileInputStream);//根据XSSFWordbook对象,获取工作表对象XSSFSheet sheet = xssfWorkbook.getSheet("demo");//获取最后一行行号int lastRowNum = sheet.getLastRowNum();//遍历读取for (int i = 0; i <= lastRowNum; i++) {XSSFRow row = sheet.getRow(i);String cellValueOne = row.getCell(1).getStringCellValue();String cellValueTwo = row.getCell(2).getStringCellValue();System.out.println(cellValueOne + " " + cellValueTwo);}//关闭流fileInputStream.close();xssfWorkbook.close();}
相关文章:
Apache POI对Excel进行读写操作
1、什么是Apache POI Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。一般情况下,POI 都是用于操作 Excel 文件。 Apache POI 的应用场景&…...
网络安全中攻击溯源方法
目前网络攻击已经成为常见的安全威胁之一,其造成的危害和损失都是不可估量的,因此网络攻击受到了高度重视。而当我们遭遇网络攻击时,攻击溯源是一项非常重要的工作,可以帮助我们迅速发现并应对各类网络攻击行为,那么网…...
软件设计不是CRUD(21):在流式数据处理系统中进行业务抽象落地——需求分析
本文主要介绍如何在数据处理系统中应用业务抽象的设计思想。目前业界流行的数据处理方式是流式处理,主流的流式处理引擎有Apache Spark,Apache Flink等等。本文选择Apache Flink作为实战案例的落地。由于本文主要是讲解设计思想和流式处理引擎相结合的方…...
远控免杀篇
0x00:前言 随着近两年hvv和红蓝对抗以及国家对于网络安全的重视,国内防护水平都蹭蹭上了一个台阶,不管是内部人员的技术水平提高还是防护设备的层层部署,均给了红队人员想要进一步行动设置了障碍。 通过weblogic的cve-2019-2725获…...
基于单片机的超声波倒车雷达设计
摘 要:文 章设计了一种基于单片机的超声波倒车雷达系统,以 AT89C51 型单片机作为控制核心,集距离测量、显示,方位显示和危险报警于一体,以提高驾驶者在倒车泊车时的安全性和舒适性。本设计采用 Keil 软件对系统程序…...
如何增加服务器的高并发
哈喽呀大家好呀,淼淼又来和大家见面啦,随着互联网应用的普及和用户量的不断增加,服务器的高并发性能成为了开发者们面临的一项重要挑战。在处理大量并发请求时,服务器需要具备高效的处理能力和稳定的性能,以确保系统的…...
webservice、WCF、webAPI权限认证
webservice 权限认证 》》soapHeader SOAPHeader案例 》》 window 集成认证 在IIS里取消匿名访问权限,若允许匿名访问,就没有必须提供验证凭证了 R2RServiceSerialNumber sN new R2RServiceSerialNumber();sN.Url "http://172.xxxxx/R2RServi…...
Kafka之Producer原理
1. 生产者发送消息源码分析 public class SimpleProducer {public static void main(String[] args) {Properties prosnew Properties();pros.put("bootstrap.servers","192.168.8.144:9092,192.168.8.145:9092,192.168.8.146:9092"); // pros.pu…...
ubuntu20.04部署gitlab流程
参考: https://blog.csdn.net/weixin_57025326/article/details/136048507 362 wget --content-disposition https://packages.gitlab.com/gitlab/gitlab-ce/packages/ubuntu/focal/gitlab-ce_16.2.1-ce.0_amd64.deb/download.deb367 sudo apt install gitlab-ce…...
C/C++动态内存管理(new与delete)
目录 1. 一图搞懂C/C的内存分布 2. 存在动态内存分配的原因 3. C语言中的动态内存管理方式 4. C内存管理方式 4.1 new/delete操作内置类型 4.2 new/delete操作自定义类型 1. 一图搞懂C/C的内存分布 说明: 1. 栈区(stack):在…...
搭建一个基于主流技术Spring Boot 2 + Vue 3 + Ant Design Vue的技术框架的简要步骤
搭建一个基于主流技术Spring Boot 2 Vue 3 Ant Design Vue的技术框架涉及前后端分离的开发模式。以下是一个简化的步骤指南,用于帮助你开始这个项目: 1. 后端(Spring Boot 2) 1.1 初始化项目 使用Spring Initializr(…...
水电站生产指挥调度系统方案
一、方案背景 在碧波荡漾的大江大河之上,巍然屹立着一座座水电站,它们如同一个个巨人在默默地守护着我们的家园。在这些建设者的辛勤耕耘下,水电站在保障国家能源安全、优化能源结构以及减少环境污染等方面发挥着重要作用。 然而,…...
深度学习入门-第3章-神经网络
前面的待补充 3.6 手写数字识别 3.6.1 MNIST 数据集 本书提供了便利的 Python 脚本 mnist.py ,该脚本支持从下载 MNIST 数据集到将这些数据转换成 NumPy 数组等处理(mnist.py 在 dataset 目录下)。 使用 mnist.py 时,当前目录必须…...
如何使用AES128位进行视频解密
要实现AES128位加解密,可以使用JavaScript的crypto-js库。以下是一个简单的示例: HTML代码: <video controlsList"nodownload" controls></video> 首先,需要安装crypto-js库: npm install cr…...
ArkTS是前端语言吗
ArkTS是前端语言吗 ArkTS,这个名词在现代软件开发领域里逐渐崭露头角,但对于许多人来说,它仍旧是个神秘而令人困惑的存在。那么,ArkTS究竟是前端语言吗?为了回答这个问题,我们需要从多个方面进行深入剖析。…...
git上新down下来的项目,前端启动报错npm ERR! code 1 npm ERR! path E:\code\vuehr\node_modul
解决方法在下面 问题1:> vuehr0.1.0 serve > vue-cli-service serve vue-cli-service 不是内部或外部命令,也不是可运行的程序 或批处理文件。 在项目目录下执行命令npm i -D vue/cli-service来安装vue/cli-service依赖。 运行gitee上下载的…...
oc中的数据结构在都在什么位置
数据结构 在Objective-C中,数据结构可以存在于以下几个位置: 堆(Heap):堆是动态分配的内存空间,用于存储动态创建的对象和数据结构。堆上的数据需要手动进行内存管理,即手动分配和释放内存。 …...
多云世界中的 API 治理
随着企业不断拥抱数字化转型,许多企业正在采用多云战略,以充分利用不同云平台的独特优势和功能。这种方法使企业能够避免被供应商锁定,提高灵活性,并优化 IT 成本。然而,在多个云平台上管理应用程序接口并非易事。它带…...
【稳定检索/投稿优惠】2024年环境、资源与区域经济发展国际会议(ERRED 2024)
2024 International Conference on Environment, Resources and Regional Economic Development 2024年环境、资源与区域经济发展国际会议 【会议信息】 会议简称:ERRED 2024 大会地点:中国杭州 会议官网:www.icerred.com 会议邮箱࿱…...
生成式 AI——ChatGPT、Dall-E、Midjourney 等算法理念探讨
1.概述 艺术、交流以及我们对现实世界的认知正在迅速地转变。如果我们回顾人类创新的历史,我们可能会认为轮子的发明或电的发现是巨大的飞跃。今天,一场新的革命正在发生——弥合人类创造力和机器计算之间的鸿沟。这正是生成式人工智能。 生成模型正在模…...
告别插件切换!一款满足你所有挖洞需求的浏览器插件助力高效挖洞
0x01 工具介绍 由于目前网上流通的插件功能都各有千秋,每个插件都有他自己的亮点,每次使用都得按场景去选择插件,为了能够有一款属于自己的完美插件,不用来回倒腾切换,由此GodEyes 诞生了。 它是一款可以帮助安全研究…...
HC-SR501人体红外传感器:从参数解析到树莓派实战应用
1. HC-SR501人体红外传感器核心参数解析 第一次接触HC-SR501时,我被它简单的三针脚设计迷惑了——这么小的模块真能检测人体移动?实测后发现这简直是智能家居项目的"火眼金睛"。让我们拆解它的关键参数,你会发现每个调节旋钮背后都…...
避坑指南:PICO空间网格开发常见问题排查(视频透视/组件配置/真机调试)
PICO空间网格开发实战:视频透视配置与真机调试全解析 在混合现实(MR)开发领域,PICO设备凭借其出色的空间感知能力为开发者提供了广阔的创新空间。然而,当我们将Unity引擎与PICO硬件结合进行空间网格开发时,…...
基于计算机网络原理优化DeepSeek-OCR 2的分布式部署
基于计算机网络原理优化DeepSeek-OCR 2的分布式部署 最近在帮一个客户做文档智能处理系统,他们每天要处理几十万份PDF文档,包括合同、报告、发票等各种格式。单机版的DeepSeek-OCR 2虽然效果不错,但处理速度完全跟不上业务需求。客户那边催得…...
Phi-4-mini-reasoning应用场景:数学建模竞赛辅助推导与公式生成
Phi-4-mini-reasoning应用场景:数学建模竞赛辅助推导与公式生成 1. 模型概述与核心能力 Phi-4-mini-reasoning是一款由微软开发的轻量级开源模型,专为数学推理、逻辑推导和多步解题等强逻辑任务设计。这个3.8B参数的模型虽然体积小巧,但在数…...
DDrawCompat:老游戏兼容性修复与性能优化终极解决方案
DDrawCompat:老游戏兼容性修复与性能优化终极解决方案 【免费下载链接】DDrawCompat DirectDraw and Direct3D 1-7 compatibility, performance and visual enhancements for Windows Vista, 7, 8, 10 and 11 项目地址: https://gitcode.com/gh_mirrors/dd/DDrawC…...
Labelme标注实战:5分钟搞定语义分割数据集制作(附避坑指南)
Labelme标注实战:5分钟搞定语义分割数据集制作(附避坑指南) 当你第一次接触计算机视觉项目时,可能会被海量的标注需求吓到。别担心,今天我要分享的是如何用Labelme这个轻量级工具,快速完成语义分割数据标注…...
NVIDIA Profile Inspector实战手册:从参数调试到显卡性能全面优化
NVIDIA Profile Inspector实战手册:从参数调试到显卡性能全面优化 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 在PC硬件优化领域,专业工具与普通用户之间往往存在技术鸿沟。N…...
Polars 2.0大规模清洗崩溃全解析:内存溢出、Schema冲突、LazyFrame中断——3类高频致命报错的5分钟修复方案
第一章:Polars 2.0大规模清洗崩溃全解析:内存溢出、Schema冲突、LazyFrame中断——3类高频致命报错的5分钟修复方案 当处理TB级结构化数据时,Polars 2.0的LazyFrame虽带来性能飞跃,却也因底层执行引擎变更放大了三类典型崩溃风险。…...
SM4算法在嵌入式平台的轻量化移植与优化实践
1. SM4算法与嵌入式平台适配挑战 SM4作为我国自主设计的商用分组密码标准,在物联网设备安全领域应用广泛。但直接将OpenSSL中的SM4实现移植到STM32等嵌入式平台时,开发者常会遇到三大难题: 代码体积膨胀:OpenSSL的SM4实现依赖大量…...
