jxl解析excel表格

java,jxl解析excel 在编写ExcelUtil之前,在网上查了一些资料。Java中用来处理Excel的第三方开源项目主要就是POI和JXL。poi功能强大,但是比较耗资源,对于大数据量的导入导出性能不是太好;jxl功能简单,但是性能比较好。   由于本项目的导入导出更多关注性能问题,而且jxl提供的功能基本也都够用了,于是选择了jxl作为支持。 另外jxl的一个很大缺点是:只能是.xls格 阅读详情

基础工作要导入commons.fileupload.jar、commons.io-1.4.0.jar、jxl.jar
前台传入一个excel文件,后台在不向服务器保存excel文件的情况下,对excel进行解析,并处理其中数据

前台页面:

<form id="searchForm" method="post" action="/importProd" enctype="multipart/form-data">
    <div class="import">
        <p>
            <a href="javascript:void(0)" onclick="temple()">产品模板</a>
            <input type="file" name="importExcel" id="importExcel" value="浏览" class="validate[required]">
        <p>
        <p style="margin-top:40px">
            <button type="submit" class="btn btn-success">导入</button>&nbsp;&nbsp;   
        </p>
        </div>
</form>

后台接受并处理:
a.后台接收的controller签名中使用@RequestParam标签来接收参数,用一个元素类型为MultipartFile类型的数组来接收
b.参数名称与前台页面input标签name名称一致

@RequestMapping(value = "/importProd",produces = "text/plain;charset=UTF-8")
    @ResponseBody
    public String importProd(@RequestParam MultipartFile[] importExcel,MultipartHttpServletRequest request,HttpServletResponse response) {
        String validateMsg = "";
        try {
            if (importExcel != null && importExcel.length > 0) {
                for (int i = 0; i < importExcel.length; i++) {//循环上传的文件
                    MultipartFile file = importExcel[i];
                    // 保存文件
                    InputStream is = file.getInputStream();//将上传的文件直接写入InputStream输入流,不进行服务器保存操作
                    List<String> list = productListService.saveProd(is,params);//params为controller中定义的一个接收请求参数的全局变量
                }
            }
            //String path = Global.getConfig("REFER_UPLOAD_ADDRESS");
            response.setHeader("Content-type", "text/html;charset=UTF-8");  
            response.setCharacterEncoding("UTF-8");
            response.getWriter().write("产品导入完成");
            response.getWriter().flush();
            return null;
        } catch (Exception e) {
            e.printStackTrace();
                try {
                    response.getWriter().write("产品导入失败,请检查是否已经导入.");
                    response.getWriter().flush();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
        return null;
    }
public String saveProd(InputStream is,Map<String,String> params){
        Workbook wb = null;  
        try {
            wb = Workbook.getWorkbook(is);//通过InputStream输入流来获得excel文件
            Sheet sheet = wb.getSheet(0);//wb.getSheet(n)为获取excel中的第几个sheet页,当有过个sheet页时需循环获取
            List<String> list = new ArrayList<String>();
            if(sheet!=null){
                for (int i = 2; i < 10; i++) {
                    Cell[] cells = sheet.getRow(i);
                    list.add(cells[2].getContents());//取每行的第三个值
                }
            }
        return list;

总结读取解析excel原理:
1、通过input标签上传excel文件,标签type=“file”,标签所在的form表单增加一个enctype=”multi-part/form-data”属性
2、后台controller使用@RequestParam标签来接收前台传来的文件请求,封装在与前台input标签name属性同名的请求参数中
3、由于未向服务器中做文件的存储操作,则直接利用file.getInpuStream()来获得输入流
4、从输入流中利用Workbook.getWorkbook(is)获取excel对象
5、分析excel对象:
一个excel对象包含n个sheet页,一个sheet包含n行记录,一行记录包含n个字段,
所以,特殊情况下,想解析获得字段值,需进行多层多层for循环嵌套
6、a、获取Excel对象
Workbook wb = Workbok.getWorkbook(is);
b、获取Excel中的sheet页
Sheet sheet = wb.getSheet(0);//下标为0时,获取第一个sheet页
c、获取某sheet页中的行
Cell[] cells = sheet.getRow(0);//下标为0时,获取sheet页的第一行
d、获取某行的第中的字段
cells[0].getContents();

Java与Excel的交互:使用jxl库解析和操作Excel文件 本文还有配套的精品资源,点击获取 简介:在Java中处理Excel文件对于数据处理场景至关重要。本文将介绍如何使用jxl库来读取、写入和操作Excel文件。通过示例代码和详细步骤,包括添加jxl依赖、读取Excel内容、写入数据到Excel以及运用jxl库提供的其他功能,如样式设置和单元格合并等。jxl库提供了对多种Excel格式的支持,并通过API文档可以帮助进一步深入使... 阅读详情

相关推荐

excel通用解析(xlsx+xls)demo

excel通用解析和参数验证demo,里面包含两个接口方法,将excel(xlsx,和xls)文件,转为List<Map>对象,或者List<T> 对象。 让开发者可以将精力放在解析对象上,而非row和cell的傻瓜式处理上

java jxl解析excel_java解析excel两种(jxl、poi)

jxl:重量级的,现在很少用了。jxl.jarCreateXLS.javapackage com.sec.excel.jxl;import java.io.*;import jxl.*;import jxl.write.*;public class CreateXLS {public static void main(String[] args) {try {WritableWorkbook bo...

weixin_30824121的博客 470

java利用jxl读取excel文件

java利用jxl.jar包读取excel文件

jxl解析excel表格代码

jxl解析excel表格代码/** * @author Yuansheng.Lei * excel表格导入工具类 */ public class Excel { /** * 提取excel表信息 * @param filePath * @return * @throws IOException */ public static List<

lei273834的博客 329

Java利用JXL读写Excel

Java利用JXL读和写操作Excel表格示例代码,可直接导入MyEclipse使用

bartender 10.1破解版|bartender条码打印10.1

点击下载出处:BarTender10.1破解版 bartender10.1破解版是一款专业的条码打印软件,在行业内广受好评,通过使用bartender我们可以将标签设计这个复杂的过程变得更简便,在设计中快速调整,即刻打印,非常迅速,BarTender10.1破解版不仅支持的标签类型包括EPC Class 1 、Gen2 、ISO 18000-6b 、ISO 15693 、Tag-It 、I-CO...

weixin_44924147的博客 6万+

JXL解析Excel表格内容到数据库

java中常用的解析Excel表格的工具一种是POI一种是JXL,POI功能强大,相比JXL稍嫌复杂,对表格样式的处理非常好;而JXL解析简单方便,对中文支持比较好。 工作中解析Excel内容上传到数据库常用JXL,而从数据库导出数据到Excel常用POI 下面是一个JXL解析Excel的一个简单案例 1.添加jxl的架包 下载地址:jxl.zip 2.解析Excel表格内容到一...

weixin_30634661的博客 124

Jxl解析Excel表格数据

/** * @file ExcelUtils.java * * @brief ExcelUtils.java相关函数 * * * @author * - Dec 28, 2011 xxxx * * @par 版权信息: * Copyright(C) 2011-2011 鑫万佳 */ package com.xwj.refla...

吖脖(博) 197

请叫我鱼拆,2024扫地机器人的第一次拆机

从背面可以看出,这个机器人是两轮差速模型,两个驱动轮,一个万向轮,驱动轮位于机器人中心位置,这样原地旋转的圆心就是机器人的中心。可以看到设备已经连接,但是没有办法进shell,厂家应该有做了安全保护之类的,有知道从这个口可以登录系统办法的小伙伴可以后台留言。但这台机器人一直报警说,机器人轮子离地,小鱼 估计是防跌落模块有问题,误触发了,所以打算先拆机看看。接着小鱼试了下,机器可以开机,然后给他重新配置wifi,连上 米家。Allwinner,全志的片子,不知道哪个型号的,看产品id,应该支持adb。

生活不止眼前的苟且 3924

时空智友企业流程化管控系统文件上传漏洞

时空智友企业流程化管控系统是一个功能丰富、灵活可定制的企业管理工具。通过该系统,企业能够实现流程的自动化、协同的提升、数据的洞察和决策的优化,从而提高工作效率、管理水平和企业竞争力。时空智友企业流程化管控系统 formservice接口处存在任意文件上传漏洞,未经认证的攻击者可通过此接口上传后门文件,最终可导致服务器失陷。

holyxp的博客 1027

jxl(解析,写入)Excel表格~学习日记

jxl(解析,写入)Excel表格JXL java Excel 是一开发源码项目,可以读取Excel文件内容,创建新的Excel文件,更新已经存在的Excel文件网上描述 ● 支持Excel 95-2000的所有版本 ● 生成Excel 2000标准格式 ● 支持字体、数字、日期操作 ● 能够修饰单元格属性 ● 支持图像和图表 搭建环境 代码块写入Excel源码,例如: pac

小郭咯 531

UE5、CesiumForUnreal实现加载GeoJson绘制多面(MultiPolygon)功能(支持点选高亮)

UE5、CesiumForUnreal实现加载GeoJson实现多面(MultiPolygon)的绘制功能,并且支持点选高亮和属性查询。

专注GIS开发 4628

JAVA操作Excel表格:方法一:jxl的使用②:Excel实战之JXL解析读取excel文件

package com.cxl; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import java.io.File; //读取excel public class JxlReadExcel { public static void main(String[] args) { try { ...

南北极之间 450

ROS机器人未知环境自主探索功能包explore_lite最全源码详细解析(一)

本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_client.cpp等源码实现文件中全部函数的详细介绍,第六篇文章进行概括总结,包含自主探索功能包explore_lite的简介,实现未知环境自主探索功能的原理及流程总结,效果演示,使用功能包

慕羽★的博客 3935

[ vulhub漏洞复现篇 ] Drupal XSS漏洞 (CVE-2019-6341)

[ vulhub漏洞复现篇 ] Drupal XSS漏洞 (CVE-2019-6341) Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成,在GPL2.0及更新协议下发布。Drupal在某些情况下,通过文件模块或者子系统上传恶意文件触发XSS漏洞。

qq_51577576的博客 2206

用jxl解析excel内容

需要导入jxl.jar 下方表格为excel中内容: 序号 姓名 性别 生日 地址 1 测试1 男 1990-1-1 北京朝阳区 2 测试2 女 1998-2-2 北京海淀 3 测试3 男 1999-3-3 北京大兴 代码示例: package com; import ja...

ddak56357的博客 198

AI穿透式智慧粮仓

本报告基于 2025-2026 年全国多地智慧粮储实践案例,系统分析了 "AI + 穿透式" 智慧粮储体系的技术架构、AI 算法应用、提质增效成效、区域差异化特点及未来发展趋势。该体系通过多模态感知、智能算法与管控平台的深度融合,实现粮食存储全流程精准感知、智能预警与科学调控,显著降低储粮损耗与运营成本,大幅提升储粮安全水平与管理效率。报告梳理了各地差异化实践路径,提出针对性发展建议,为推动我国粮食仓储高质量发展、筑牢国家粮食安全防线提供参考。

reset2021的博客 227

esclipse中java实现解析EXCEL表格数据并封装成Map(使用jxl包)

esclipse中java实现EXCEL解析并封装成Map(jxl包) 首先先说明几点: jxl包支持EXCEL版本为97-2003 环境为esclise,tomcat7 jdk1.7 这里关注了excel的sheet页问题 excel如下: 保证以下代码能用的前提是 要提前下载好 jxl.jar 包并导入项目 代码如下: /** * 读取 并解析内容 * @param file * @throws Exception */ public static Map<S

weixin_50188421的博客 579

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

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

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

JAVA解析Excel文件的两种方式 --jxl技术

上一篇文章讲解了poi技术解析excel文件,现在要讲的是jxl技术,更简单更方便。 主要的类: Workbook --------工作表,Workbook 类的getWorkbook方法创建, Sheet--------------表格,Workbook 实例的getSheet(int num)方法获取, Cell-----------------单元格,Sheet实例的getCel

max1487的博客 739

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

JXL方式解析Excel电子表格,金蝶EAS自带JXL相关Jar包

所解析的电子表格需为.xls格式(2003),解析表格之后,每行数据为List结构。 多行数据为List>结构,指定表头行数是为了去除表头数据。 此种方式解析电子表格,比金蝶EAS自带的引入引出功能更为灵活。 package com.kingdee.eas.custom.si.util; import java.io.ByteArrayInputStream; import jav

金蝶EAS开发专栏 632

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

解析Excel_Jxl

/* * *使用jxl创建Excel并写入数据 */ public class JxlExpeExcel{   public static void main(String[] args){     String[] title = {"id","name","sex"};//用数组存表头     //创建Excel文件     File File= newFile("...

weixin_30871293的博客 94

Android中解析读取复杂word,excel,ppt等的方法

前段时间在尝试做一个Android里的万能播放器,能播放各种格式的软件,其中就涉及到了最常用的office软件。查阅了下资料,发现Android中最传统的直接解析读取word,excel的方法主要用了java里第三方包,比如利用tm-extractors-0.4.jar和jxl.jar等,下面附上代码和效果图。         读取word用了tm-extractors-0.4.jar包,代码如

卡小基的博客 2万+
上一篇: Spring的依赖注入(即DI)
下一篇: 取消事件冒泡机制和阻止事件默认行为
「已注销」
博客等级 码龄10年 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值