`
iwfy
  • 浏览: 36257 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java 读写Excel文件

阅读更多
初学java读写Excel文件:使用开源jexcelapi
下载地址http://www.andykhan.com/jexcelapi/

1:用java生成一个Excel文件
* 生成工作薄对象,用静态工厂方法
WritableWorkbook workbook = Workbook.createWorkbook(new File("d:\\test.xls"));

* 新建sheet对象
//第一个参数是sheet的名字,第二个是sheet的索引,新的Excel文件就是0
WritableSheet sheet = workbook.createSheet("sheet名字", 0);

* 新建单元对象,把对象加入到sheet中,已定义的类型参见CellType
//这里的前两个参数分别表示单元的列和行,1:列,    2:行
Label lable = new Label(0, 2, "wfy");
Number number = new Number(3, 4, 3.1414232);
sheet.add(lable);
sheet.add(number);

* 最后写入、关闭对象
workbook.write();
workbook.close();


2: 读取Excel文件内容
* 创建只读工作薄对象,有两种方式:从本地文件、从输入流inputStream
Workbook workbook = Workbook.getWorkbook(InputStream);

* 读取sheet,可通过名字或位置索引
Sheet sheet = workbook.getSheet(0);

* 访问单元格内容,用对象Cell接收
//参数仍然是先列后行,下面语句得到第0列第3行的单元格内容
Cell cell = sheet.getCell(0,3);
可以通过cell.getType()得到内容的格式,参见CellType类型描述
if(cell.getType() == CellType.NUMBER)
System.out.print(cell.getContents() + " ");
最后别忘了关闭对象释放内存workbook.close();

* Workbook类经常用到的几个命令
int getNumberOfSheets(); 获得工作薄中工作表的个数
Sheet[] getSheets(); 返回工作薄中所有的工作表
java.lang.String[] getSheetNames(); 返回所有工作表的名字

* Sheet接口提供的几个常用方法
Cell[] getColumn(int col); 得到指定列的所有单元格Cell
int getColumns(); 得到此表中的总列数
Cell[] getRow(int row); 得到指定行的所有单元格
int getRows(); 得到此表中的总行数
java.lang.String getName(); 得到当前表的名字

* Cell接口常用方法
int getColumn(); 得到此单元格所在列
int getRow(); 得到此单元格所在行
CellType getType(); 得到类型
java.lang.String getContents(); 得到内容字符串的形式
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics