» 网友学堂 » JAVA教程 » [JAVA100例]038、操作Excel文件
[JAVA100例]038、操作Excel文件
作者:ljjk5 发表时间:2007-12-28 18:47 阅读:91次 在百度搜索相关内容

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 = 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);
   //写入数据
   me.write();
  
   me.workbook.close();
  }catch(Exception e){
   System.out.println(e);
  }
 }

}

#Advertisement