`
guhanjie
  • 浏览: 300684 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

jxl如何修改单元格的内容

 
阅读更多
用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();
		}
		
	}

分享到:
评论
2 楼 远方的彪 2016-08-08  
远方的彪 写道
不错,解决问题了

但是单元格为空的时候不能解决
1 楼 远方的彪 2016-08-08  
不错,解决问题了

相关推荐

    jxl读取合并单元格

    jxl读取合并单元格

    jxl合并单元格.txt

    2中方法:一种递归实现,一种2个for循环实现。根据不同行相同列的值相同,从而合并某个单元格。

    JXL操作excel设置字体颜色设置单元格详解

    JXL操作Excel设置字体颜色设置单元格详解 JXL是一个韩国人写的Java操作Excel的工具,在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。其中功能相对POI比较弱一点。但jExcelAPI对中文...

    java操作excel,jxl边框的设置,jxl单元格的设置

    本文将深入探讨如何使用JXL进行Excel操作,特别是关于边框设置和单元格设置的细节。 首先,要使用JXL,需要将其添加到项目依赖中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>...

    java jxl Excel 读写 合并单元格 下载 等实例

    java jxl Excel 读写 合并单元格 下载 等实例

    jxl入门教程实例及边框样式、背景样式

    该实例是jxl工具的入门代码。jxl是java对excel操作的开源工具,可以...其中,BorderLineOfJxl.java是展示jxl的单元格边框样式。 ColourOfJxl.java是展示jxl的单元格背景样式。 JxlTest.java是我blog里的jxl介绍的代码。

    Java使用JXL操作Excel

    这涉及到创建`WritableWorkbook`,复制原始工作簿的内容,进行修改,然后写回。 8. **注意事项** - 为了避免内存溢出,使用完工作簿后记得调用`workbook.close()`。 - 当写入大量数据时,考虑分批写入或使用流式...

    JXL写入Excel (包括样式、列宽、列高特殊格式、剧中、字体等操作)

    它允许开发者读取、创建和修改Excel工作簿,提供了丰富的功能,如设置单元格样式、调整列宽和行高,以及应用特殊格式。本篇文章将深入探讨如何使用JXL进行Excel文件的写入操作,特别是关于样式、列宽、列高、对齐...

    JXL 读取EXCEL

    JXL是一个强大的工具,它允许开发者在Java程序中读取、写入和修改Excel文件。下面将详细介绍JXL库以及如何使用它来读取Excel数据。 首先,JXL提供了对Excel文件的全面支持,包括工作簿(Workbook)、工作表...

    利用jxl读取excel合并的单元格的一个小例子

    通过一个小例子了解jxl的读取,使用于java初学者。里面用到的包可以在CSDN下载得到。

    使用JXL实现Excel单元格自动缩小字体填充

    这个例子介绍了如何使用jxl实现Excel的单元格自动缩小字体填充,而不是列的长度随单元格内容自动扩展,但是有一个缺点,jxl不支持图文格式的Excel展示。附件中有jxl的jar包,以及我调用的例子。欢迎大家下载。

    ExcelDemo_Excel导出_下载_POI读excel_JXL读写excel_java读写excel_列宽_读取合并或拆分单元格内容

    本文将深入探讨Java编程语言中如何使用Apache POI库和JExcelAPI(JXL)来读取、写入及操作Excel文件,同时也包括设置列宽以及处理合并或拆分的单元格内容。 首先,Apache POI是Apache软件基金会的一个开源项目,专...

    jxl.jar 包 excel表格的工具类库

    1、通过java操作excel表格的工具类库 2、支持Excel 95-2000的所有版本 3、生成Excel 2000标准格式 4、支持字体、数字、日期操作 5、能够修饰单元格属性 6、支持图像和图表

    浅谈jxl解析excel —————复制、修改excel表

    修改Excel表则涉及到对单元格内容的修改、样式设置等。比如,我们想修改某个单元格的值,可以这样操作: ```java import jxl.write.Label; Label cell = new Label(0, 0, "新的值"); sheet.addCell(cell); ``` ...

    jxl资源包,用于Excel导入导出

    开发者可以通过这个库创建新的Excel工作簿,添加工作表,插入单元格数据,并能处理各种格式,如数字、日期、字符串等。此外,jxl还支持公式计算和图表的创建,使得在Java环境中处理Excel文件的能力几乎与原生的Excel...

    用jxl实现java对Excel表格的增删改查

    JXL提供了遍历单元格的方法,如`getCell()`,可以根据行列索引读取单元格内容。结合Java的循环结构,可以实现对工作表的查询。例如,遍历特定列查找特定值,或者根据条件筛选数据。 在描述中提到,示例包含两个...

    java jxl创建/读取/修改Excel 操作Excel

    Java中的JXL库是一个流行的工具,用于处理Microsoft Excel文件,包括创建、读取和修改Excel工作簿。在本文中,我们将深入探讨如何使用JXL进行这些操作,以及它在实际项目中的应用。 首先,让我们了解JXL库的基本...

    jxlAPI(jxl完整的API)

    jxl API使得开发者能够在纯Java环境中创建、修改和读取Excel工作簿、工作表以及单元格的数据。 **核心概念** 1. **工作簿(Workbook)**: 在jxl中,工作簿是Excel文件的抽象表示。它由一个或多个工作表组成。你...

    用jxl读取excel内容的java工程源码

    本项目源码提供了一种使用jxl库来读取Excel内容的方法,这是一个非常实用的技术点。jxl是一个开源的Java库,专门用于读写Microsoft Excel文件,它为Java开发者提供了与Excel文件交互的能力,而无需依赖Microsoft ...

Global site tag (gtag.js) - Google Analytics