- 浏览: 694623 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
masuweng:
写的详细
Java中的枚举 -
zmwxiaoming:
java unix时间戳转换 -
g21121:
lhq1013 写道请问 我通过什么方式可以获取到tomca ...
tomcat优化 -
lhq1013:
请问 我通过什么方式可以获取到tomcat的qps值?
tomcat优化 -
zengshaotao:
condition的测试代码有问题,一个await的线程醒来之 ...
Java并发之Condition与Lock
直接上代码,一看就懂,利用的是jxl:
import java.io.File; import java.io.IOException; import jxl.Cell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import jxl.write.Label; import jxl.write.WritableImage; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; /** * Excel表格工具 * * @author liming * @version 1.0 2011-3-31 * @since JDK 1.6 */ public class ExcelUtils { public static String readExcel(File file) { StringBuffer sb = new StringBuffer(); Workbook wb = null; try { // 构造Workbook(工作薄)对象 wb = Workbook.getWorkbook(file); } catch (BiffException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } if (wb == null) return null; // 获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了 Sheet[] sheet = wb.getSheets(); if (sheet != null && sheet.length > 0) { // 对每个工作表进行循环 for (int i = 0; i < sheet.length; i++) { // 得到当前工作表的行数 int rowNum = sheet[i].getRows(); for (int j = 0; j < rowNum; j++) { // 得到当前行的所有单元格 Cell[] cells = sheet[i].getRow(j); if (cells != null && cells.length > 0) { // 对每个单元格进行循环 for (int k = 0; k < cells.length; k++) { // 读取当前单元格的值 String cellValue = cells[k].getContents(); sb.append(cellValue + "\t"); } } sb.append("\r\n"); } sb.append("\r\n"); } } // 最后关闭资源,释放内存 wb.close(); return sb.toString(); } /** * 生成一个Excel文件 * * @param fileName * 要生成的Excel文件名 */ public static void writeExcel(String fileName) { WritableWorkbook wwb = null; try { // 首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象 wwb = Workbook.createWorkbook(new File(fileName)); } catch (IOException e) { e.printStackTrace(); } if (wwb != null) { // 创建一个可写入的工作表 // Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置 WritableSheet ws = wwb.createSheet("sheet1", 0); // 下面开始添加单元格 for (int i = 0; i < 10; i++) { for (int j = 0; j < 5; j++) { // 这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行 Label labelC = new Label(j, i, "这是第" + (i + 1) + "行,第" + (j + 1) + "列"); try { // 将生成的单元格添加到工作表中 ws.addCell(labelC); } catch (RowsExceededException e) { e.printStackTrace(); } catch (WriteException e) { e.printStackTrace(); } } } try { // 从内存中写入文件中 wwb.write(); // 关闭资源,释放内存 wwb.close(); } catch (IOException e) { e.printStackTrace(); } catch (WriteException e) { e.printStackTrace(); } } } /** * 搜索某一个文件中是否包含某个关键字 * * @param file * 待搜索的文件 * @param keyWord * 要搜索的关键字 * @return */ public static boolean searchKeyWord(File file, String keyWord) { boolean res = false; Workbook wb = null; try { // 构造Workbook(工作薄)对象 wb = Workbook.getWorkbook(file); } catch (BiffException e) { return res; } catch (IOException e) { return res; } if (wb == null) return res; // 获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了 Sheet[] sheet = wb.getSheets(); boolean breakSheet = false; if (sheet != null && sheet.length > 0) { // 对每个工作表进行循环 for (int i = 0; i < sheet.length; i++) { if (breakSheet) break; // 得到当前工作表的行数 int rowNum = sheet[i].getRows(); boolean breakRow = false; for (int j = 0; j < rowNum; j++) { if (breakRow) break; // 得到当前行的所有单元格 Cell[] cells = sheet[i].getRow(j); if (cells != null && cells.length > 0) { boolean breakCell = false; // 对每个单元格进行循环 for (int k = 0; k < cells.length; k++) { if (breakCell) break; // 读取当前单元格的值 String cellValue = cells[k].getContents(); if (cellValue == null) continue; if (cellValue.contains(keyWord)) { res = true; breakCell = true; breakRow = true; breakSheet = true; } } } } } } // 最后关闭资源,释放内存 wb.close(); return res; } /** * 往Excel中插入图片 * * @param dataSheet * 待插入的工作表 * @param col * 图片从该列开始 * @param row * 图片从该行开始 * @param width * 图片所占的列数 * @param height * 图片所占的行数 * @param imgFile * 要插入的图片文件 */ public static void insertImg(WritableSheet dataSheet, int col, int row, int width, int height, File imgFile) { WritableImage img = new WritableImage(col, row, width, height, imgFile); dataSheet.addImage(img); } public static void main(String[] args) { /* * try { //创建一个工作薄 WritableWorkbook workbook = * Workbook.createWorkbook(new File("D:/test1.xls")); //待插入的工作表 * WritableSheet imgSheet = workbook.createSheet("Images",0); //要插入的图片文件 * File imgFile = new File("D:/login_jc.png"); * //图片插入到第二行第一个单元格,长宽各占六个单元格 insertImg(imgSheet,0,1,10,20,imgFile); * workbook.write(); workbook.close(); } catch (IOException e) { * e.printStackTrace(); } catch (WriteException e) { * e.printStackTrace(); } */ // System.out.println(readExcel(new File("d:/test1.xls"))); // System.out.println(searchKeyWord(new File("d:/test1.xls"), "张三")); writeExcel("d:/kkk.xls"); } }
- jxl.jar (708.7 KB)
- 下载次数: 5
发表评论
-
Java多线程
2016-04-18 11:12 3进程(Process)是计算机中的程序关于 ... -
将properties内容放置到map中
2012-05-24 14:37 2537代码比较简单: private static Map< ... -
java io之输入篇
2012-05-15 15:44 2217不知不觉java ... -
c3p0的配置
2012-05-11 14:37 2682c3p0是一个开源的JDBC连 ... -
tomcat的多域名、虚拟主机配置
2012-05-10 13:48 1883众所周知apache可以配置多域名和虚拟主机,而且配置起来比较 ... -
struts处理自定义异常
2012-03-08 16:35 1430很多时候我们会用到自 ... -
spring注入servlet
2012-03-08 14:17 1421传统的配置方法是无法将bean或属性直接注入到servlet中 ... -
Java事务处理
2012-03-01 15:24 1310一、什么是Ja ... -
分页查询实现
2012-02-20 11:21 2439在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每 ... -
自定义网站图标
2012-02-17 14:07 1737我们发现很多网站的地址栏上都会显示一个小图标,类似于: 其 ... -
跳出iframe返回外层页面
2012-02-15 16:36 2906在web开发过程中难免要用到iframe,但当连接超时或跳转到 ... -
spring中hibernate及事务配置
2012-02-15 14:19 2000hibernate的sessionFactory配置: &l ... -
java上传
2012-02-15 14:05 1392我们在做web项目中通常会遇到上传文件的情况,用struts等 ... -
简单的防止重复登录实现
2012-02-14 17:24 2702这个实现利用的是struts2的拦截器,大家也可以试着用fil ... -
java中的枚举(enmu)
2012-02-14 14:33 5018从jdk1.5开始,java增加了enum(枚举)这个类型,但 ... -
nginx的配置及使用
2012-02-09 13:59 3958Nginx ("engine x") 是一 ... -
HttpURLConnection与http返回码
2012-02-06 09:53 12223在我们访问网站的时候会经常碰到页面没找到这种情况,例如: ... -
java中的filter
2012-02-03 11:21 2817上一篇说了 ... -
java与servlet
2012-01-16 14:12 1331servlet 搞java web开发的人一定不会陌生,而且 ... -
java 单例模式
2012-01-10 17:23 1134想必单例模式大家都不会陌生,有如下两种方式来实现单例模式: ...
相关推荐
java Excel工具类,导入导出Excel数据,导入数据对合并表格有判断获取数据,导出数据到Excel,Excel文件不存在会创建。 博客:https://blog.csdn.net/qq_37902949/article/details/81230640
Java Excel工具类与LIB指的是在Java编程环境中处理Excel文件的一系列方法和库。这些工具能够帮助开发者轻松地创建、读取、修改Excel文件,并且能够将Excel数据转换为Java对象,反之亦然。这里提到的"XLSUtils.java...
ExcelUtil java excel工具类
Java操作Excel工具类是开发过程中常见的一种需求,尤其是在数据导入导出、数据分析或者报表生成的场景下。在Java中,我们可以使用多种库来处理Excel文件,例如Apache POI、JExcelAPI、OpenCSV等。本篇文章将重点介绍...
Java Excel工具类主要涉及到在Java应用中处理Microsoft Excel文件的操作,包括数据的导入和导出。这个zip文件包含了两个核心的Java源代码文件:ExcelUtils.java和ExcelController.java,它们分别对应于工具类和控制...
概述:Java poi导入导出EXCEL工具类(兼容各版本) 一、功能说明 允许同时导入或导出多个sheet,同一sheet可同时存在多个数据块,按数据块划分处理数据。 二、配置文件示例及详细说明 1、导入xml配置示例如下(见...
好用的java Excel工具,代替poi easyexcel重写了poi对07版Excel的解析,能够原本一个3M的excel用POI sax依然需要100M左右内存降低到KB级别,并且再大的excel不会出现内存溢出,03版依赖POI的sax模式。在上层做了模型...
本篇文章将详细介绍如何利用Java编写一个Excel工具类,以便于高效地操作Excel文件。 首先,我们需要引入一个Java处理Excel的库,Apache POI是一个广泛使用的开源库,它提供了API来创建、修改和读取Microsoft Office...
java Excel相关处理 工具类 java Excel相关处理 工具类java Excel相关处理 工具类 java Excel相关处理 工具类java Excel相关处理 工具类 java Excel相关处理 工具类java Excel相关处理 工具类 java Excel相关处理 ...
Java Excel API (JXL) 是一个广泛使用的...总之,这个基于JXL的Java Excel工具类为Java开发者提供了一个高效、灵活的方式来处理Excel数据。理解其背后的原理和使用方法,将有助于开发出更加健壮的Excel数据处理系统。
"Java中Excel转图片工具包(纯java)"就是这样一个解决方案,它实现了将Excel文件通过PDF中间格式转化为图片的功能。 首先,让我们了解一下这个工具包的工作原理。Excel文件本身并不直接支持转换为图片格式,但可以...
本资源包含一个名为`ExportExcelUtil.java`的Java工具类,专门用于处理这种任务,以及`poi3.7.zip`,这是一个Apache POI库的压缩包,它是Java操作Microsoft Office格式文件(如Excel)的重要支持库。 Apache POI是...
Java操作excel工具
在Java编程中,处理Excel文件是一项常见的任务,特别是在数据导入导出、数据分析或者报表生成等场景。本篇文章将深入探讨如何使用Java实现Excel文件的上传和读取,重点关注`MultiFile`转换为`File`以及处理多Sheet页...
一个实用的java导入导出Excel工具类,基于开源的Java Excel API(JXL)纯java类库实现,Windows和Linux系统下均可使用。 主要实现功能如下: 导出:将List转化为Excel(listToExcel)。 导入:将Excel转化为List...
首先,我们需要了解Java中的主要库,如Apache POI和JExcelAPI,它们是用于读取和操作Excel文件的流行工具。Apache POI是一个开源项目,提供了一个强大的API来处理Microsoft Office格式的文件,包括Excel(.xls和....
excel读取主流是poi和jxl,两种方式功能都很全,但是缺乏比较零散。这里CommonUtil类中包含了poi、jxl读取excel的封装类,读取出来后变为list,需要的jar包一起带上了。还附带了excel流的方式下载,以及request内容...
本篇将详细讲解如何利用Aspose.Cells来实现Java中Excel到PDF的转换,以及处理包含图片的单元格。 首先,你需要在项目中引入Aspose.Cells的依赖。如果使用Maven,可以在pom.xml文件中添加如下依赖: ```xml ...
java使用POI导出 Excel+图片工具类 ,里面含有poi jar包,只调用接口即可直接保存Excel。使用的时候需先把数据封装,具体包装需根据实际导出数据进行处理。文件demo中只提供包装格式。
Java生成和读取Excel文件是常见的数据处理任务,特别是在数据导入导出、报表生成和数据分析等领域。Apache POI是一个流行的开源库,它允许Java开发者创建、修改和显示Microsoft Office格式的文件,包括Excel(XLS和...