新建一个java项目
新建包和类
得到结构如下:
新建文件夹lib 放入 需要用到的包 poi 并引用这个包
http://download.csdn.net/detail/q383965374/5859893
(注意该包只能读xls 旧版本的excel 如果是新的格式xlsx 可另存为xls格式的)
把包文件复制到文件夹后得到
对着包点右键进行build path引用
read.java中的代码为:
package excel;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Iterator;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.usermodel.Row;
public class read {
public static String[] begin_read(String excelFile)
{
String[] result=new String[42];
try {
FileInputStream fileInputStream = new FileInputStream(new File(
excelFile));
POIFSFileSystem poifs = new POIFSFileSystem(fileInputStream);
HSSFWorkbook workbook = new HSSFWorkbook(poifs);
HSSFSheet sheet = workbook.getSheetAt(0);//取第一个工作簿
Iterator<Row> rows = sheet.rowIterator();
int i = 0;
//当行数少于42行时遍历行
while (rows.hasNext()) {
HSSFRow row = (HSSFRow) rows.next();
if(i>=42){
break;
}
if(i>=0){
String a= getStringCellValue(row.getCell(1)).trim().replaceAll("/s++", "")+"\n";//取第一列
result[i]=a;
}
i++;
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
private static String getStringCellValue(HSSFCell cell) {// 获取单元格数据内容为字符串类型的数据
String strCell = "";
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_STRING:
strCell = cell.getStringCellValue();
break;
case HSSFCell.CELL_TYPE_NUMERIC:
strCell = String.valueOf(cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
strCell = String.valueOf(cell.getBooleanCellValue());
break;
case HSSFCell.CELL_TYPE_BLANK:
strCell = "";
break;
default:
strCell = "";
break;
}
if (strCell.equals("") || strCell == null) {
return "";
}
return strCell;
}
public static void main(String[] args) {
String fileName="E://123.xls";
String[] test=begin_read(fileName);
for(int i=0;i<test.length;i++)
{
System.out.print(test[i]);
}
}
}
读取的excel表:
结果: