이 기사에서는 Java의 Excel 함량을 구문 분석하는 방법에 대해 설명합니다. 참조를 위해 공유하십시오. 특정 구현 방법은 다음과 같습니다.
코드 사본은 다음과 같습니다.
import java.io.file;
import java.io.fileInputStream;
import java.io.inputstream;
java.util.arraylist 가져 오기;
import org.apache.poi.hssf.usermodel.hssfworkbook;
import org.apache.poi.ss.usermodel.cell;
import org.apache.poi.ss.usermodel.row;
import org.apache.poi.ss.usermodel.sheet;
import org.apache.poi.ss.usermodel.workbook;
import org.apache.poi.xssf.usermodel.xssfworkbook;
공개 수업 테스트 {
/**
* @param args
*/
public static void main (String [] args) {
MeetQuery ( "403", "e : // excel // 1 화재 레벨 3 계획 처리 프로세스 .xlsx");
}
Private Static ArrayList <CeetBean> MeetQuery (String Level, String Filename) {
ArrayList <CeetBean> List = New ArrayList <CeetBean> ();
노력하다 {
파일 = 새 파일 (filename);
inputStream은 = 새 fileInputStream (파일);
통합 문서 통합 문서 = null; // 통합 문서 개체는 Excel 파일입니다.
시트 시트 = null; // 시트 페이지, Excel에는 항상 여러 개의 시트 페이지가 있으므로 특정 값인지 결정해야합니다.
row1 = null; // 시트 페이지 수의 행
int colnum = 0; // 총 시트 행 카운트
셀 셀 = null; // 첫 번째 열의 내용
Cell Cell1 = null; // 두 번째 열의 내용
문자열 meetingname = null; // 포인트 이름
문자열 meetId = null; // 포인트 번호
문자열 meeting = null; // 키 포인트
문자열 회의 시간 = null; // 폐기 시간
MeetBean Meet = NULL;
// 파일이 2003/2007인지 결정 버전에 따라 객체가 다르게 처리됩니다.
if (filename.endswith ( ". xls")) {
통합 문서 = 새로운 hssfworkbook (IS); // Excel 2003
} else if (filename.endswith ( ". xlsx")) {
통합 문서 = 새로운 xssfworkbook (IS); // Excel 2007
} 또 다른 {
널 리턴;
}
// 처리 할 시트 페이지를 결정하려면 총 세 명의 사용자가 있으며 각각의 다른 핵심 지점을 처리합니다.
if (level == "401") {
// 의무 웹 마스터를위한 핵심 포인트 및 처리 팁
시트 = Workbook.getSheetat (0);
colnum = sheet.getLastrownum (); // 총 행 수에는 제목 내용이 포함되어 있지 않습니다.
System.out.println ( "Total :" + Colnum + "Row");
for (int i = 3; i <= colnum; i ++) {
Meet = New MeetBean ();
row1 = sheet.getrow (i); // 구문 분석 할 행의 수
cell = row1.getCell ((짧음) 2); // 키 포인트 이름을 해결하기위한 열 수
cell1 = row1.getCell ((짧은) 4); // 키 포인트 프롬프트를 구문 분석하는 열 수
if (cell! = null && cell1! = null) {
meetName = cell.getStringCellValue ();
회의 = cell1.getStringCellValue ();
meetid = "yd" + i;
// 폐기 지점의 이름이 비어 있으면 마지막 폐기 지점으로 고정되어 반환됩니다. . .
if (! meetName.equals ( "")) {
문자열 intstr = 문자열
.Valueof ((int) (math.random () * 10 + 1); // 1-10에서 랜덤 숫자를 생성합니다.
// 1-9의 임의 번호 인 경우 자동 제로 보상 시간 형식은 00:00:00입니다.
if (intstr.length () <2) {
문자열 min = "0" + intstr;
meettime = "00 :" + min + ": 00";
} 또 다른 {
MeetTime = "00 :" + intstr + ": 00";
}
meet.setMeetId (meetId); // 폐기를위한 핵심 포인트 수
meet.setmeetName (meetName); // 폐기의 핵심 지점의 이름
meet.setmeethint (Meethine); // 0 핵심 포인트를 다루십시오
meet.setmeettime (meettime); // 처분 시간
meet.setmeetlevel ( "401"); // 핸들링 포인트 수준
list.add (meet);
} 또 다른 {
반환 목록;
}
} 또 다른 {
반환 목록;
}
}
} else if (level == "402") {
Sheet = Workbook.getSheetat (1); // OCC OCC Dispatcher의 주요 포인트 및 핸들링 팁
colnum = sheet.getLastrownum (); // 총 행 수에는 제목 내용이 포함되어 있지 않습니다.
System.out.println ( "Total :" + Colnum + "Row");
for (int i = 3; i <= colnum; i ++) {
Meet = New MeetBean ();
row1 = sheet.getrow (i); // 구문 분석 할 행의 수
cell = row1.getCell ((짧음) 2); // 키 포인트 이름을 해결하기위한 열 수
cell1 = row1.getCell ((짧은) 4); // 키 포인트 프롬프트를 구문 분석하는 열 수
if (cell! = null && cell1! = null) {
meetName = cell.getStringCellValue ();
회의 = cell1.getStringCellValue ();
meetid = "yd" + i;
// 폐기 지점의 이름이 비어 있으면 마지막 폐기 지점으로 고정되어 반환됩니다. . .
if (! meetName.equals ( "")) {
문자열 intstr = 문자열
.Valueof ((int) (math.random () * 10 + 1); // 1-10에서 랜덤 숫자를 생성합니다.
// 1-9의 임의 번호 인 경우 자동 제로 보상 시간 형식은 00:00:00입니다.
if (intstr.length () <2) {
문자열 min = "0" + intstr;
meettime = "00 :" + min + ": 00";
} 또 다른 {
MeetTime = "00 :" + intstr + ": 00";
}
meet.setMeetId (meetId); // 폐기를위한 핵심 포인트 수
meet.setmeetName (meetName); // 폐기의 핵심 지점의 이름
meet.setmeethint (Meethine); // 처리를위한 핵심 포인트
meet.setmeettime (meettime); // 처분 시간
meet.setmeetlevel ( "402"); // 핸들링 포인트 수준
list.add (meet);
} 또 다른 {
반환 목록;
}
} 또 다른 {
반환 목록;
}
}
} else if (level == "403") {
Sheet = Workbook.getSheetat (2); // 제어 센터의 핵심 지점 및 처리 팁
colnum = sheet.getLastrownum (); // 총 행 수에는 제목 내용이 포함되어 있지 않습니다.
System.out.println ( "Total :" + Colnum + "Row");
int nameint = 0;
int hineint = 0;
for (int j = 0; j <= colnum; j ++) {
row1 = sheet.getrow (3); // 구문 분석 할 행의 수만 셋째 행에 키 포인트 이름이 있습니다. 프롬프트 내용
cell = row1.getCell ((짧음) 1); // 키 포인트 이름을 해결하기위한 열 수
cell1 = row1.getCell ((짧음) 2); // 키 포인트 프롬프트를 구문 분석하는 열 수
}
for (int i = 3; i <= colnum; i ++) {
Meet = New MeetBean ();
row1 = sheet.getrow (i); // 구문 분석 할 행의 수
cell = row1.getCell ((짧음) 1); // 키 포인트 이름을 해결하기위한 열 수
cell1 = row1.getCell ((짧음) 2); // 키 포인트 프롬프트를 구문 분석하는 열 수
if (cell! = null && cell1! = null) {
meetName = cell.getStringCellValue ();
회의 = cell1.getStringCellValue ();
meetid = "yd" + i;
// 폐기 지점의 이름이 비어 있으면 마지막 폐기 지점으로 고정되어 반환됩니다. . .
if (! meetName.equals ( "")) {
문자열 intstr = 문자열
.Valueof ((int) (math.random () * 10 + 1); // 1-10에서 랜덤 숫자를 생성합니다.
// 1-9의 임의 번호 인 경우 자동 제로 보상 시간 형식은 00:00:00입니다.
if (intstr.length () <2) {
문자열 min = "0" + intstr;
meettime = "00 :" + min + ": 00";
} 또 다른 {
MeetTime = "00 :" + intstr + ": 00";
}
meet.setMeetId (meetId); // 폐기를위한 핵심 포인트 수
meet.setmeetName (meetName); // 폐기의 핵심 지점의 이름
meet.setmeethint (Meethine); // 처리를위한 핵심 포인트
meet.setmeettime (meettime); // 처분 시간
meet.setmeetlevel ( "403"); // 핸들링 포인트 수준
list.add (meet);
} 또 다른 {
반환 목록;
}
} 또 다른 {
반환 목록;
}
}
}
is.close ();
} catch (예외 e) {
e.printstacktrace ();
}
반환 목록;
}
}
이 기사가 모든 사람의 Java 프로그래밍에 도움이되기를 바랍니다.