- 浏览: 267306 次
- 性别:
- 来自: 深圳
最新评论
-
zhaoaifeiyu:
楼主真是幽默,不过我看这个帖子居然是13年的。。。 我感觉我 ...
Java使用Tess4J 进行图片文字识别 笔记 -
wangzihui:
你好,能给我一个完整的代码么?我按照你的写出来后,汉字全是乱码 ...
Java使用Tess4J 进行图片文字识别 笔记 -
piaolin7:
[color=orange] ...
Java使用Tess4J 进行图片文字识别 笔记 -
xulei1992:
打开只有一个读到一半的进度条啊亲
连连看-js -
chenhailong:
楼主请问下你上面那个图是怎么画的?是用什么工具?
Java7语法新特性
今天用到 Excel 中第一次见到 POI 说实话,自己的见识还是太少了.多多学习呀.晚上回来总结了一下.下面分别是它们的写入,输出,修改.
package com.isw2.test; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.Date; import java.util.List; import jxl.DateCell; import jxl.Sheet; import jxl.Workbook; import jxl.read.biff.BiffException; import jxl.write.DateTime; import jxl.write.Label; import jxl.write.WritableCellFormat; import jxl.write.WritableFont; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import jxl.write.WriteException; import jxl.write.biff.RowsExceededException; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFDataFormat; import org.apache.poi.hssf.usermodel.HSSFFont; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.hssf.util.Region; public class ExcelDemo { private String path = "C:/test.xls"; public static void main(String[] args) { List list = new ArrayList(); for (int i = 0; i < 10; i++) { int[] numArr = new int[] { 12, 45, 36, 78, 46 }; list.add(numArr); } ExcelDemo excel = new ExcelDemo(); excel.createExcelPOI(list); excel.updateExclePOI(); } /** * 使用 POI 更新 Excel */ public void updateExclePOI() { File file = new File(path); try { InputStream inPutStream = new FileInputStream(file); HSSFWorkbook workbook = new HSSFWorkbook(inPutStream); HSSFSheet sheet = workbook.getSheetAt(0); HSSFRow row = sheet.getRow(7); row.getCell(0).setCellValue("google"); inPutStream.close(); OutputStream outPutStream = new FileOutputStream(file); workbook.write(outPutStream); outPutStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * 使用 POI 读取 Excel */ public void readExclePOI() { File file = new File(path); try { InputStream inputStream = new FileInputStream(file); HSSFWorkbook workbook = new HSSFWorkbook(inputStream); HSSFSheet sheet = workbook.getSheetAt(0); HSSFRow row = sheet.getRow(0); inputStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * 使用 POI 写入 Excel * * @param list */ public void createExcelPOI(List list) { try { File file = new File(path); OutputStream outPutStream = new FileOutputStream(file); HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("工作表1"); HSSFRow row = sheet.createRow(0); HSSFCell cell = row.createCell((short) 0); cell.setCellType(HSSFCell.CELL_TYPE_STRING); cell.setCellValue(new Date()); // 设置时间格式 HSSFCellStyle DateStyle = workbook.createCellStyle(); DateStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy")); cell.setCellStyle(DateStyle); // 合并单元格 sheet.addMergedRegion(new Region(0, (short) 0, 4, (short) 4)); // 设置字体 HSSFFont font = workbook.createFont(); font.setFontName("宋体"); // 设置斜体 font.setItalic(true); // 粗体 font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); HSSFCellStyle style = workbook.createCellStyle(); style.setFont(font); style.setWrapText(true); for (int i = 0; i < list.size(); i++) { HSSFRow rowTemp = sheet.createRow(i + 5); int[] number = (int[]) list.get(i); for (int j = 0; j < number.length; j++) { HSSFCell cellTemp = rowTemp.createCell((short) j); cellTemp.setCellValue(number[j]); cellTemp.setCellStyle(style); } } workbook.write(outPutStream); outPutStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } /** * JXL 更新 Excel 文件 */ public void updateExcelJXL(){ File file = new File(path); try { Workbook workbook = Workbook.getWorkbook(file); //这里是与写入的区别,仅此 WritableWorkbook wwb = workbook.createWorkbook(file,workbook); WritableSheet sheet = wwb.getSheet(0); Label lable = new Label(0,7,"google"); sheet.addCell(lable); wwb.write(); wwb.close(); workbook.close(); } catch (BiffException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (WriteException e) { e.printStackTrace(); } } /** * JXL 读取 Excel 文件 */ public void readExcelJXL() { File file = new File(path); try { Workbook workbook = Workbook.getWorkbook(file); Sheet sheet = workbook.getSheet(0); // 读取 时间 DateCell dateCell = (DateCell) sheet.getCell(0, 0); System.out.println(dateCell.getDate()); for (int i = 5; i < 15; i++) { for (int j = 0; j < 5; j++) { String str = sheet.getCell(j, i).getContents(); System.out.print(str + "\t"); } System.out.println(); } workbook.close(); } catch (BiffException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } /** * 用 JXL 写入 Excel 文件 * * @param list */ public void createExcelJXL(List list) { File file = new File(path); try { OutputStream outPutStream = new FileOutputStream(file); WritableWorkbook wwb = Workbook.createWorkbook(outPutStream); // 设置表空间 WritableSheet ws = wwb.createSheet("工作表1", 0); // 合并单元格 ws.mergeCells(0, 0, 4, 4); // 时间写入 DateTime dateTime = new DateTime(0, 0, new Date()); ws.addCell(dateTime); // 设置字体 WritableFont wfc = new WritableFont(WritableFont.createFont("宋体"), 10, WritableFont.NO_BOLD, true); WritableCellFormat wcfFC = new WritableCellFormat(wfc); // 内容自动适应 wcfFC.setWrap(true); for (int i = 0; i < list.size(); i++) { int[] number = (int[]) list.get(i); for (int j = 0; j < number.length; j++) { Label lableTemp = new Label(j, i + 5, String .valueOf(number[j]), wcfFC); ws.addCell(lableTemp); } } wwb.write(); wwb.close(); outPutStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (RowsExceededException e) { e.printStackTrace(); } catch (WriteException e) { e.printStackTrace(); } } }
只是简单的操作了些.做了些指引,以后有机会深入学习一些.
这里把代码和 Jar 包放上来,和大家分享.好久没这么学习过了.久违的感觉.
参考了以下的文章:
http://www.iteye.com/topic/322837
http://sjhorse.iteye.com/blog/156905
给了很大的帮助.
- Excel.rar (1.8 MB)
- 下载次数: 52
发表评论
-
Java使用Tess4J 进行图片文字识别 笔记
2013-09-16 09:21 83822最近的工作中需要使用到从图片中识别文字的操作,就在网上 ... -
Effective Java(第二版)读书笔记
2013-04-16 17:40 1257ITeye一天不如一天了 -
Java 动态执行代码
2012-10-26 15:59 3314今天总结了一下.动态执行java代码比较好的有ognl(只能计 ... -
Java7语法新特性
2012-09-29 16:32 4433电子书下载地址:http://www.info ... -
Enum学习
2012-09-21 18:09 1977关于枚举的使用参考: http://helloyesyes. ... -
《代码大全2》防御式编程读书笔记(思维导图)
2012-09-15 16:30 2567最近在看代码大全,参考http://www.cnblogs.c ... -
MyBatis(iBATIS) 学习
2011-04-13 16:42 5182IBatis 后改名为MyBatis,官方网站 http:// ... -
ant 的使用
2011-04-10 10:25 1554首先参考http://www.iteye.com/topic/ ... -
源代码分析commons-io-2.0.1-src (二)
2011-03-04 15:58 2010以前是搞J2EE Web开发的,近来开始搞C/S开发,以前在框 ... -
源代码分析commons-io-2.0.1-src (一)
2011-03-03 11:39 2846Commons 是Apache 的一个开源项目,提供了一些由a ... -
java.util.Timer 中schedule和scheduleAtFixedRate的区别
2011-01-24 17:53 2553最近项目中大量用到Timer 总结一下. schedule安 ... -
javadoc生成chm 文档
2010-12-29 23:28 1742http://blog.csdn.net/jsjm ... -
字符编码
2010-05-12 12:14 931try { String str = "你好&q ... -
JNI学习-C 调用Java
2010-03-22 10:36 7919参考了http://www.iteye.com/topic/4 ... -
JNI 学习-Java 调用C
2010-03-19 11:35 1221http://blog.csdn.net/kenera/arc ... -
Java 网络编程回顾
2010-03-14 16:02 913URL的使用 url = new URL(&qu ... -
BigDecimal 使用小结
2009-11-19 17:55 1720在Hibernate 的使用中出了一些小意外. 1 查询中 ... -
iText 创建 PDF
2009-11-10 01:17 1718前些日子搞 doc 转 PDF.头大.没什么进展.今天把PD ... -
POI 操作 doc
2009-11-09 02:16 3238首先要说明,过程中出了问题. 1 文件头. doc 它比 ...
相关推荐
本资源提供了两个流行的库——JXL和Apache POI,用于读取和写入Excel表格,同时还附带了相关的文档和Java项目源码示例,方便开发者快速理解和应用。 JXL是一个Java库,它允许开发人员对Microsoft Excel文件进行读写...
jxl jxl包 poi技术导出数据至excel中 poi-bin-2.5.1包 jxl对excel表格 代码操作 poi技术 java代码从数据库取数据导入至Excel表中 poi-bin-2.5.1-final-20040804.jar
POI允许开发者通过Java代码创建复杂的Excel表格,包括单元格样式、公式、图表等。 1. **POI使用基础**: - 创建Workbook对象,它是Excel文件的容器。 - 创建Sheet对象,代表Excel工作簿中的单个工作表。 - 在...
**JXL(JExcel API)** 是一个较早出现的库,主要适用于处理早期版本的Excel文件(如Excel 95、97和2003),支持的功能包括读取和写入数据、设置单元格样式、修改已有表格等。然而,由于其设计目标主要是针对旧版...
Java 操作 Excel 表格是开发中常见的需求,特别是在数据导入导出、数据分析或报表生成等场景。"jxl" 是一个 Java 库,专门用于读取和写入 Microsoft Excel 文件(.xls 格式)。这个库使得在 Java 程序中处理 Excel ...
Java操作Excel表格是Java开发中常见的一项任务,特别是在数据处理、报表生成以及数据导入导出等场景。`jxl.jar` 是一个非常流行的Java库,它允许开发者在Java程序中方便地读取和写入Excel文件。这个库是Java Excel ...
本文将介绍如何利用PageOffice库在Java环境中无需JXL和POI,直接自动生成Excel表格。 PageOffice是一款能够帮助开发者在服务器端直接操作Office文档的Java组件。它可以实现动态创建、编辑、保存、打印Office文档等...
总结一下,本文主要介绍了如何使用PageOffice组件在Java环境中,不依赖JXL和POI,自动生成Excel表格。通过步骤化的示例,我们展示了如何创建一个新的Excel文件,并在其中填充数据,包括标题和具体的数据项。这为...
标题中的“jxl,POI jar包”提及的是两个在Java编程中用于处理电子表格的库,即JExcelAPI(jxl)和Apache POI。这两个库都是为了方便开发者读写Microsoft Office格式的文件,尤其是Excel工作簿。下面将详细阐述这两...
本文将深入探讨如何利用`jxl`库进行Excel表格的操作,包括读取表格、拷贝工作簿、更新工作簿以及将多个Sheet合并到一个Excel文件中。 首先,让我们了解`jxl`库的基本概念。`jxl`库提供了一系列的类和接口,如`...
在这个场景中,我们关注的两个核心库是`jxl.jar`和`poi3.14.jar`,它们都是Java中用于Excel操作的重要库,但各有其特性和适用范围。 首先,`jxl.jar`是由JExcelAPI项目提供的一个开源库,它主要用于处理老版本的...
对比JXL和Apache POI,虽然两者都能处理Excel文件,但POI的灵活性和功能更全面。如果你需要处理复杂的Excel任务,或者需要支持.xlsx格式,那么Apache POI可能是更好的选择。而JXL则适合那些需求相对简单,且主要处理...
这两个库都允许开发者在Java应用程序中读取、写入和操作Microsoft Office格式的文件,特别是Excel电子表格。 **jExcelAPI(jxl)**: jExcelAPI,简称jxl,是一个用Java编写的开源库,它提供了读取和写入Excel文件...
本文将深入探讨Java编程语言中如何使用Apache POI库和JExcelAPI(JXL)来读取、写入及操作Excel文件,同时也包括设置列宽以及处理合并或拆分的单元格内容。 首先,Apache POI是Apache软件基金会的一个开源项目,专...
这个库非常实用,因为它允许你在不依赖于Microsoft Office的情况下,通过Java程序对Excel表格进行各种操作。 首先,我们要了解`jxl`的核心概念。`jxl`库支持多种类型的Excel对象,包括工作簿(Workbook)、工作表...
Apache POI提供了详细的API文档,可以在其官方网站上找到,帮助开发者了解各个对象的属性和方法,以便更好地利用POI进行Excel操作。 总结,Apache POI是Java处理Excel的强大工具,无论你是要创建新的Excel文件,...
Apache POI和JXL是两个流行的库,它们允许开发者用Java语言读写Microsoft Excel格式的数据。在这篇文章中,我们将深入探讨这两个库,以及如何在实际项目中使用它们。 首先,Apache POI是一个开源的Java API,它允许...
**标题详解:**"jxl.jar (JAVA对EXCEL表格的操作)" `jxl.jar` 是一个Java类库,主要用于处理Microsoft Excel文件。这个库使得Java开发者能够在程序中读取、写入、编辑以及创建Excel电子表格。它提供了丰富的API接口...
博主747017186可能会分享一些示例代码,解释如何读取、创建或修改Excel表格,并可能涉及错误处理和性能优化等方面。 标签"源码"暗示我们将探讨的是实际的编程代码,可能是Java代码,用来展示如何集成和使用jxl.jar...