读取EXECEL

package package_backup;

//public class ExcelOperation {
//
// /**
//  * @param args
//  */
// public static void main(String[] args) {
//  // TODO Auto-generated method stub
//
// }
//
//}

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 ExcelOperation {
 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 {
   ExcelOperation me = new ExcelOperation();

   me.write();
   // 生成一个可读取的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);
  }
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值