这是我写的一个类 ,在控制台上打印出来
import java.io.File;
import java.io.FileInputStream;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;public class ExcelReader {
private HSSFWorkbook workbook;
private File file;
private FileInputStream ins;
private HSSFSheet sheet;
private HSSFRow row;
private HSSFCell cell;
    
public void read(){
String path = "D:08年度变电站电能表数及电量.xls";
workbook = new HSSFWorkbook();


sheet = workbook.getSheetAt(0);
if(sheet==null){
System.out.println("null");
}
int i = sheet.getLastRowNum();
for(int k=0;k<i;i++){
HSSFRow row = sheet.getRow(k);
for(int j=0;j<row.getLastCellNum();j++){
cell = row.getCell((short)j);
System.out.println(cell.getStringCellValue());
}
}
}
public static void main(String []args){
ExcelReader read = new ExcelReader();
read.read();
}
}

解决方案 »

  1.   

    貌似路径有问题。poi的操作看不出什么问题
      

  2.   


    String path = "D://08年度变电站电能表数及电量.xls";
    HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(path));
    HSSFSheet sheet = workbook.getSheetAt(0);
    System.out.println(sheet);
    HSSFCell cell;
    HSSFRow row;
    if (sheet == null) {
    System.out.println("null");
    }
    int i = sheet.getLastRowNum();
    for (int k = 0; k < i; k++) {
    row = sheet.getRow((short) k);
    for (int j = 0; j <= row.getLastCellNum(); j++) {
                                    //cell也是从0开始的
    cell = row.getCell((short) j);
    System.out.print(cell.getRichStringCellValue());
    }
    System.out.println();
    }