//既然是复制,那么我们首先要进行读取的操作。但是在jxl当中读取操作只能只读,而不能修改。也没有一种方式让我们直接在读取的时候定义成可读可写的
//但是jxl提供了一种方法。我们读取一份excel文件。然后将生产的workbook对象传入可读写的另外一个对象。这样的话。就可以实现一个读写的操作;
Workbook wb=null;
WritableWorkbook wwb=null;
try {
//从源文件中进行读取
wb=Workbook.getWorkbook(new File("c.xls"));
//然后复制一份到目标目录下、
//仔细看会发现。其实复制操作时读取和创建操作的一个综合打包。
wwb=Workbook.createWorkbook(new File("b.xls"),wb);
//得到第一个表;
WritableSheet ws= wwb.getSheet(0);
for(int i=0;i<10;i++){
for(int j=0;j<10;j++){
//得到具体的一个单元格
Cell c=ws.getCell(i, j);
//判断其类型;一般情况下有这么几种类型。是标签型的。数字型。日期型。
if(c.getType()==CellType.LABEL){
Label la=(Label) c;
la.setString("改变了!");
}
if(c.getType()==CellType.NUMBER){
Number no=(Number)c;
no.setValue(1);
}
if(c.getType()==CellType.DATE){
DateTime no=(DateTime)c;
no.setDate(new java.util.Date());
}
}
}
//每种不同的格式具有不一样的修改方法;
//标签型的话。用setString() 数字型的用setvalue 。日期型的用setDate();
//另外注意一点。这儿的修改不能像是获取一样一锅端。管它什么日期。标签。数字、全部将它的内容获取然后变成字符串。必须要判断你修改的这一个单元格的性质;
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally{
//关闭
try {
wwb.write();
wwb.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
wb.close();
}
System.out.println("修改了");
另外。如果你需要给修改的单元格限定格式的话。那么。只需要在修改之前给它指定格式就行
NumberFormat fivedps = new NumberFormat("#.#####");
WritableCellFormat cellFormat = new WritableCellFormat(fivedps);
cell.setFormat(cellFormat);
然后再进行修改即可。
通过运行我们发现。修改操作不是在原文件上操作的。因为原文件只有读取的操作。而是在复制的目标文件上进行操作。
官网文档里面有这么一段话:
However, if we need to modify this spreadsheet a handle to the various write interfaces is needed, which can be obtained using the copy method above. This copies the information that has already been read in as well as performing the additional processing to interpret the fields that are necessary to for writing spreadsheets. The disadvantage of this read-optimized strategy is that we have two spreadsheets held in memory rather than just one, thus doubling the memory requirements. For this reason copying and modifying large spreadsheets can be expensive in terms of processing and memory.
意思是说。复制和修改优点是只需要将原文件通过一个复制方法生成就行。而缺点是。我们必须在内存中保存两份文件的内容。这样付出的代价是昂贵的。
好了。关于jxl的操作就到此为止。附件我会附上源代码。
分享到:
相关推荐
本教程将深入讲解如何使用JXL库解析Excel中的固定模板,以智联招聘的简历模板为例进行说明。 首先,确保你的项目已经引入了JXL库。在这个例子中,我们看到一个名为`jxl-2.6.8.jar`的文件,这正是JXL库的jar包。将此...
本篇文章将详细介绍如何利用jxl库来解析Excel。 一、jxl库介绍 jxl库是由Waqas Bhatti开发的,它提供了Java API,使得开发者能够方便地与Excel文件进行交互。jxl库支持读取和写入Excel文件中的工作表、单元格、公式...
Java中的JXL库是一个非常实用的工具,它允许开发者在应用程序中读取、写入和修改Excel文件。这个库特别适合那些需要处理大量数据并希望将数据格式化为表格的项目。下面我们将深入探讨JXL库在Java Excel解析中的应用...
在Excel 2003时代,文件格式通常是.XLS,JXL能够很好地处理这种格式,提供了一系列API来实现对工作表、单元格、公式以及样式等元素的访问和修改。 首先,我们需要引入JXL库。如果你的项目是Maven工程,可以在pom....
JavaExcel库,通常以jxl.jar的形式出现,是Java开发者用于读取和写入Microsoft Excel文件的一个强大工具。这个库提供了方便的API,使得在Java应用程序中操作Excel电子表格变得非常简单。它不仅支持基本的读写功能,...
在这个场景中,我们主要关注如何使用JXL库来解析Excel文件。首先,我们需要确保已经将JXL库引入到我们的项目中,这里提供的"jxl.jar"就是这个库的实现。 JXL库的使用步骤大致如下: 1. **导入依赖**:在Java项目中...
JXL 操作 EXCEL 的各个类的解析 JXL 操作 EXCEL 的各个类的解析是 Java 语言中操作 Excel 文件的主要方法之一。JXL 通过提供了多种类来实现对 Excel 文件的读写操作。 首先,JXL 提供了一个抽象类 Workbook,该类...
`jxl`库是一个流行的Java库,它允许开发者读取、写入和修改Excel文件。本教程将详细介绍如何使用`jxl`库在导出Excel时添加水印,以及涉及的核心类`WritableWorkbook`、`WritableSheet`和`WritableCellFormat`。 `...
JXL库是一个广泛使用的Java库,它允许开发者读取、写入和修改Excel文件。本篇将深入探讨如何使用JXL库在Java中打印Excel报表。 首先,要使用JXL库,你需要在项目中引入它的依赖。在本例中,`jxl.jar`是JXL库的核心...
- **简介**:Apache POI 是一个开源项目,它允许Java开发者创建、修改和显示Microsoft Office文件,特别是Excel。POI支持老版本的BIFF8格式(.xls)和新版本的OpenXML格式(.xlsx)。 - **工作原理**:Apache POI...
本文将对比两种主流的Java Excel处理库:jxl和Apache POI,并探讨它们的特性和适用场景。 首先,jxl是较早的Java Excel处理库,主要用于读写Excel 97-2003格式的.XLS文件。它的API简洁,易于上手,对于简单的读写...
7. **保存更改**:完成对工作表的修改后,记得调用`write()`方法保存并关闭`Workbook`。 ```java workbook.write(); workbook.close(); out.close(); ``` 在实际开发中,你可能还需要处理更复杂的情况,如读写公式...
jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程 jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程
本文将介绍如何使用Java中的jxl库来操作Excel文件,包括创建、读取和格式化Excel数据。jxl是一个纯Java实现的库,适用于Windows、Linux等操作系统,对中文支持良好,不过其对图形和图表的支持相对有限。 1. **jxl库...
"jxl模版生成excel" 指的是使用JExcelAPI(简称jxl)这个Java库来创建基于模板的Excel文件。JExcelAPI是一个开源项目,允许程序开发者读写Microsoft Excel文件,它支持从Java数据结构直接导出到Excel格式,同时也可...
`jxl`库是一个广泛使用的开源库,它允许开发者用Java读取、写入和修改Excel文件。在这个特定的场景中,我们将探讨如何利用`jxl`库为Excel文件添加水印,特别关注`setWaterMarkImage`方法。 首先,`jxl`库不直接提供...
在Java编程环境中,处理Excel文件是一项常见的任务,而JXL库提供了一个简洁的API来实现这一功能。JXL是一个开源的Java库,专门用于读取和写入Microsoft Excel文件(.xls格式)。在这个示例中,我们将深入探讨如何...
Java中的JXL库是一个广泛使用的库,用于读取和写入Microsoft Excel文件。这个库使得在Java应用程序中处理Excel数据变得简单,而无需依赖于Microsoft Office。以下是对JXL库在进行Excel读写操作时的一些关键知识点的...
jxl是一款专为Java开发者设计的轻量级库,用于读取、写入和修改Microsoft Excel格式的文件。这个库在Java社区中被广泛使用,尤其适用于那些需要处理Excel数据但不希望依赖于Microsoft Office的项目。jxl库不仅提供了...