用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循环实现。根据不同行相同列的值相同,从而合并某个单元格。
java jxl Excel 读写 合并单元格 下载 等实例
JXL操作excel 字体 颜色 设置单元格 详解
该实例是jxl工具的入门代码。jxl是java对excel操作的开源工具,可以...其中,BorderLineOfJxl.java是展示jxl的单元格边框样式。 ColourOfJxl.java是展示jxl的单元格背景样式。 JxlTest.java是我blog里的jxl介绍的代码。
通过一个小例子了解jxl的读取,使用于java初学者。里面用到的包可以在CSDN下载得到。
java使用JXL对Excel创建、修改、读取操作
这个例子介绍了如何使用jxl实现Excel的单元格自动缩小字体填充,而不是列的长度随单元格内容自动扩展,但是有一个缺点,jxl不支持图文格式的Excel展示。附件中有jxl的jar包,以及我调用的例子。欢迎大家下载。
1、通过java操作excel表格的工具类库 2、支持Excel 95-2000的所有版本 3、生成Excel 2000标准格式 4、支持字体、数字、日期操作 5、能够修饰单元格属性 6、支持图像和图表
ExcelDemo_Excel导出_下载_POI读excel_JXL读写excel_java读写excel_列宽_读取合并或拆分单元格内容
NULL 博文链接:https://kunzhong1-yeah-net.iteye.com/blog/1776766
NULL 博文链接:https://jsufly.iteye.com/blog/767602
jxl资源包,用于Excel导入导出,包含源码
jxl 去空行空列 导入不重复 逻辑比较复杂
Jxl对中文支持非常好,操作简单,方法看名知意。 Jxl是纯javaAPI,在跨平台上表现的非常完美,代码可以再windows或者Linux上运行而无需重新编写 支持Excel 95-2000的所有版本(网上说目前可以支持Excel2007了,还...
java使用jxl导入导出excel,此为中文doc文档,但jxl貌似实现不了单元格画出斜线
能够修饰单元格属性 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确 的处理Excel文件。另外需要说明的是,这...
jxl.jar 通过java操作excel表格的工具类库 支持Excel 95-2000的所有版本 生成Excel 2000标准格式 支持字体、数字、日期操作 能够修饰单元格属性 支持图像和图表 应该说以上功能已经能够大致满足我们的需要。...
使用Jxl对Excel进行导入导出,其中包含设置单元格样式以及数据有效性。
网上很多例子,都是用Jxl读或者写excel,本文实现的功能就是将数据源in.xls的第几行第几列数据写入到out.xls的第几行第几列,不覆盖out.xls其他原有的数据。