当前所在位置:珠峰网资料 >> 计算机 >> 计算机等级考试 >> 正文
Java中操作Excel表格
发布时间:2010/7/8 10:40:56 来源:城市学习网 编辑:ziteng
  利用Java Excel API ,下载地址:jexcelapi.rar
  下面给出一段读取数据的例子代码:
  /*
  * To change this template, choose Tools | Templates
  * and open the template in the editor.
  */
  package excel;
  import java.io.FileInputStream;
  import java.io.FileNotFoundException;
  import java.io.IOException;
  import java.io.InputStream;
  import java.util.logging.Level;
  import java.util.logging.Logger;
  import jxl.Cell;
  import jxl.Sheet;
  import jxl.Workbook;
  import jxl.read.biff.BiffException;
  /**
  *
  * @author Wei.Liu
  */
  public class Main {
  /**
  * @param args the command line arguments
  */
  public static void main(String[] args) {
  try {
  InputStream is = new FileInputStream("d:\\test.xls");
  jxl.Workbook rwb = Workbook.getWorkbook(is);
  Sheet rs = rwb.getSheet(0);
  //取第一行,第一列的元素
  Cell c00 = rs.getCell(0, 0);
  String strc00 = c00.getContents();
  //取第一行,第二列的元素
  Cell c10 =  rs.getCell(1,0);
  String strc10= c10.getContents();
  System.out.println(strc00+" "+c00.getType().toString());
  System.out.println(strc10+" "+c10.getType().toString());
  //获取sheet的个数
  System.out.println(rwb.getNumberOfSheets());
  Sheet [] sheets =rwb.getSheets();
  for(int i=0;i<sheets.length;i++){
  System.out.println(rwb.getSheet(i).getName());
  }
  //获得列数
  System.out.println(rwb.getSheet(0).getColumns());
  //获得每列的元素
  Cell [] cell = rwb.getSheet(0).getColumn(0);
  //获得总行数
  System.out.println(rwb.getSheet(0).getRows());
  //获得行元素
  Cell [] cell2 =  rwb.getSheet(0).getRow(0);
  //关闭对象
  rwb.close();
  } catch (Exception ex) {
  Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
  }
  }
  } [NextPage]   再给出一段,创建Excel表格的代码:
  /*
  * To change this template, choose Tools | Templates
  * and open the template in the editor.
  */
  package excel;
  import java.io.File;
  import java.util.logging.Level;
  import java.util.logging.Logger;
  import jxl.Workbook;
  import jxl.write.Label;
  import jxl.write.WritableCellFormat;
  import jxl.write.WritableFont;
  import jxl.write.WritableSheet;
  import jxl.write.WritableWorkbook;
  import jxl.write.Number;
  /**
  *
  * @author Wei.Liu
  */
  public class Main {
  /**
  * @param args the command line arguments
  */
  public static void main(String[] args) {
  try {
  //创建EXCEL表格
  WritableWorkbook wwb = Workbook.createWorkbook(new File("d:\\test.xls"));
  //创建工作表
  WritableSheet ws = wwb.createSheet("Liu.Wei",0);
  //创建单元格
  ws.addCell(new Label(0,0,"Hello World"));
  //添加设置字体格式的单元格
  WritableFont wfc = new WritableFont(WritableFont.ARIAL,15,WritableFont.BOLD,true);
  WritableCellFormat wcff= new WritableCellFormat(wfc);
  Label labelcf = new Label(1,0,"Format text",wcff);
  ws.addCell(labelcf);
  //向单元格中写入数字
  Number labelN = new Number(0,1,12345);
  ws.addCell(labelN);
  wwb.write();
  wwb.close();
  } catch (Exception ex) {
  Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
  }
  }
  }
  最后给出一段更新表格的代码:
  /*
  * To change this template, choose Tools | Templates
  * and open the template in the editor.
  */
  package excel;
  import java.io.File;
  import java.io.IOException;
  import java.util.logging.Level;
  import java.util.logging.Logger;
  import jxl.CellType;
  import jxl.Workbook;
  import jxl.read.biff.BiffException;
  import jxl.write.Label;
  import jxl.write.WritableCell;
  import jxl.write.WritableSheet;
  import jxl.write.WritableWorkbook;
  /**
  *
  * @author Wei.Liu
  */
  public class Main {
  /**
  * @param args the command line arguments
  */
  public static void main(String[] args) {
  try {
  Workbook rw = Workbook.getWorkbook(new File("d:\\test.xls"));
  WritableWorkbook wwb = Workbook.createWorkbook(new File("d:\\test.xls"),rw);
  //修改单元格的值
  WritableSheet ws = wwb.getSheet(0);
  WritableCell wc = ws.getWritableCell(0,0);
  if(wc.getType() == CellType.LABEL){
  Label l= (Label)wc;
  l.setString("Modified!!!");
  }
  wwb.write();
  wwb.close();
  rw.close();
  } catch (Exception ex) {
  Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
  }
  }
  }
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved