尋夢的男孩http://www.xupei.tk/?post=11
主要對象:java
HSSFWorkbook | excel的文檔對象 |
HSSFSheet | excel的表單Sheet |
HSSFRow | excel的行 |
HSSFCell | excel的單元格 |
HSSFFont | excel字體 |
HSSFDataFormat | 日期格式 |
HSSFHeader | sheet頭 |
HSSFFooter | sheet尾(只有打印的時候才能看到效果)和這個樣式 |
HSSFCellStyle | cell樣式 |
HSSFDateUtil | 日期 |
HSSFPrintSetup | 打印 |
HSSFErrorConstants | 錯誤信息表 |
經過usermodel讀取文件
首先建立一個InputStream,而後建立一個HSSFWorkbook:
apache
InputStream myxls = new FileInputStream("workbook.xls")); HSSFWorkbook wb = new HSSFWorkbook(myxls);
有了 HSSFWorkbook 實例,接下來就能夠提取工做表、工做表的行和列,例如:
HSSFSheet sheet = wb.getSheetAt(0); // 第一個工做表 HSSFRow row = sheet.getRow(2); // 第三行 HSSFCell cell = row.getCell((short)3); // 第四個單元格
上面這段代碼提取出第一個工做表第三行第四單元格。利用單元格對象能夠得到它的值,提取單元格的值時請注意它的類型:
if (cell.getCellType() == HSSFCell.CELL_TYPE_STRING) { ("單元格是字符串,值是: " + cell.getStringCellValue()); } else if (cell.getCellType() == HSSFCell.CELL_TYPE_NUMERIC) { ("單元格是數字,值是: " + cell.getCellValue()); } else () { ("單元格的值不是字符串或數值。"); }
實例:
import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; 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.Cell; import org.apache.poi.ss.usermodel.Row; public class main { public static void main(String[] args){ try { InputStream input = new FileInputStream("D:\\接口.xls"); POIFSFileSystem fs = new POIFSFileSystem(input); HSSFWorkbook wb = new HSSFWorkbook(fs); HSSFSheet sheet = wb.getSheetAt(0); // Iterate over each row in the sheet Iterator<Row> rows = sheet.rowIterator(); while (rows.hasNext()) { HSSFRow row = (HSSFRow) rows.next(); System.out.println("Row #" + row.getRowNum()); // Iterate over each cell in the row and print out the cell"s // content Iterator<Cell> cells = row.cellIterator(); while (cells.hasNext()) { HSSFCell cell = (HSSFCell) cells.next(); System.out.println("Cell #" + cell.getCellNum()); switch (cell.getCellType()) { case HSSFCell.CELL_TYPE_NUMERIC: System.out.println(cell.getNumericCellValue()); break; case HSSFCell.CELL_TYPE_STRING: System.out.println(cell.getStringCellValue()); break; case HSSFCell.CELL_TYPE_BOOLEAN: System.out.println(cell.getBooleanCellValue()); break; case HSSFCell.CELL_TYPE_FORMULA: System.out.println(cell.getCellFormula()); break; default: System.out.println("unsuported sell type"); break; } } } } catch (IOException ex) { ex.printStackTrace(); } } }
尋夢的男孩http://www.xupei.tk/?post=11