利用java对excel进行读写操作

因为参与的一个项目有一个任务,是对一个excel文件中的字符进行分隔,

如果将excel转成txt,可能会加大对字符的分隔难度,所以利用开源项目JExcelApi来操作。

下面简单演示下如何对excel进行读和写操作。

import jxl.*;
import jxl.write.*;
import java.io.*;

public class AccessExcel {
		private String temp[];
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		File file = new File(
				"C://readbyjava.xls");
		AccessExcel ae = new AccessExcel();
		try {
			ae.readExcel(file);
			ae.writeExcel(
					new File("C://test.xls"));
			ae.analyzeData();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public void readExcel(File file) throws Exception {
		
		//获得所需要操作的文件的工作薄
		jxl.Workbook workbook = Workbook.getWorkbook(file);
		Sheet sheet = workbook.getSheet(0);
		//将获得的行字符放到数组中去
		temp=new String[sheet.getRows()];
		// test whether or not the workbook is normal
		for (int i = 0; i < sheet.getRows(); i++) {
			Cell cell = sheet.getCell(0, i);
			String content = cell.getContents();
			System.out.println(content);
			temp[i]=content;
		}
		//关闭工作薄 

		workbook.close();

	}

                //利用此方法进行字符的匹配或其它操作此处只为判断单元格不为空或者字符开头为“{”和“}”的字符,并打印所在的行号

	public void analyzeData(){
		

		for(int i=0;i<temp.length;i++){
			if(temp[i]!="" && new String().valueOf((temp[i].charAt(0))).equals("{")||
					temp[i]!="" && new String().valueOf((temp[i].charAt(0))).equals("}")){
				System.out.println("this is what I need:"+i);
				
			}
				}
		
	}
	public void writeExcel(File file) throws Exception {
		//打开工作薄
		WritableWorkbook wwb = Workbook.createWorkbook(file);
		//在工作薄中创建一个索引为2的sheet
		WritableSheet ws = wwb.createSheet("secondSheet", 2);
		//从另一张表中复制数据到此sheet
		for(int i=0;i<temp.length;i++){
		ws.addCell(new jxl.write.Label(0, i, temp[i]));
		}

                //记得要write,不然可能会抛出异常
		wwb.write();
		wwb.close();
	}
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值