初学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(); 得到内容字符串的形式
下载地址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(); 得到内容字符串的形式