以下代码亲测可以使用。以下代码可以直接运行查看效果。
jar 下载地址:http://download.csdn.net/detail/qw0907/9741548
用的jar如下:
poi-3.8-20120326.jar
poi-ooxml-3.8-20120326.jar
poi-ooxml-schemas-3.8-20120326.jar
poi-scratchpad-3.8-20120326.jar
读取.xls
-
import java.io.File;
-
import java.io.FileInputStream;
-
import java.util.List;
-
-
import org.apache.poi.hssf.usermodel.HSSFPicture;
-
import org.apache.poi.hssf.usermodel.HSSFPictureData;
-
import org.apache.poi.hssf.usermodel.HSSFShape;
-
import org.apache.poi.hssf.usermodel.HSSFSheet;
-
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-
import org.apache.poi.ss.usermodel.Cell;
-
import org.apache.poi.ss.usermodel.DateUtil;
-
import org.apache.poi.ss.usermodel.Row;
-
-
public final class TestImportExcel {
-
-
public static void main( String[] args) throws Exception {
-
-
File excelFile = new File( "F:\\B5204645.xls");
-
HSSFWorkbook wb = new HSSFWorkbook(new FileInputStream(excelFile));
-
HSSFSheet sheet = wb.getSheetAt( 0);
-
-
for ( Row row : sheet) {
-
for ( Cell cell : row) {
-
switch (cell.getCellType()) {
-
case Cell. CELL_TYPE_STRING:
-
System.out. print(cell.getRichStringCellValue().getString());
-
System.out. print( "|");
-
break;
-
case Cell. CELL_TYPE_NUMERIC:
-
if ( DateUtil.isCellDateFormatted(cell)) {
-
System.out. print( String.valueOf(cell.getDateCellValue()));
-
} else {
-
System.out. print(cell.getNumericCellValue());
-
}
-
System.out. print( "|");
-
break;
-
case Cell. CELL_TYPE_BOOLEAN:
-
System.out. print(cell.getBooleanCellValue());
-
System.out. print( "|");
-
break;
-
default:
-
}
-
}
-
System.out. println();
-
}
-
-
//读取图片
-
List< HSSFPictureData> pictures = wb.getAllPictures();
-
for ( HSSFShape shape : sheet.getDrawingPatriarch().getChildren()) {
-
if (shape instanceof HSSFPicture) {
-
HSSFPicture pic = ( HSSFPicture) shape;
-
int pictureIndex = pic.getPictureIndex()- 1;
-
HSSFPictureData picData = pictures. get(pictureIndex);
-
System.out. println( "image-size:" + picData.getData().length);
-
}
-
}
-
-
System.out. println(wb.getSheetName( 0));
-
}
-
}
-
读取.xlsx
-
package com.sae.ecds.ct.excel;
-
-
import java.io.File;
-
import java.io.FileInputStream;
-
import java.util.List;
-
-
import org.apache.poi.ss.usermodel.Cell;
-
import org.apache.poi.ss.usermodel.DateUtil;
-
import org.apache.poi.ss.usermodel.Row;
-
import org.apache.poi.xssf.usermodel.XSSFPictureData;
-
import org.apache.poi.xssf.usermodel.XSSFSheet;
-
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-
-
public final class TestImportXlsx {
-
-
public static void main( String[] args) throws Exception {
-
-
File excelFile = new File( "F:\\B52046450056.xlsx");
-
XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream(excelFile));
-
XSSFSheet sheet = wb.getSheetAt( 0);
-
-
for ( Row row : sheet) {
-
for ( Cell cell : row) {
-
switch (cell.getCellType()) {
-
case Cell. CELL_TYPE_STRING:
-
System.out. print(cell.getRichStringCellValue().getString());
-
System.out. print( "|");
-
break;
-
case Cell. CELL_TYPE_NUMERIC:
-
if ( DateUtil.isCellDateFormatted(cell)) {
-
System.out. print( String.valueOf(cell.getDateCellValue()));
-
} else {
-
System.out. print(cell.getNumericCellValue());
-
}
-
System.out. print( "|");
-
break;
-
case Cell. CELL_TYPE_BOOLEAN:
-
System.out. print(cell.getBooleanCellValue());
-
System.out. print( "|");
-
break;
-
default:
-
}
-
}
-
System.out. println();
-
}
-
-
//读取图片
-
List< XSSFPictureData> pictures = wb.getAllPictures();
-
for (int i = 0; i < pictures.size(); i++) {
-
XSSFPictureData pictureData = pictures. get(i);
-
byte[] picData = pictureData.getData();
-
System.out. println( "image-size:" + picData.length);
-
}
-
-
-
System.out. println(wb.getSheetName( 0));
-
}
-
}
-