Java 读取Excel文件
操作步骤:
1.首先到网上载一下JExcelApi rar包,目前最新是:jexcelapi_2_6_12.tar,然后将其解压开,将 jxl.jar文件Copy到WEB-INF\lib目录下或直接导入到Java项目中2.相应的操作代码如下:
- package com.xqh.java.test;
- import java.io.File;
- import java.io.IOException;
- import jxl.Cell;
- import jxl.Sheet;
- import jxl.Workbook;
- import jxl.read.biff.BiffException;
- public class JavaReadExcel {
- public static void main(String[] args) {
- try {
- String fileName = "?:\\...\\XXX.xlsx"; // Excel文件所在路径
- File file = new File(fileName); // 创建文件对象
- Workbook wb = Workbook.getWorkbook(file); // 从文件流中获取Excel工作区对象(WorkBook)
- Sheet sheet = wb.getSheet(0); // 从工作区中取得页(Sheet)
- for (int i = 0; i < sheet.getRows(); i++) { // 循环打印Excel表中的内容
- for (int j = 0; j < sheet.getColumns(); j++) {
- Cell cell = sheet.getCell(j, i);
- System.out.println(cell.getContents());
- }
- System.out.println();
- }
- } catch (BiffException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
jxl对excel2010不支持,最好用poi
1、下载 最新的 poi
package 读EXCEL文档;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ReadExcel {
public static void main(String[] args) {
String fileName = "C:\\Users\\ct\\Desktop\\my.xlsx" ;// jxl包不支持excel2010,这里会报错
File file = new File(fileName);
Workbook wb;
try {
//通过文件输入流建立EXCEL工作薄
wb = new XSSFWorkbook(new FileInputStream(file));
Sheet sheet = wb.getSheetAt(0);
System.out.println(sheet.getSheetName());//工作表的名称
System.out.println(sheet.getPhysicalNumberOfRows());//表格中有多少行
int j = 0 ;
for(int i=0;i<=sheet.getLastRowNum();i++)
{
XSSFRow row = (XSSFRow) sheet.getRow(i);
XSSFCell cell = row.getCell(0);
switch(cell.getCellType()){//要先判断数据类型
case XSSFCell.CELL_TYPE_STRING:
System.out.println(cell.getStringCellValue());
break;
case XSSFCell.CELL_TYPE_NUMERIC:
System.out.println(cell.getNumericCellValue());
break;
case XSSFCell.CELL_TYPE_BLANK:
break;
case XSSFCell.CELL_TYPE_BOOLEAN:
break;
case XSSFCell.CELL_TYPE_ERROR:
break;
case XSSFCell.CELL_TYPE_FORMULA:
break;
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}