复制代码代码如下 :
importer java.io.BufferedInputStream ;
importer java.io.File ;
importer java.io.FileInputStream ;
importer java.io.FileOutputStream ;
importer java.io.IOException ;
importer java.nio.channels.FileChannel ;
importer java.text.DecimalFormat ;
importer java.text.SimpleDateFormat ;
importer java.util.Date ;
importer org.apache.poi.hssf.usermodel.HSSFCell ;
importer org.apache.poi.hssf.usermodel.HSSFDateUtil ;
importer org.apache.poi.hssf.usermodel.HSSFRow ;
importer org.apache.poi.hssf.usermodel.HSSFSheet ;
importer org.apache.poi.hssf.usermodel.HSSFWorkbook ;
importer org.apache.poi.poifs.filesystem.POIFSFileSystem ;
classe publique FileOperator {
public static void main (String[] args) lève une exception {
Chemin de chaîne = "F://1.xls" ;
print(chemin);
}
public static void print (String path) lance IOException {
BufferedInputStream dans = nouveau BufferedInputStream (
new FileInputStream (nouveau fichier (chemin)));
POIFSFileSystem fs = nouveau POIFSFileSystem(dans);
HSSFWorkbook wb = nouveau HSSFWorkbook(fs);
Cellule HSSFCell = nulle ;
HSSFSheet st = wb.getSheetAt(0);
pour (int rowIndex = 0; rowIndex <= st.getLastRowNum(); rowIndex++) {
Ligne HSSFRow = st.getRow(rowIndex);
si (ligne == null) {
continuer;
}
for (short columnIndex = 0, size = row.getLastCellNum(); columnIndex <= size; columnIndex++) {
cell = row.getCell(columnIndex);
Valeur de chaîne = "" ;
si (cellule != null) {
// 注意:一定要设成这个,否则可能会出现乱码
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
commutateur (cell.getCellType()) {
cas HSSFCell.CELL_TYPE_STRING :
valeur = cell.getStringCellValue();
casser;
cas HSSFCell.CELL_TYPE_NUMERIC :
si (HSSFDateUtil.isCellDateFormatted(cell)) {
Date date = cell.getDateCellValue();
si (date != null) {
valeur = nouveau SimpleDateFormat("aaaa-MM-jj")
.format(date);
} autre {
valeur = "" ;
}
} autre {
valeur = nouveau DecimalFormat("0").format(cellule
.getNumericCellValue());
}
casser;
cas HSSFCell.CELL_TYPE_FORMULA :
// 导入时如果为公式生成的数据则无值
if (!cell.getStringCellValue().equals("")) {
valeur = cell.getStringCellValue();
} autre {
valeur = cell.getNumericCellValue() + "";
}
casser;
cas HSSFCell.CELL_TYPE_BLANK :
casser;
cas HSSFCell.CELL_TYPE_ERROR :
valeur = "" ;
casser;
cas HSSFCell.CELL_TYPE_BOOLEAN :
valeur = (cell.getBooleanCellValue() == true ? "Y"
: "N");
casser;
défaut:
valeur = "" ;
}
System.out.println(rowIndex + "," + columnIndex + ":"
+ valeur);
}
if (columnIndex == 0 && value.trim().equals("")) {
casser;
}
}
}
}
}