import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import jxl.Sheet;
import jxl.Workbook;
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 Test {
/**
* @param path
*/
public static void readExcelByJXL(String path) {
Workbook book = null;
InputStream input = null;
try {
input = new FileInputStream(path);
book = Workbook.getWorkbook(input);
Sheet sheet = book.getSheet(0);
int columns = sheet.getColumns();
for (int i = 0; i < sheet.getRows(); i++) {
for (int j = 0; j < columns; j++)
System.out.print(sheet.getCell(j, i).getContents()
+ "\t\t\t\t");
System.out.println();
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (book != null)
book.close();
if (input != null)
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* @param path
*/
public static void readExcelByPOI(String path) {
HSSFWorkbook book = null;
InputStream input = null;
try {
input = new FileInputStream(path);
book = new HSSFWorkbook(input);
HSSFSheet sheet = book.getSheetAt(0);
int rows = sheet.getPhysicalNumberOfRows();
int cells = 0;
HSSFRow row = null;
HSSFCell cell = null;
// for (Iterator iterator = sheet.rowIterator();
// iterator.hasNext();) {
// row = (HSSFRow) iterator.next();
for (int i = 0; i < rows; i++) {
row = sheet.getRow(i);
cells = row.getPhysicalNumberOfCells();
// for (Iterator iterator2 = row.cellIterator(); iterator2
// .hasNext();) {
// cell = (HSSFCell) iterator2.next();
for (short j = 0; j < cells; j++) {
cell = row.getCell(j);
switch (cell.getCellType()) {
case HSSFCell.CELL_TYPE_BLANK:
System.out.print("");
break;
case HSSFCell.CELL_TYPE_BOOLEAN:
System.out.print(cell.getBooleanCellValue());
break;
case HSSFCell.CELL_TYPE_ERROR:
System.out.print(cell.getErrorCellValue());
break;
case HSSFCell.CELL_TYPE_FORMULA:
System.out.print(cell.getCellFormula());
break;
case HSSFCell.CELL_TYPE_NUMERIC:
System.out.print(cell.getNumericCellValue());
break;
case HSSFCell.CELL_TYPE_STRING:
System.out.print(cell.getStringCellValue());
break;
}
System.out.print("\t\t\t\t");
}
System.out.println();
}
} catch (Exception ex) {
ex.printStackTrace();
} finally {
if (input != null)
try {
input.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
//测试JXL比POI速度快
long start = System.currentTimeMillis();
readExcelByJXL("c:/questions.xls");
System.out.println("===================AAAAAAAAAAAAAAAa============");
System.out.println(System.currentTimeMillis() - start);
}
}
java 操作 excel文件 jxl 与 poi 比较
最新推荐文章于 2022-07-15 22:22:59 发布