- 浏览: 697022 次
- 性别:
- 来自: 北京
-
文章分类
最新评论
-
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 2549代码比较简单: private static Map< ... -
java io之输入篇
2012-05-15 15:44 2225不知不觉java ... -
c3p0的配置
2012-05-11 14:37 2706c3p0是一个开源的JDBC连 ... -
tomcat的多域名、虚拟主机配置
2012-05-10 13:48 1893众所周知apache可以配置多域名和虚拟主机,而且配置起来比较 ... -
struts处理自定义异常
2012-03-08 16:35 1439很多时候我们会用到自 ... -
spring注入servlet
2012-03-08 14:17 1459传统的配置方法是无法将bean或属性直接注入到servlet中 ... -
Java事务处理
2012-03-01 15:24 1316一、什么是Ja ... -
分页查询实现
2012-02-20 11:21 2465在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每 ... -
自定义网站图标
2012-02-17 14:07 1752我们发现很多网站的地址栏上都会显示一个小图标,类似于: 其 ... -
跳出iframe返回外层页面
2012-02-15 16:36 2930在web开发过程中难免要用到iframe,但当连接超时或跳转到 ... -
spring中hibernate及事务配置
2012-02-15 14:19 2036hibernate的sessionFactory配置: &l ... -
java上传
2012-02-15 14:05 1399我们在做web项目中通常会遇到上传文件的情况,用struts等 ... -
简单的防止重复登录实现
2012-02-14 17:24 2707这个实现利用的是struts2的拦截器,大家也可以试着用fil ... -
java中的枚举(enmu)
2012-02-14 14:33 5033从jdk1.5开始,java增加了enum(枚举)这个类型,但 ... -
nginx的配置及使用
2012-02-09 13:59 3988Nginx ("engine x") 是一 ... -
HttpURLConnection与http返回码
2012-02-06 09:53 12253在我们访问网站的时候会经常碰到页面没找到这种情况,例如: ... -
java中的filter
2012-02-03 11:21 2827上一篇说了 ... -
java与servlet
2012-01-16 14:12 1341servlet 搞java web开发的人一定不会陌生,而且 ... -
java 单例模式
2012-01-10 17:23 1138想必单例模式大家都不会陌生,有如下两种方式来实现单例模式: ...
相关推荐
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工具,代替poi easyexcel重写了poi对07版Excel的解析,能够原本一个3M的excel用POI sax依然需要100M左右内存降低到KB级别,并且再大的excel不会出现内存溢出,03版依赖POI的sax模式。在上层做了模型...
Java Excel工具类主要涉及到在Java应用中处理Microsoft Excel文件的操作,包括数据的导入和导出。这个zip文件包含了两个核心的Java源代码文件:ExcelUtils.java和ExcelController.java,它们分别对应于工具类和控制...
概述:Java poi导入导出EXCEL工具类(兼容各版本) 一、功能说明 允许同时导入或导出多个sheet,同一sheet可同时存在多个数据块,按数据块划分处理数据。 二、配置文件示例及详细说明 1、导入xml配置示例如下(见...
本篇文章将详细介绍如何利用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和...