java开发教程-excel文件的读写

全栈工程师开发手册 (作者:栾鹏)

java教程全解

excel文件的读写,需要使用jxl包,使用示例。
jxl包下载
myfile.xls

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

//本实例演示使用jxl包实现对excel文件的操作
public class MyExcel{

  //将数据写入excel文件
  public static void write_excel(String filepath,ArrayList<ArrayList<String>> data){
    try{
        //创建一个可写入的excel文件对象
        WritableWorkbook workbook = Workbook.createWorkbook(new File(filepath)); 
        //使用第一张工作表
        WritableSheet sheet = workbook.createSheet("工作表1", 0); 
        for (int i = 0; i < data.size(); i++) {
        	ArrayList<String> onerow=data.get(i);
			for (int j = 0; j < onerow.size(); j++) {
				String cell = onerow.get(j);
				Label label=new Label(j,i,data.get(i).get(j));
				sheet.addCell(label);
			}
		}
        
//        //格式化日期
//        jxl.write.DateFormat df = new jxl.write.DateFormat("yyyy-dd-MM  hh:mm:ss"); 
//        jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(df); 
//        jxl.write.DateTime labelDTF = new jxl.write.DateTime(0, 1, new java.util.Date(), wcfDF); 
//        sheet.addCell(labelDTF);
//
//         //格式化数字
//        jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##"); 
//        WritableCellFormat wcfN = new WritableCellFormat(nf); 
//        jxl.write.Number labelNF = new jxl.write.Number(2, 1, 13.1415926, wcfN); 
//        sheet.addCell(labelNF); 
//        
        //关闭对象,释放资源
        workbook.write(); 
        workbook.close(); 

    }catch(Exception e){
      System.out.println(e);
    }
  }

  //读取excel数据
  public static ArrayList<ArrayList<String>> read_excel(String filepath) {
	ArrayList<ArrayList<String>> alldata=new ArrayList<ArrayList<String>>();
	Workbook workbook=null;
	try {
		workbook=Workbook.getWorkbook(new File(filepath));
		Sheet sheet=workbook.getSheet(0);  //使用第一个工作表
		int row=sheet.getRows();   
		int column=sheet.getColumns();  
		for (int i = 0; i < row; i++) {
			ArrayList<String> onerow=new ArrayList<String>();
			for (int j = 0; j < column; j++) {
				Cell a2=sheet.getCell(j, i);
				String rest=a2.getContents();
				if(rest!=null)
					onerow.add(rest);
			}
			alldata.add(onerow);
		}
	} catch (Exception e) {
		e.printStackTrace();
		if (workbook!=null) {
			workbook.close();
		}
	}
	return alldata;
  }
  
  
  
  public static void main(String[] arges){
      ArrayList<ArrayList<String>> alldata=read_excel("myfile.xls");
      for (ArrayList<String> arraylist:alldata) {
		for(String str:arraylist)
			System.out.println(str);
      }

      write_excel("myfile1.xls",alldata);
  }
   
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

腾讯AI架构师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值