欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java操作Excel单元格

程序员文章站 2024-01-23 09:26:34
...

Java中,对Excel进行处理有两个流行的Jar包,一个是POI,一个是JXLjxl是在poi的基础上进行开发的,体积小,方便快捷,经常用的功能都能实现,具体两个有什么区别,请参照一下两个链接,分别转自

lanhuidong和javapub

http://javapub.iteye.com/blog/718056

http://lanhuidong.iteye.com/blog/1553532

 

本程序所解决的问题是将excel表中的某个单元格中的数据提取出来,然后进行部分操作,再将所得到的结果写入到另外的单元格中,网上大部分实例都是分别对一个excel文件进行读操作或者写操作,并且在进行写操作时几乎都是创建一个新的xls文件,在本例中,解决了对一个excel中的一个sheet进行操作,具体代码如下

 

 

Java代码:

import java.io.File;

import jxl.Cell;
import jxl.Workbook;
import jxl.format.CellFormat;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class ReadandWriteExcel {
	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub
		
		String filepath = "test.xls";
		//以都得方式打开一个excel文件
		Workbook workbook  = Workbook.getWorkbook(new File(filepath));
		//打开文件的一个副本
		WritableWorkbook writableWorkbook = Workbook.createWorkbook(new File(filepath), workbook);
		//利用writableWorkbook获取文件中的某一个sheet
		WritableSheet writableSheet = writableWorkbook.getSheet(0);
		
		//前面是列,后面是行
		for(int i=1; i<writableSheet.getRows(); i++) {
			//定位某一单元格,前面是列,后面是行
			Cell cell = writableSheet.getCell(3, i);
			//获取单元格中的内容
			String result = cell.getContents();
			/**
			 * 对单元格中的内容进行处理
			 */
			result = result.substring(6, 10);
			result = (2015-Integer.parseInt(result)) + "";
			//获取单元格的格式
			CellFormat cellFormat = cell.getCellFormat();
			//创建一个新的label,也就是创建一个新的单元格
			Label label = new Label(2, i, result);
			//将label设置成原来的格式
			label.setCellFormat(cellFormat);
			//将新的单元格加入到原来的sheet中或者添加到新的sheet中
			writableSheet.addCell(label);
		}
		
		//将原来数据写回
		writableWorkbook.write();
		//关闭输入流
		writableWorkbook.close();
		workbook.close();
	}
}

 

  • jxl.jar (708.7 KB)
  • 下载次数: 8
相关标签: Java