服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

[java100例]038、操作excel文件

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

扫描关注微信公众号