用jxl进行EXCEL读写时,经常会遇到这样的问题:
想要重新设置指定单元格的内容,但是保持所有格式不变
为此,我想方设法获取Cell对象,然后猜想Cell对象应该有setContent()或者setString()之类修改文本内容的方法吧。。。。我找了好久,都没有找到,看了JXL的API才发现Cell对象根本就没有这样的接口方法。
在百度上
http://zhidao.baidu.com/question/270104374.html&__bd_tkn__=5cbb18342161862f5605bf67a5b122a7971594f48078338d51fed8133ea5c69d362ad36bb4bcda3b39bb3949f6bbe47087ac3af56e60b1f4e7eb60157a5bfd339d63aaff5a0f03de0125270dd443bf0f3b77ef767c59b88bd344327d705c342cc8147e4038c0a8dbe907f8accbdc8d0cc33d2bf449aa看到一个人想出的一个方法,觉得甚好,贴上来:
大意就是:
先获取该cell的单元格格式:cell.getCellFormat();
然后,自己新建一个label对象:jxl.write.Label lbl = new jxl.write.Label(0, 0, "修改后的值");//将第一个单元格的值改为“修改後的值”;
然后,再把修改后的单元格的格式设定成跟原来一样:lbl.setCellFormat(cf);
最后,把这个新建的Label加入到sheet中,覆盖原来的cell内容。
这样就更新了单元格内容,又没有改变单元格的样式!
以下是原文:
引用
public static void modifyExcel(String excelpath){
try {
jxl.Workbook wb =null; //创建一个workbook对象
try {
InputStream is = new FileInputStream(excelpath); //创建一个文件流,读入Excel文件
wb = Workbook.getWorkbook(is); //将文件流写入到workbook对象
} catch (BiffException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// jxl.Workbook 对象是只读的,所以如果要修改Excel,需要创建一个可读的副本,副本指向原Excel文件(即下面的new File(excelpath))
jxl.write.WritableWorkbook wbe= Workbook.createWorkbook(new File(excelpath), wb);//创建workbook的副本
WritableSheet sheet = wbe.getSheet(0); //获取第一个sheet
WritableCell cell =sheet.getWritableCell(0, 0);//获取第一个单元格
jxl.format.CellFormat cf = cell.getCellFormat();//获取第一个单元格的格式
jxl.write.Label lbl = new jxl.write.Label(0, 0, "修改后的值");//将第一个单元格的值改为“修改後的值”
lbl.setCellFormat(cf);//将修改后的单元格的格式设定成跟原来一样
sheet.addCell(lbl);//将改过的单元格保存到sheet
wbe.write();//将修改保存到workbook --》一定要保存
wbe.close();//关闭workbook,释放内存 ---》一定要释放内存
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (WriteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
分享到:
相关推荐
jxl读取合并单元格
2中方法:一种递归实现,一种2个for循环实现。根据不同行相同列的值相同,从而合并某个单元格。
JXL操作Excel设置字体颜色设置单元格详解 JXL是一个韩国人写的Java操作Excel的工具,在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文...
本文将深入探讨如何使用JXL进行Excel操作,特别是关于边框设置和单元格设置的细节。 首先,要使用JXL,需要将其添加到项目依赖中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...
java jxl Excel 读写 合并单元格 下载 等实例
该实例是jxl工具的入门代码。jxl是java对excel操作的开源工具,可以...其中,BorderLineOfJxl.java是展示jxl的单元格边框样式。 ColourOfJxl.java是展示jxl的单元格背景样式。 JxlTest.java是我blog里的jxl介绍的代码。
这涉及到创建`WritableWorkbook`,复制原始工作簿的内容,进行修改,然后写回。 8. **注意事项** - 为了避免内存溢出,使用完工作簿后记得调用`workbook.close()`。 - 当写入大量数据时,考虑分批写入或使用流式...
它允许开发者读取、创建和修改Excel工作簿,提供了丰富的功能,如设置单元格样式、调整列宽和行高,以及应用特殊格式。本篇文章将深入探讨如何使用JXL进行Excel文件的写入操作,特别是关于样式、列宽、列高、对齐...
JXL是一个强大的工具,它允许开发者在Java程序中读取、写入和修改Excel文件。下面将详细介绍JXL库以及如何使用它来读取Excel数据。 首先,JXL提供了对Excel文件的全面支持,包括工作簿(Workbook)、工作表...
通过一个小例子了解jxl的读取,使用于java初学者。里面用到的包可以在CSDN下载得到。
这个例子介绍了如何使用jxl实现Excel的单元格自动缩小字体填充,而不是列的长度随单元格内容自动扩展,但是有一个缺点,jxl不支持图文格式的Excel展示。附件中有jxl的jar包,以及我调用的例子。欢迎大家下载。
本文将深入探讨Java编程语言中如何使用Apache POI库和JExcelAPI(JXL)来读取、写入及操作Excel文件,同时也包括设置列宽以及处理合并或拆分的单元格内容。 首先,Apache POI是Apache软件基金会的一个开源项目,专...
1、通过java操作excel表格的工具类库 2、支持Excel 95-2000的所有版本 3、生成Excel 2000标准格式 4、支持字体、数字、日期操作 5、能够修饰单元格属性 6、支持图像和图表
修改Excel表则涉及到对单元格内容的修改、样式设置等。比如,我们想修改某个单元格的值,可以这样操作: ```java import jxl.write.Label; Label cell = new Label(0, 0, "新的值"); sheet.addCell(cell); ``` ...
开发者可以通过这个库创建新的Excel工作簿,添加工作表,插入单元格数据,并能处理各种格式,如数字、日期、字符串等。此外,jxl还支持公式计算和图表的创建,使得在Java环境中处理Excel文件的能力几乎与原生的Excel...
JXL提供了遍历单元格的方法,如`getCell()`,可以根据行列索引读取单元格内容。结合Java的循环结构,可以实现对工作表的查询。例如,遍历特定列查找特定值,或者根据条件筛选数据。 在描述中提到,示例包含两个...
Java中的JXL库是一个流行的工具,用于处理Microsoft Excel文件,包括创建、读取和修改Excel工作簿。在本文中,我们将深入探讨如何使用JXL进行这些操作,以及它在实际项目中的应用。 首先,让我们了解JXL库的基本...
jxl API使得开发者能够在纯Java环境中创建、修改和读取Excel工作簿、工作表以及单元格的数据。 **核心概念** 1. **工作簿(Workbook)**: 在jxl中,工作簿是Excel文件的抽象表示。它由一个或多个工作表组成。你...
本文将详细介绍JXL的基本概念、安装配置、核心功能以及如何使用JXL来创建、读取和修改Excel文件。 #### 二、JXL简介 JXL(Java Excel API)是一个免费的开源项目,它允许Java开发者通过简单的API调用来操作Excel...
本项目源码提供了一种使用jxl库来读取Excel内容的方法,这是一个非常实用的技术点。jxl是一个开源的Java库,专门用于读写Microsoft Excel文件,它为Java开发者提供了与Excel文件交互的能力,而无需依赖Microsoft ...