[JAVA100例]038、操作Excel文件(java100例)

[JAVA100例]038、操作Excel文件(java100例)

import java.io.File;
import java.util.*;
import jxl.*;
import jxl.write.*;
/**
 * <p>Title: 操作EXCEL文件</p>
 * <p>Description: 本实例演示使用jxl包实现对excel文件的操作</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Filename: myExcel.java</p>
 * @version 1.0
 */
public class myExcel{
  Workbook workbook;
  Sheet sheet;
/**
 *<br>方法说明:写入文件操作
 *<br>输入参数:
 *<br>返回类型:
 */
  public void write(){
    try{
        //创建一个可写入的excel文件对象
        WritableWorkbook workbook = Workbook.createWorkbook(new File("myfile.xls"));
        //使用第一张工作表,将其命名为“午餐记录”
        WritableSheet sheet = workbook.createSheet("午餐记录", 0);
        //表头
        Label label0 = new Label(0, 0, "时间");
        sheet.addCell(label0);
        Label label1 = new Label(1, 0, "姓名");
        sheet.addCell(label1);
        Label label2 = new Label(2, 0, "午餐标准");
        sheet.addCell(label2);
        Label label3 = new Label(3, 0, "实际费用");
        sheet.addCell(label3);
        //格式化日期
        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);
        //普通字符
        Label labelCFC = new Label(1, 1, "riverwind");
        sheet.addCell(labelCFC);
         //格式化数字
        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);
       
        
        jxl.write.Number labelNNF = new jxl.write.Number(3, 1, 10.50001, wcfN);
        sheet.addCell(labelNNF);
        //关闭对象,释放资源
        workbook.write();
        workbook.close();

    }catch(Exception e){
      System.out.println(e);
    }
  }
/**
 *<br>方法说明:读取excel文件一行数据
 *<br>输入参数:int row指定的行数
 *<br>返回类型:String〔〕结果数组
 */ 
  public String[] readLine(int row){
    try{
      //获取数据表列数
      int colnum = sheet.getColumns();
      String[] rest = new String[colnum];
      for(int i = 0; i < colnum; i++){
        String sTemp = read(i,row);
        if(sTemp!=null)
         rest[i] = sTemp;
      }
      return rest;
    }catch(Exception e){
      System.out.println("readLine err:"+e);
      workbook.close();
      return null;
    }
  }
/**
 *<br>方法说明:读取excel的指定单元数据
 *<br>输入参数:
 *<br>返回类型:
 */
  public String read(int col, int row){
    try{
      //获得单元数据
      Cell a2 = sheet.getCell(col,row);
      String rest = a2.getContents();
      return rest;
    }catch(Exception e){
      System.out.println("read err:"+e);
      workbook.close();
      return null;
    }
  }
/**
 *<br>方法说明:主方法,演示程序用
 *<br>输入参数:
 *<br>返回类型:
 */
  public static void main(String[] arges){
    try{
      myExcel me = new myExcel();
      //生成一个可读取的excel文件对象
      me.workbook = Workbook.getWorkbook(new File("myfile.xls"));
      //使用第一个工作表
      me.sheet = me.workbook.getSheet(0);
      //读一行记录,并显示出来
      String[] ssTemp = me.readLine(1);
      for(int i=0;i<ssTemp.length;i++)
       System.out.println(ssTemp[i]);
      //写入数据
      me.write();
     
      me.workbook.close();
    }catch(Exception e){
      System.out.println(e);
    }
  }
  
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值