读取Excel 我这里是用的POI 的jar包
dom4j-1.6.1.jar poi-3.10.1-20140818.jar poi-excelant-3.10.1-20140818.jar xmlbeans-2.6.0.jar
poi-ooxml-3.10.1-20140818.jar poi-ooxml-schemas-3.10.1-20140818.jar poi-scratchpad-3.10.1-20140818.jar
以下是maven地址:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.10.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.10.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-excelant</artifactId>
<version>3.10.1</version>
</dependency>
啥也不说了。。。 直接上代码
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExcelRead {
public static void main(String[] args) {
Map<String,Object> map=readExcelCreateCategory("F:\\book.xlsx");
}
/**
* 方法描述: 读取Excel 文件 并 进行解析
* @param fileName Excel 地址
* @author Andy 2014-10-29 下午02:41:29
*/
public static Map<String,Object> readExcelCreateCategory(String fileName){
Map<String,Object> map=new HashMap<String, Object>();
File file = new File(fileName);
if(file!=null){
try {
InputStream input = new FileInputStream(file); //建立输入流
Workbook wb = null;
wb =new XSSFWorkbook(input);
//wb = new HSSFWorkbook(input); // office 2003版本、WPS版本 用这个方法解析
// System.out.println("表单数量:"+wb.getNumberOfSheets());
if(wb.getNumberOfSheets()>0){ //表单数 必须大于 0
// System.out.println("表单名称"+wb.getSheetName(0));//获取第一个表单的 名称
Sheet sheet = wb.getSheetAt(0); //获得第一个表单
Iterator<Row> rows = sheet.rowIterator(); //获得第一个表单的迭代器
while (rows.hasNext()) {
Row row = rows.next(); //获得行数据
// System.out.println("Row #" + row.getRowNum()); //获得行号从0开始
Iterator<Cell> cells = row.cellIterator(); //获得第一行的迭代器
while (cells.hasNext()) {
Cell cell = cells.next();
// System.out.print("Cell #" + cell.getColumnIndex()); //获取 列 数
Object obj=null;
switch (cell.getCellType()) { //根据cell中的类型来输出数据
case HSSFCell.CELL_TYPE_NUMERIC:
obj=cell.getNumericCellValue();
break;
case HSSFCell.CELL_TYPE_STRING:
obj=cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
obj=cell.getBooleanCellValue();
break;
case HSSFCell.CELL_TYPE_FORMULA:
obj=cell.getCellFormula();
break;
default:
obj="unsuported sell type";
break;
}
System.out.println(obj.toString());
}
}
}else{
map.put("status", "false");
map.put("info", "表单数不能为0!");
}
} catch (IOException ex) {
ex.printStackTrace();
}
}
return map;
}
}