Java读写excel文件代码

Java读取Excel文件,导出Excel文件 Java读取excel文件,并过滤空行,且读取多个工作表。 阅读详情

教你如何使用简单java代码读写excel文件

***提示:最基础教程代码教学


学习内容

在学习或者工作中,Excel文件作为最基础的办公表格,会被频繁使用。很多情况下,Excel里自带的公式或者函数已经不能简单满足我们的工作需求。我们可以使用一些简单编程知识,使得我们对excel的掌控更加自如。

`提示:本次学习使用java直接读取excel,并经过相应计算,输出为想要的相应格式的excel文件。

内容:

1、输入excel文件:里面包含一些水果的名称和价格。
在这里插入图片描述

2、输出文件:通过程序计算,在输出文件里面输出购买水果的名称和总价。
在这里插入图片描述

程序部分:

  1. 搭建 Java 开发环境
  2. 使用apache POI来进行excel 的读写

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.commons.io.FileUtils;

在这里插入图片描述

所需要的所有程序包如上,没有的可以到apache官网下载,或者联系我发(评论区留下你的邮箱)!

  1. 读取excel函数代码(完整)
//读取excel函数:
	public List readExcel(File file) throws Exception {      //读取excel函数
        //获取文件名字
        String fileName = file.getName();
        //获取文件类型
        String fileType = fileName.substring(fileName.lastIndexOf(".") + 1);
        System.out.println(" **** fileType:" + fileType);
        //获取输入流
        InputStream stream = new FileInputStream(file);
        //获取工作薄
        Workbook xssfWorkbook = null;
        if (fileType.equals("xls")) {
            xssfWorkbook = new HSSFWorkbook(stream);
        } else if (fileType.equals("xlsx")) {
            xssfWorkbook = new XSSFWorkbook(stream);
        } else {
            System.out.println("您输入的excel格式不正确");
        }
   //     TranTaskDao a = null;
        List aList = new ArrayList();
        // Read the Sheet
        Sheet Sheet = xssfWorkbook.getSheetAt(0);
        // Read the Row 从0开始
        for (int rowNum = 0; rowNum <= Sheet.getLastRowNum(); rowNum++) {
            Row Row = Sheet.getRow(rowNum);
            if (Row != null) {
                //判断这行记录是否存在
                if (Row.getLastCellNum() < 1 || "".equals(Row.getCell(0))) {
                    continue;
                }
                //获取每一行封装成对象
                List<String> rowList = new ArrayList<String>();
                for(int colNum=0;colNum<Row.getLastCellNum();colNum++)                	
                {               		
                	rowList.add(colNum, Row.getCell(colNum).toString());               	
                }                
                aList.add(rowList);       
            }
        }
        return aList;
    }

以上为读取excel的函数,在下面的main函数里直接调用这个函数( readExcel(); )即可,支持xls,xlsx格式。

  1. 在main函数里操作调用readExcel();函数,读取的excel文件中的内容,并整理输出为另一个excel文件
//main函数里直接调用
public static void main(String[] args) {
		// TODO Auto-generated method stub		
   //  String Array[][]=new String[1000][50];   也可以用数组保存读取的excel文件		     	
		ExcelClass te=new ExcelClass();   //这里ExcelClass是你创建的这个类的类名,我的类名就是ExcelClass
		File f= new File("F:\\输入.xlsx");   //要导入的excel文件路径
		try {
			List list=te.readExcel(f);
						
			 HSSFWorkbook workbook=new HSSFWorkbook();
		        //创建工作表sheeet0
		        HSSFSheet sheet0=workbook.createSheet();
		        //创建第一行
		        HSSFRow row0=sheet0.createRow(0);		        
		        //创建Excel文件薄			       
		        String[] title={"水果","数量","总价"};    //为输出表格生产标题
		        HSSFCell cell=null;
		        for (int i1=0;i1<title.length;i1++){
		            cell=row0.createCell(i1);
		            cell.setCellValue(title[i1]);		            
		        }		     		        
		        /**	//也可以用数组保存读取的excel文件
		        *	for(int i=0;i<list.size();i++)
				{		
					for(int j=0;j<((List) list.get(0)).size();j++)
					{						
						Array[i][j]=((List) list.get(i)).get(j).toString();					
					}					
				}               
				   */ //也可以用数组保存读取的excel文件
						HSSFRow nextrow=sheet0.createRow(1);     //将excel第二行作为数据写入行的初始行					
			  HSSFCell cell2=nextrow.createCell(0);     //初始化第二行第一格
			  cell2.setCellValue(((List) list.get(1)).get(0).toString()+"+"+((List) list.get(4)).get(0).toString());  //购买2个苹果2个火龙果,写入数据	
			  		            
			  cell2=nextrow.createCell(1);  //初始化第二行第二格
              cell2.setCellValue(2+2);  // 总数量,写入数据
			            
			  cell2=nextrow.createCell(2);  //初始化第二行第三格
			  cell2.setCellValue(Double.valueOf((String) ((List) list.get(1)).get(1))*2+Double.valueOf((String) ((List) list.get(4)).get(1))*2);  //购买2个苹果2个火龙果,计算金额			  		
		        //创建一个excel文件
		        File file=new File("F:/poi_test0322.xls");   //输出创建好的文件路径
		        file.createNewFile();
		        FileOutputStream stream=FileUtils.openOutputStream(file);
		        workbook.write(stream);
		        stream.close();		        	   
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}				
	}

以上是main函数的完整部分,调用readExcel()函数,直接获取excel里面的内容,从而进行处理,最后输出!

小结:

这里采用apache POI来进行excel 的读写,读写excel 的基本步骤就这么简单。这个程序的处理excel内容部分只是最简单的教程例子,你可以根据你的需求,在这个基础代码上改进填充,从而实现更复杂的程序设计。掌握好这个,将使得你无论在工作中还是学习上,都可以更加轻松自如的对excel进行操作,从而简化工作流程,提高工作效率。
希望这能对您有所帮助!

提示:
**以上程序是直接将导入的excel路径写死,也可以通过前端页面上传按钮动态上传。如有需要,将会后续更新!

Java读写Excel文件 一、下载和添加需要的库 1、gson下载地址 https://repo1.maven.org/maven2/com/google/code/gson/gson/2.8.6/ 2、poi下载地址 https://archive.apache.org/dist/poi/release/bin/ 3、使用到的库都在poi的下载包的不同lib文件夹内 4、将.jar包添加到依赖当中,右击需要添加的包–>add Library 二、关键代码 public static void main(String[] a 阅读详情

相关推荐

解读Java对Execl读取数据

2.读取execl中sheet页数,即获取当前Excel所有sheet页的个数。3.读取execl中sheet名称,即获取当前execl所有sheet的名称。1.读取execl文件路径,或者打开execl。5.根据sheet序号指定使用的sheet。8.以二维数组形式读取excel文件内容。4.根据sheet名使用sheet页。(1)实例化对象,根据对象的方法判断。9.针对单元格内容不同格式进行读取。6.读取参数中指定的行和列。10.关闭execl。

A-MING的博客 1030

Java读取excel的方式,一篇文章看懂(详细)

excel文档读取操作,详细的总和在里面啦,大家自取,希望得到大家的点赞鼓励的认可哦!

weixin_61016066的博客 6万+

Java读写文件(excel)

Java读写文件-Excel

使用Java语言读取Excel文件,并在控制台输出

这段代码定义了一个名为"ExcelRead"的Java类,其中包含一个名为"readExcel"的静态方法。要求:使用java语言将 Excel 文件路径作为参数传递到 main 方法中,然后将其中的变量以键值对的形式保存(该变量需要在其他类中使用),并在另一个函数中(主函数)的控制台输出该键值对。这段代码的作用是用于测试ExcelRead类中的"readExcel"方法是否能够正确地读取Excel文件,并将读取的数据打印在控制台上。

weixin_38735917的博客 2062

SolidWorks+ADAMS双验证:你的机械臂力矩计算真的靠谱吗?

本文探讨了机械臂力矩计算中手工计算的局限性,并介绍了SolidWorks和ADAMS双验证方法的重要性。通过实际案例展示了动态工况下传统计算方法的误差,详细解析了SolidWorks精准质心捕捉和ADAMS动力学仿真的关键技术,帮助工程师构建计算-仿真-实测闭环验证流程,确保机械臂设计的可靠性和安全性。

grafana6viz的博客 228

全国各省份影像下载地址(11级别)

cesium中使用urltemplate加载,leaflet中使用tile加载,具体加载有问题可以给我留言。

资深三维GIS开发 5146

java读写excel文件_java读取excel文件的代码

如下内容段是关于java读取excel文件的内容,应该能对各朋友有所用途。package com.zsmj.utilit;import java.io.FileInputStream;import java.io.IOException;import org.apache.poi.poifs.filesystem.POIFSFileSystem;public class ParseExcel {p...

weixin_34657323的博客 326

基于STM32的智能火灾报警系统设计:多传感器融合与远程控制实现

本文详细介绍基于STM32单片机的智能火灾报警系统设计,采用多传感器融合技术(烟雾、温度、火焰检测)实现高精度火灾识别。系统集成远程控制与手机APP监控,通过加权决策算法降低误报率,提供多级响应策略,确保火灾预警的准确性与可靠性。

u5v6w7的博客 1102

java xml excel文件_java代码中读写xml文件、读excel文件

一、需要读excel文件中的数据写入xml文件中class="java" name="code">public interface XmlDocument {/*** 建立XML文档* @param fileName 文件全路径名称*/public void createXml(String fileName);/*** 解析XML文档* @param fileName 文件全路径名称*/p...

weixin_28559803的博客 460

图注意力网络(GAT)原理与代码实战案例讲解

1. 背景介绍 图注意力网络(Graph Attention Network,简称GAT)是一种基于图神经网络(Graph Neural Networks,简称GNN)的深度学习方法。它能够处理具有复杂关系的节点数据,并在多个领域取得了显著的效果,如社交网络分析、推荐系统等。 2. 核心概念与联系

AI架构师小马 2712

Android功耗系列专题理论之十三:MTK平台待机功耗问题分析方法

摘要:本文详细分析了MTK平台待机功耗问题的调试方法,重点介绍了SPM电源管理机制、26M时钟控制逻辑以及系统深睡眠状态的判断标准。文章提供了完整的Debug流程,包括日志抓取、唤醒源分析、SCP睡眠状态检查以及时钟/LDO状态排查等实用技巧,并给出硬件漏电点和软件配置异常的排查方案。针对不同模块(Modem/Conn/SSPM等)提供了具体的电源管理绕过命令,适用于功耗问题调试和低功耗模式验证场景。

559

java代码中读写xml文件、读excel文件

dom4j读写xml文件:参考地址:[url]http://www.cnblogs.com/yjmyzz/archive/2012/11/11/2765312.html[/url] 一、需要读excel文件中的数据写入xml文件中 [code="java"]public interface XmlDocument { /** * 建立XML文档 * @param file...

andy_angel成长历程 570

静态代码审计插件 snyk 使用教程

静态代码审计插件 snyk 使用教程

SHELLCODE_8BIT的博客 2004

java提取excel数据_Java读写Excel文件中数据的简便方法(附代码)

Java读写Excel文件中数据的简便方法Java开发项目中经常会碰到处理Excel文件中数据的情况,这里通过一个例子来看一下实现方法:从Excel文件orders.xls中读取订单信息,从中找出2010年1月1日(含)之后,并且SELLERID等于18的订单。找到的数据写入order_result.xls文件。Excel文件orders.xls的内容如下:ORDERIDCLIENTSELLERI...

weixin_39657300的博客 452

【OAG vs RAG】OAG工程实战(下):权限治理与多模型协同

本文摘要(149字): OAG工程体系的核心挑战在于权限治理与多模型协同。文章深入探讨OMA(对象管理权限)系统,实现细粒度访问控制:通过对象级权限管理行级安全,属性级权限控制敏感字段脱敏,确保AI Agent权限不越界。系统采用三层次防护:对象策略控制记录可见性,属性策略处理字段级脱敏,动作策略限制操作范围。权限验证贯穿Agent执行全流程,结合多模型交叉验证机制,构建企业级AI安全防线。这些设计使OAG系统从技术演示升级为生产可用的企业解决方案。

求知若渴、虚心若愚 105

【100分- 求最多可以派出多少支团队】(题目+思路+Java&C++&Python解析+在线测试)

用数组代表每个人的能力,一个比赛活动要求参赛团队的最低能力值为N,每个团队可以由1人或者2人组成,且1个人只能参加1个团队,计算出最多可以派出多少只符合要求的团队。

m0_73659489的博客 313

js 创建json文件和写入json文件_Java读写excel,excel转成json写入磁盘文件

pom读写excel主要的dependency <dependency> <groupId>org.apache.poigroupId> <artifactId>poiartifactId> <version>3.16version> dependency> <depend...

weixin_39777875的博客 1451

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

java读写Excel文件

这里java的JDK版本为1.8.0X,需要下载jxl.jar。 利用eclipse新建工程,把jxl.jar导入到工程下。 写入Excel import java.io.File; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.Writabl...

Joey's Blog 421

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java读取excel文件

关于java读写excel的例子请看http://www.iteye.com/topic/55844 import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; ...

chenlianhe5750的博客 117

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Java导出excel文件简单实现

直接到这 https://blog.youkuaiyun.com/Shyn_IT/article/details/78570619

zhufangqing123的博客 142

使用Java代码(POI)读写 Excel

使用Java代码(POI)读写 Excel,这篇博客给出了实现逻辑并有完整的代码实现。

扬帆向海的博客 4万+

java 删除excel文件_Java处理Excel文件---excel文件的创建,删除,写入,读取

这篇文章的代码是我封装的excel处理类,包括判断excel是否存在,表格索引是否存在,创建excel文件,删除excel文件,往 excel中写入信息,从excel中读取数据。尤其在写入与读取两个方法中,我采用了java反射机制去实现,以object对象作为参数即可,代码自动解析该实体类的属性与方法,代码重用性高。代码还有一些需要改进和扩展的地方,大家可以根据实际情况进行简单修改。上代码,首先是...

weixin_34805367的博客 561

在Java中实现读写操作Word、Excel等文件

  最近要在一个Java做的项目中实现对Excel文件的读写操作,所以就在网上查阅相关资料。在Google中输入“Java读写Excel”进行搜索,果然就发现了自己想要的东西。其中《在Java中读写Excel文件》一文引起我的兴趣。进去大概看了一下,发现原来使用的Apache的POI组件实现的,随即进入Apache的POI网页一看。呀……好东西。不过能实现Excel文件操作,还能实现Wo...

baibiao4475的博客 231

使用poi,java读写excel文件详细过程

通过使用poi完成java对excel文件的读写,话不多说直接开始。 注意:这里依赖的jar包需要使用两个,一个是poi,一个是jxl。 附上依赖: &amp;amp;amp;amp;lt;dependency&amp;amp;amp;amp;gt; &amp;amp;amp;amp;lt;groupId&amp;amp;amp;amp;gt;net.sourceforge.jexcelapi&amp;amp;amp;amp;lt;/gr

superMario 1307

java读写 excel_java读写excel文件实现POI解析Excel的方法

在日常工作中,我们常常会进行文件读写操作,除去我们最常用的纯文本文件读写,更多时候我们需要对Excel中的数据进行读取操作,本文将介绍Excel读写的常用方法,希望对大家学习Java读写Excel会有帮助。package com.zhx.base.utils;import org.apache.poi.hssf.usermodel.HSSFWorkbook;import org.apache.po...

weixin_32019909的博客 276

java-在Java中读写Excel文件

  Jakarta的POI项目提供了一组操纵Windows文档的Java API,如下几个类提供了操作Excel文件的方便的途径:HSSFWorkbook、HSSFSheet、HSSFRow、HSSFCell,分别代表了Excel电子表格中的Book、Sheet、行和单元格。你可以在下面地址下载到最新的POI工具包:  http://jakarta.apache.org/poi/index.htm

2471
上一篇: java “Unsupported major.minor version 52.0错误“解决办法
下一篇: C#教你如何使用ASP.NET读写excel文件
Bagging
博客等级 码龄9年 10粉丝 3原创
评论 18
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值