首先网上搜索了一些文章,现在java操作excel比较多的使用jxl与POI。
前者比较轻便,更有针对性,但是功能不够强大。
有人已经使用代码测试过了,详情见:http://sunjun041640.blog.163.com/blog/static/256268322008525113505/
POI还没用过,先弄个jxl的简单操作Excel供大家参考。
package excelFile;
import java.io.File;
import java.io.IOException;
import jxl.*;
import jxl.format.UnderlineStyle;
import jxl.read.biff.BiffException;
import jxl.write.*;
import jxl.write.Boolean;
import jxl.write.Number;
import jxl.write.biff.RowsExceededException;
public class TestJlxFuction {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
readExl("d:/test/wbook.xls");
creatExl("d:/test/writebook.xls");
modifyExl("d:/test/writebook.xls");
}
private static void creatExl(String fileName)
{
WritableWorkbook wwb = null;
try {
wwb = Workbook.createWorkbook(new File(fileName));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
WritableSheet ws = wwb.createSheet("第1页", 1);
/**
*下面的格式设置出自: http://javacrazyer.iteye.com/blog/723924
*/
//**************往工作表中添加数据*****************
//1.添加Label对象
Label label = new Label(0,0,"this is a label test");
try {
ws.addCell(label);
//添加带有字型Formatting对象
WritableFont wf = new WritableFont(WritableFont.TIMES,18,WritableFont.BOLD,true);
WritableCellFormat wcf = new WritableCellFormat(wf);
Label labelcf = new Label(1,0,"this is a label test",wcf);
ws.addCell(labelcf);
//添加带有字体颜色的Formatting对象
WritableFont wfc = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,
UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);
WritableCellFormat wcfFC = new WritableCellFormat(wfc);
Label labelCF = new Label(1,0,"This is a Label Cell",wcfFC);
ws.addCell(labelCF);
//2.添加Number对象
Number labelN = new Number(0,1,3.1415926);
ws.addCell(labelN);
//添加带有Formatting的Number对象
NumberFormat nf = new NumberFormat("#.##");
WritableCellFormat wcfN = new WritableCellFormat(nf);
Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN);
ws.addCell(labelNF);
//3.添加Boolean对象
Boolean labelB = new jxl.write.Boolean(0,2,false);
ws.addCell(labelB);
//4.添加DateTime对象
jxl.write.DateTime labelDT = new jxl.write.DateTime(0,3,new java.util.Date());
ws.addCell(labelDT);
//添加带有Formatting的DateFormat对象
DateFormat df = new DateFormat("dd MM yyyy hh:mm:ss");
WritableCellFormat wcfDF = new WritableCellFormat(df);
DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);
ws.addCell(labelDTF);
//添加图片对象,jxl只支持png格式图片
File image = new File("f:\\2.png");
WritableImage wimage = new WritableImage(0,1,2,2,image);
ws.addImage(wimage);
} catch (RowsExceededException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
wwb.write();
try {
wwb.close();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 读取excel中的信息
* 通过获取row与column进行遍历
*/
private static void readExl(String fileName)
{
Workbook book = null;
Sheet [] sheets = null;
Sheet sheet0 = null;
try {
try {
book = Workbook.getWorkbook(new File(fileName));
} catch (BiffException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
sheets = book.getSheets();
sheet0 = sheets[0];
/*
* 可以通过两层循环的方式遍历获取excel中的数据
*/
int rowNum = sheet0.getRows();
int colNum = sheet0.getColumns();
System.out.println("Rows :" + rowNum);
System.out.println("Columns :" + colNum);
for(int r = 0; r < rowNum; r++)
{
for(int c = 0; c < colNum; c++)
{
//注意getCell 参数1为列标,参数2二行标
Cell cell = sheet0.getCell(c, r);
String value = cell.getContents();
System.out.println(value);
}
}
book.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 更新Excel内容
* 采用copy的方式创建book进行操作
*/
public static void modifyExl(String fileName)
{
try
{
Workbook rwb = Workbook.getWorkbook(new File(fileName));
//打开一个文件的副本,并且指定数据写回到原文件
WritableWorkbook wwb = Workbook.createWorkbook(new File(fileName),rwb);//copy
WritableSheet ws = wwb.getSheet(0);
WritableCell wc = ws.getWritableCell(0,0);
//判断单元格的类型,做出相应的转换
if(wc.getType() == CellType.LABEL)
{
Label label = (Label)wc;
label.setString("The value has been modified");
}
wwb.write();
wwb.close();
rwb.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
相关推荐
Java_Excel_API_jxl是用于处理Excel文件的一个流行库,它允许开发者以编程方式创建、读取和修改Excel文件。本篇文章将深入探讨如何使用jxl API进行Java与Excel的交互,并提供jxl.jar的下载信息。 一、jxl简介 jxl是...
本文将深入探讨Java编程语言中如何使用Apache POI库和JExcelAPI(JXL)来读取、写入及操作Excel文件,同时也包括设置列宽以及处理合并或拆分的单元格内容。 首先,Apache POI是Apache软件基金会的一个开源项目,专...
JXL库作为一个强大的工具,为Java开发者提供了方便快捷的方式来读取、写入和操作Excel文件。本文将深入探讨JXL库的核心功能及其在解析Excel文件中的应用。 首先,让我们明确一下标题"jxl.zip_excel_jxl_jxl.biff....
在Java编程环境中,读取Excel文件是常见的任务,特别是在数据处理和分析的场景下。`jxl`库是一个广泛使用的第三方库,它允许开发者轻松地读取、写入和修改Excel文件。本篇文章将深入探讨如何利用`jxl.jar`包来实现这...
这个库允许Java开发者方便地读取、写入和操作Excel文件,特别是老版本的.xls格式。本文将详细探讨如何使用JExcelAPI进行Excel操作,并提供相关的代码示例。 首先,JExcelAPI提供了对Excel工作簿(Workbook)、工作...
综上所述,JXL库为Java开发者提供了一个高效、灵活的工具集,用于处理Excel文件的各种需求,包括创建、读取、更新文件以及高级的单元格格式化。掌握JXL的使用方法,无疑能显著提升项目中数据处理的效率和质量。
总结来说,jxl.jar库是Java操作Excel的一个实用工具,它提供了丰富的API来读取、修改和创建Excel文件。通过熟练掌握这个库,开发者可以方便地在Java应用程序中集成Excel相关的功能,进行数据处理和报告生成等工作。...
1. **JXL**:JExcelApi(通常简称为JXL)是用于读取、写入和修改Excel文件的Java库。它支持多种Excel功能,包括单元格样式、公式、图像、布尔值、日期、数字等。JXL通过提供简单易用的API,使得Java开发者能够方便地...
JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel报表。 首先,要使用JXL库,你需要在项目中引入它的依赖。在本例中,`jxl.jar`是JXL库的核心...
该库允许开发者以纯 Java 的方式创建、读取和修改 Excel 文件,无需依赖于 Windows 操作系统或 Office 应用程序。本文将详细介绍 Jxl 的主要功能及其基本使用方法。 #### 主要特性 - **支持多种 Excel 版本**:Jxl...
Java JXL库是一个广泛使用的Java库,用于读取和写入Microsoft Excel文件。这个库使得在Java应用程序中处理Excel数据变得简单,无论是导入数据到程序中进行分析,还是导出程序结果到Excel文件供用户查看或进一步处理...
这个"jxl开发包(java_excel)"包含了处理Excel文件所需的全部组件,包括核心库、API文档以及示例代码,为Java程序员提供了方便的接口来操作Excel数据。 在Java中,JExcelApi主要提供了以下功能: 1. **读取Excel...
Java Jxl库是一个强大的工具,用于在Java应用程序中处理Microsoft Excel文件。它支持从Excel 95到2000的所有版本,同时也允许生成Excel 2000标准格式的文件。Jxl的主要特点包括对字体、数字、日期的操作,单元格属性...
2. Excel 文件操作:Excel 文件操作是指使用 Java 语言对 Excel 文件进行读取、写入、删除等操作的过程。 3. JXL 库:JXL 库是指 Java Excel API,即 Java 语言对 Excel 文件的操作 API。 4. Workbook:Workbook 是...
jExcelAPI(jxl)是一个用于读写Microsoft Excel文件的纯Java库。它支持Excel 95-2000的所有版本,并能生成Excel 2000的标准格式。此外,jxl还支持多种特性,包括但不限于: - **字体、数字和日期操作**:允许用户...
`jxl`库是Java中一个广泛使用的库,它允许开发者方便地读取和写入Excel文件(.xls格式)。本篇将详细介绍如何利用`jxl`库来操作Excel文件,并结合实例说明如何从Excel文件中提取数据并生成TXT文件。 首先,我们需要...
JXL API就是这样一款强大的Java库,它提供了对Excel文件的读写功能,让开发者能够轻松地在Java应用中操作Excel。 JXL API全称为Java Excel API,是专门针对Java平台设计的,用于处理Excel文件的开源库。它的主要...
总之,Java POI 和 JXL 是处理Excel文件的强大工具,无论是在读取、写入还是修改数据方面都有很好的支持。通过学习和实践这些库,你可以轻松地在Java应用程序中集成Excel功能。在这个压缩包中的 "JAVA_Excel" 文件...