利用jxl操作excel文件

利用Java和JXL库实现Excel文件生成指南 Java程序设计语言一直以其强大的跨平台特性和丰富的类库而闻名。它不仅仅是一种用于互联网应用程序的语言,也适用于企业级应用、桌面应用程序,以及越来越多的移动开发领域。在处理桌面应用程序时,经常需要处理电子表格文件,如Excel。为了简化这一过程,Apache推出了JExcelApi,也就是我们通常所说的JXL库,这是专门为Java应用程序读写Excel文件的开源库。JXL库提供了一套丰富的API,能够帮助开发者以编程方式创建、修改和读取Excel文件。 阅读详情
 
一.读取Excel文件内容
java 代码
1 .  /** 读取Excel文件的内容 
2.  * 
@param  file  待读取的文件 
3.  * 
@return    
4.  
*/    
5 .  public   static  String readExcel(File file){    
6 .     StringBuffer sb  =   new  StringBuffer();    
7 .         
8 .     Workbook wb  =   null ;    
9 .      try  {    
10 .         // 构造Workbook(工作薄)对象    
11 .        wb = Workbook.getWorkbook(file);    
12 .    }  catch  (BiffException e) {    
13 .        e.printStackTrace();    
14 .    }  catch  (IOException e) {    
15 .        e.printStackTrace();    
16 .    }    
17 .        
18 .     if (wb == null )    
19 .         return   null ;    
20 .        
21 .     // 获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了    
22 .    Sheet[] sheet  =  wb.getSheets();    
23 .        
24 .     if (sheet != null && sheet.length > 0 ){    
25 .         // 对每个工作表进行循环    
26 .         for ( int  i = 0 ;i 
27 .             // 得到当前工作表的行数    
28 .             int  rowNum  =  sheet[i].getRows();    
29 .             for ( int  j = 0 ;j 
30 .                 // 得到当前行的所有单元格    
31 .                Cell[] cells  =  sheet[i].getRow(j);    
32 .                 if (cells != null && cells.length > 0 ){    
33 .                     // 对每个单元格进行循环    
34 .                     for ( int  k = 0 ;k 
35 .                         // 读取当前单元格的值    
36 .                        String cellValue  =  cells[k].getContents();    
37 .                        sb.append(cellValue + " " );    
38 .                    }    
39 .                }    
40 .                sb.append( " " );    
41 .            }    
42 .            sb.append( " " );    
43 .        }    
44 .    }    
45 .     // 最后关闭资源,释放内存    
46 .    wb.close();    
47 .     return  sb.toString();    
48 .}  
 
二.写入Excel文件
这里有很多格式了,比如文本内容加粗,加上某些颜色等,可以参考jxl的api,同时还推荐一篇不错的文章:http://www.ibm.com/developerworks/cn/java/l-javaExcel/?ca=j-t10
java 代码
1 .  /** 生成一个Excel文件 
2.      * 
@param  fileName  要生成的Excel文件名 
3.      
*/    
4 .      public   static   void  writeExcel(String fileName){    
5 .         WritableWorkbook wwb  =   null ;    
6 .          try  {    
7 .              // 首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象    
8 .             wwb  =  Workbook.createWorkbook( new  File(fileName));    
9 .         }  catch  (IOException e) {    
10 .            e.printStackTrace();    
11 .        }    
12 .         if (wwb != null ){    
13 .             // 创建一个可写入的工作表    
14 .             // Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置    
15 .            WritableSheet ws  =  wwb.createSheet( " sheet1 " ,  0 );    
16 .                
17 .             // 下面开始添加单元格    
18 .             for ( int  i = 0 ;i < 10 ;i ++ ){    
19 .                 for ( int  j = 0 ;j < 5 ;j ++ ){    
20 .                     // 这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行    
21 .                    Label labelC  =   new  Label(j, i,  " 这是第 " + (i + 1 ) + " 行,第 " + (j + 1 ) + " 列 " );    
22 .                     try  {    
23 .                         // 将生成的单元格添加到工作表中    
24 .                        ws.addCell(labelC);    
25 .                    }  catch  (RowsExceededException e) {    
26 .                        e.printStackTrace();    
27 .                    }  catch  (WriteException e) {    
28 .                        e.printStackTrace();    
29 .                    }    
30 .   
31 .                }    
32 .            }    
33 .   
34 .             try  {    
35 .                 // 从内存中写入文件中    
36 .                wwb.write();    
37 .                 // 关闭资源,释放内存    
38 .                wwb.close();    
39 .            }  catch  (IOException e) {    
40 .                e.printStackTrace();    
41 .            }  catch  (WriteException e) {    
42 .                e.printStackTrace();    
43 .            }    
44 .        }    
45 .    }    
三.在一个Excel文件中查找是否包含某一个关键字
java 代码
1 .  /** 搜索某一个文件中是否包含某个关键字 
2.      * 
@param  file  待搜索的文件 
3.      * 
@param  keyWord  要搜索的关键字 
4.      * 
@return    
5.      
*/    
6 .      public   static   boolean  searchKeyWord(File file,String keyWord){    
7 .          boolean  res  =   false ;    
8 .             
9 .         Workbook wb  =   null ;    
10 .         try  {    
11 .             // 构造Workbook(工作薄)对象    
12 .            wb = Workbook.getWorkbook(file);    
13 .        }  catch  (BiffException e) {    
14 .             return  res;    
15 .        }  catch  (IOException e) {    
16 .             return  res;    
17 .        }    
18 .            
19 .         if (wb == null )    
20 .             return  res;    
21 .            
22 .         // 获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了    
23 .        Sheet[] sheet  =  wb.getSheets();    
24 .            
25 .         boolean  breakSheet  =   false ;    
26 .            
27 .         if (sheet != null && sheet.length > 0 ){    
28 .             // 对每个工作表进行循环    
29 .             for ( int  i = 0 ;i 
30 .                 if (breakSheet)    
31 .                     break ;    
32 .                    
33 .                 // 得到当前工作表的行数    
34 .                 int  rowNum  =  sheet[i].getRows();    
35 .                    
36 .                 boolean  breakRow  =   false ;    
37 .                    
38 .                 for ( int  j = 0 ;j 
39 .                     if (breakRow)    
40 .                         break ;    
41 .                     // 得到当前行的所有单元格    
42 .                    Cell[] cells  =  sheet[i].getRow(j);    
43 .                     if (cells != null && cells.length > 0 ){    
44 .                         boolean  breakCell  =   false ;    
45 .                         // 对每个单元格进行循环    
46 .                         for ( int  k = 0 ;k 
47 .                             if (breakCell)    
48 .                                 break ;    
49 .                             // 读取当前单元格的值    
50 .                            String cellValue  =  cells[k].getContents();    
51 .                             if (cellValue == null )    
52 .                                 continue ;    
53 .                             if (cellValue.contains(keyWord)){    
54 .                                res  =   true ;    
55 .                                breakCell  =   true ;    
56 .                                breakRow  =   true ;    
57 .                                breakSheet  =   true ;    
58 .                            }    
59 .                        }    
60 .                    }    
61 .                }    
62 .            }    
63 .        }    
64 .         // 最后关闭资源,释放内存    
65 .        wb.close();    
66 .            
67 .         return  res;    
68 .    }   
四.往Excel中插入图片图标
插入图片的实现很容易,参看以下代码:
java 代码
1 .  /** 往Excel中插入图片 
2.  * 
@param  dataSheet  待插入的工作表 
3.  * 
@param  col 图片从该列开始 
4.  * 
@param  row 图片从该行开始 
5.  * 
@param  width 图片所占的列数 
6.  * 
@param  height 图片所占的行数 
7.  * 
@param  imgFile 要插入的图片文件 
8.  
*/    
9 .  public   static   void  insertImg(WritableSheet dataSheet,  int  col,  int  row,  int  width,    
10 .         int  height, File imgFile){    
11 .    WritableImage img  =   new  WritableImage(col, row, width, height, imgFile);    
12 .    dataSheet.addImage(img);    
13 .}    
以上代码的注释已经很清楚了,大概也就不用再解释了,我们可以用如下程序验证:
java 代码
1 .      try  {    
2 .          // 创建一个工作薄    
3 . WritableWorkbook workbook  =  Workbook.createWorkbook( new  File( " D:/test1.xls " ));    
4 .  // 待插入的工作表    
5 . WritableSheet imgSheet  =  workbook.createSheet( " Images " , 0 );    
6 .  // 要插入的图片文件    
7 . File imgFile  =   new  File( " D:/1.png " );    
8 .  // 图片插入到第二行第一个单元格,长宽各占六个单元格    
9 . insertImg(imgSheet, 0 , 1 , 6 , 6 ,imgFile);    
10 .workbook.write();    
11 .workbook.close();    
12 .  catch  (IOException e) {    
13 .e.printStackTrace();    
14 .  catch  (WriteException e) {    
15 .e.printStackTrace();    
  但是jxl只支持png格式的图片,jpg格式和gif格式都不支持。
 
jxl读写excel数据,输出图片 用jxl读写excel数据,输出图片到excel 立即下载

相关推荐

单细胞转录组数据分析全流程:从原始数据到细胞注释

本文详细介绍了单细胞转录组数据分析的全流程,从原始数据读取、环境搭建、数据质控与标准化,到降维聚类、细胞类型注释,以及高级质控与多样本整合。重点阐述了如何利用Seurat等工具进行数据处理,并通过标志基因比对与自动注释方法完成细胞身份鉴定,为研究者提供了一套清晰、可操作的分析指南。

coffee的博客 552

jxl 读取Excel图片

 public class Test3 {        javax.swing.ImageIcon icon = null;        public void excel2(){        try{            Workbook workbook = null;            Sheet sheet = null;                       wor

李浩荣的专栏 5437

VS Code + EIDE + Clangd 构建 Keil/MDK 嵌入式开发新范式

嵌入式C/C++开发长期受限于传统IDE的语法理解弱、导航卡顿、跨工程复用难等问题。Clangd作为基于AST的现代语言服务器,结合EIDE对Keil uVision和ARM MDK工程文件(.uvprojx)的深度解析能力,可将编译配置、芯片型号、内存模型、扩展关键字等语义精准翻译为标准compile_commands.json,从而实现智能跳转、宏展开识别、结构体实时展开等高阶编辑体验。该方案不替换Keil/MDK编译与烧录流程,仅升级代码理解层,天然兼容STC8051、STM32 Cortex-M、G

weixin_34321753的博客 352

JXL讀取Excel中的圖片

使用JXL讀取Excel中的圖片,需要說明的是JXL讀取Excel中的圖片有限制,只支持png格式的圖片 由于JXL讀取Excel中的圖片是一次讀取所有的圖片,并且存在一個圖片集合中, 而且很多時候Excel中一行中數據不光是圖片類型,還有其他類型,所以需要對圖片在Excel

Dean_Deng的专栏 3597

【python】import pandas as pd用法

是 Python 里最常用的数据分析库之一。 的意思是:导入 pandas 库,并给它起个别名 。这样用起来更简洁: 下面总结 pandas 的常见用法(配例子)。目录🔹 1. 数据结构(1) Series(一维数据,类似于数组 + 标签)(2) DataFrame(二维数据表,类似于 Excel 表格)🔹 2. 数据读写🔹 3. 数据查看🔹 4. 数据选择与索引🔹 5. 数据清洗🔹 6. 数据运算🔹 7. 数据筛选(布尔索引)🔹 8. 分组与聚合🔹 9. 排序 Pandas 常用方

2401_86285609的博客 1531

YOLOv11改进 | 模型知识蒸馏篇 | 利用模型蒸馏改进YOLOv11进行无损涨点 | 离线蒸馏(附代码 + 完整文件 + 解析教程)

这篇文章给大家带来的最新改进是模型的蒸馏,利用教师模型指导学生模型从而进行模型的涨点,本文的内容不仅可以用于论文中,在目前的绝大多数的工作中模型蒸馏是一项非常重要的技术,所以大家可以仔细学习一下本文的内容,本文从YOLOv8的项目文件为例,进行详细的修改教程,文章内包括完整的修改教程,针对小白我出了视频修改教程,如果你还不会我提供了修改后的文件大家直接运行即可,所以说不用担心不会适用!模型蒸馏真正的无损涨点,蒸馏你只看这一篇文章就足够了!欢迎大家订阅我的专栏一起学习YOLO!

Snu77的博客 4320

jxl对Excel的读、写、更新以及插入图片(含代码实例)

Java Excel是一开放源码项目,通过它开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件以及插入图片等等。   详细介绍及API查看官方:http://www.andykhan.com/jexcelapi/index.html ps:读取结束时注意调用close()方法;释放内存 写入结束时先调用write()方法,否则得到的是空Excel,因为先前的

Michael 1214

rk628d修改默认分辨率

在rk3568上使用628d hdmi转mipi,在628d已经调试好的情况下,客户新增需求:视频输入这边的推荐分辨率固定在1024x768。

m0_60805802的博客 2053

在java中使用jxl操作excel

jxl是一个韩国人写的Java操作excel的工具, 在java的开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI(即jxl)。jxl功能相对POI比较弱一点。 但jExcelAPI对中文支持非常好,API是纯Java的, 不依赖Windows系统,即使运行在Linux下,也同样能够正确的处理Excel文件。 需要补充说明的是,jxl对图形和图表的支持

cx136295988的博客 5818

2、微软 Power Automate 入门指南

本文是一篇关于微软 Power Automate 的入门指南,详细介绍了 Power Automate 的基本概念、相关术语、登录方式以及如何创建一个简单的自动化流。文章还探讨了 Power Automate 在业务流程中的应用场景和优势,并展望了其高级功能和未来发展。适合希望快速入门 Power Automate 并提升业务自动化效率的读者。

corn8的博客 442

自动驾驶算法/规划决策控制算法面经汇总、学习路线、面经心得

自动驾驶算法学习路线,面试求职大全

qq_41667348的博客 1万+

Java Excel

Java Excel是一开放源码项目,通过它开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件以及插入图片等等。    详细介绍及API查看官方:http://www.andykhan.com/jexcelapi/index.html  ps:读取结束时注意调用close()方法;释放内存  写入结束时先调用write()方法,否则得到的是空Excel

MR_DULL的专栏 1203

【软件系统架构】系列十一:面向对象技术—sysML

摘要: SysML(系统建模语言)是UML的扩展,专为复杂系统工程设计,支持硬件、软件、人员等跨领域建模。其核心包括9种图:4种结构图(如块定义图BDD、内部块图IBD)、4种行为图(如活动图AD、序列图SD)和需求图(REQ),覆盖需求、结构、行为及参数约束。相比UML(面向软件),SysML精简图表(9 vs 13),强化需求追踪与性能分析(如参数图PD),并支持MBSE(基于模型的系统工程)。需求关系(如满足、验证、派生)在需求图中明确关联设计实现,形成闭环管理。SysML是UML的子集与系统工程扩展

moton2017的博客 1905

java利用jxl操作excel文件

  前段时间在搞数学建模,好多数据都是直接存在excel文件中,利用java直接读取行不通。 把数据直接粘贴在记事本中,数据之间又会有好几个空格,这给数据读取造成了很大的麻烦。 所以,今天趁晚上比较空,网上查了一下怎么利用java来操作excel文件,本文采用的是 第三方包 jxl.jar 包里面的类来实现的。   其实基本的学习起来非常简单   ①.第一步当然是下载一个jxl.ja...

u013750145的博客 385

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Java利用jxl.jar操作Excel文件的方法——把两列相同的数据扫描输出到新的Excel文件中...

为什么80%的码农都做不了架构师?>>> ...

weixin_34407348的博客 183

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

java利用jxl.jar操作excel文件

Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。使用该API非Windows操作系统也可以通过纯Java应用来处理Excel数据表。因为是使用Java编写的,所以我们在Web应用中可以通过JSP、Servlet来调用API实现对Excel数据表的访问。  现在发布的稳定版本是V2.0,提供以下功能:  

brucehu1982的专栏 3001

利用JXL实现对于excel-2000/2003版本的文件进行读写操作

读取和写入Excel文件

mr_tangshuai的博客 359

利用 JAVA 操作 EXCEL 文件(jxl)

源:http://www.ibm.com/developerworks/cn/java/l-javaExcel/index.html 评: 简介: 使用 Windows 操作系统的朋友对 Excel(电子表格)一定不会陌生,但是要使用 Java 语言来操纵 Excel 文件并不是一件容易的事。在 Web 应用日益盛行的今天,通过 Web 来操作 Excel 文件的需求越来越强烈,目前较为流行...

mauersu 171

利用java操作Excel文件(jxl.jar)

 一.读取Excel文件内容java 代码/**读取Excel文件的内容    * @param file  待读取的文件    * @return    */   public static String readExcel(File file){        StringBuffer sb = new Str

299

iMOOC学习笔记:Java的Excel读写操作入门实践-利用JXL解析Excel文件(二)

David老师的解密JAVA实现Excel导入导出读写Excel三种常用技术 1. POI 2. JXL 3. FASTEXCEL读的操作:package com.imooc.excel; import java.io.File; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; public class JxlReadExc

jluzh04140717的博客 450

iMOOC学习笔记:Java的Excel读写操作入门实践-利用JXL生成Excel文件(一)

David老师的解密JAVA实现Excel导入导出读写Excel三种常用技术 1. POI 2. JXL 3. FASTEXCEL写的操作:package com.imooc.excel; import java.io.File;import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; imp

jluzh04140717的博客 425

Java Web获取数据库数据,利用jxl实现数据导出成Excel文件

一、效果图 二、代码 数据库操作类MysqlUtil.java package com.jekin.utils; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sq

Jekin Blog 4003

JAVA JXL -----excel文件上传和解析

Java 操作EXCEL 有比较常见的方法 一是使用开源JXL组件,另外一种是POI,POI相对应用更广泛,能够操作微软所有windows文档,但数据量大的情况下比较消耗内存,所以相对效率比较低。这里介绍JXL的使用:使用很方便,是需要一个jxl.jar包就能完成EXCEL的解析

timesongjie的专栏 8705

java jxl 写 excel文件_Java使用jxl对excel文件进行简单的读写

jxl的Jar包下载地址:百度网盘import java.io.File;import java.io.IOException;import jxl.Sheet;import jxl.Workbook;import jxl.read.biff.BiffException;import jxl.write.Label;import jxl.write.WritableCellFeatures;imp...

weixin_36115023的博客 315

JAVA使用jxl写excel

一、jxl.jar简介二、jxl.jar下载、安装、使用三、jsp页面中使用jxl写excel 一、jxl简介  Java Excel是一开放源码项目,Java开发人员通过它可以对excel文档进行读取、创建、更新等操作。因为jxl是使用java编写的,所以使用该 API非Windows操作系统也可以正常的处理Excel数据表。并且我们在Web应用中可以通过JSP、 Servl

无名小卒 3290

JAVA操作Excel表格:方法一:jxl的使用①:Excel实战之JXL创建excel文件

学习慕课网《解密JAVA实现Excel导入导出》之后的练习:package com.cxl; import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import java.io.File; public class JxlE...

南北极之间 493
上一篇: java servlet生成验证码
下一篇: Jfreechart生成曲线图数据点显示数据值
superjava_2006
博客等级 码龄20年 39粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值