以下代码亲测可以使用。以下代码可以直接运行查看效果。
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));}
}