复代码代码如下:
import java.io.BufferedInputStream;
java.io.파일 가져오기;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileChannel;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
java.util.Date 가져오기;
org.apache.poi.hssf.usermodel.HSSFCell 가져오기;
org.apache.poi.hssf.usermodel.HSSFDateUtil 가져오기;
org.apache.poi.hssf.usermodel.HSSFRow 가져오기;
org.apache.poi.hssf.usermodel.HSSFSheet 가져오기;
org.apache.poi.hssf.usermodel.HSSFWorkbook 가져오기;
org.apache.poi.poifs.filesystem.POIFSFileSystem 가져오기;
공개 클래스 FileOperator {
public static void main(String[] args)에서 예외가 발생합니다.
문자열 경로 = "F://1.xls";
인쇄(경로);
}
public static void print(문자열 경로)에서 IOException이 발생합니다.
BufferedInputStream in = 새로운 BufferedInputStream(
new FileInputStream(새 파일(경로)));
POIFSFileSystem fs = new POIFSFileSystem(in);
HSSFWorkbook wb = 새로운 HSSFWorkbook(fs);
HSSFCell 셀 = null;
HSSFSheet st = wb.getSheetAt(0);
for (int rowIndex = 0; rowIndex <= st.getLastRowNum(); rowIndex++) {
HSSFRow 행 = st.getRow(rowIndex);
if (행 == null) {
계속하다;
}
for (짧은 열 인덱스 = 0, 크기 = row.getLastCellNum(); 열 인덱스 <= 크기; 열 인덱스 ++) {
cell = row.getCell(columnIndex);
문자열 값 = "";
if (셀 != null) {
// 注意: 一定要设成这个,否则可能会流现乱码
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
스위치(cell.getCellType()) {
케이스 HSSFCell.CELL_TYPE_STRING:
값 = cell.getStringCellValue();
부서지다;
케이스 HSSFCell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(셀)) {
날짜 날짜 = cell.getDateCellValue();
if (날짜 != null) {
값 = 새로운 SimpleDateFormat("yyyy-MM-dd")
.format(날짜);
} 또 다른 {
값 = "";
}
} 또 다른 {
값 = 새로운 DecimalFormat("0").format(셀
.getNumericCellValue());
}
부서지다;
사례 HSSFCell.CELL_TYPE_FORMULA:
// 导入时如果为公式生成的数据则无值
if (!cell.getStringCellValue().equals("")) {
값 = cell.getStringCellValue();
} 또 다른 {
값 = cell.getNumericCellValue() + "";
}
부서지다;
케이스 HSSFCell.CELL_TYPE_BLANK:
부서지다;
사례 HSSFCell.CELL_TYPE_ERROR:
값 = "";
부서지다;
사례 HSSFCell.CELL_TYPE_BOOLEAN:
value = (cell.getBooleanCellValue() == true ? "Y"
: "N");
부서지다;
기본:
값 = "";
}
System.out.println(rowIndex + "," + 컬럼 인덱스 + ":"
+ 값);
}
if (columnIndex == 0 && value.trim().equals("")) {
부서지다;
}
}
}
}
}