Java操作Excel单元格

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();
	}
}

 

你可能感兴趣的:(java)