この記事では、JavaのExcelコンテンツを解析する方法について説明します。参照のためにそれを共有してください。特定の実装方法は次のとおりです。
コードコピーは次のとおりです。
java.io.fileをインポートします。
java.io.fileinputStreamをインポートします。
java.io.inputStreamをインポートします。
java.util.arraylistをインポートします。
org.apache.poi.hssf.usermodel.hssfworkbookをインポートします。
org.apache.poi.ss.s.usermodel.cellをインポートします。
org.apache.poi.ss.s.usermodel.rowをインポートします。
org.apache.poi.ss.s.usermodel.sheetをインポートします。
Import org.apache.poi.ss.s.usermodel.workbook;
org.apache.poi.xssf.usermodel.xssfworkbookをインポートします。
パブリッククラステスト{
/**
* @param args
*/
public static void main(string [] args){
MeetQuery( "403"、 "e:// excel // 1火災レベル3計画処分process.xlsx");
}
Private Static ArrayList <MeetBean> MeetQuery(String Level、String Filename){
ArrayList <MeetBean> list = new ArrayList <MeetBean>();
試す {
file file = new file(filename);
inputstream is = new fileInputStream(file);
ワークブックワークブック= null; //ワークブックオブジェクトはExcelファイルです
シートシート= null; //シートページ、Excelには常に複数のシートページがあるため、どれが特定の値であるかを判断する必要があります。
row row1 = null; //シートページカウントの行
int colnum = 0; //合計シート行数
セルセル= null; //最初の列の内容
Cell cell1 = null; // 2番目の列の内容
文字列MeetingName = null; //ポイント名
string meetid = null; //ポイント番号
文字列会議= null; //キーポイント
文字列会議時間= null; //処分時間
MeetBean Meet = null;
//ファイルは2003/2007であるかどうかを決定するバージョンに応じてオブジェクトは異なる方法で処理されます
if(filename.endswith( "。xls")){
workbook = new HSSFWorkBook(IS); // Excel 2003
} else if(filename.endswith( "。xlsx")){
ワークブック= new XSSFWorkBook(IS); // Excel 2007
} それ以外 {
nullを返します。
}
//処理するシートページを決定するには、合計3人のユーザーがいます。彼らはそれぞれの処理のさまざまなキーポイントを扱います。
if(level == "401"){
//デューティウェブマスターのキーポイントと処理のヒント
Sheet = workbook.getSheetat(0);
colnum = sheet.getlastrownum(); //行の合計数にはタイトルコンテンツが含まれていません
system.out.println( "合計:" + colnum + "row");
for(int i = 3; i <= colnum; i ++){
Meet = new MeetBean();
row1 = sheet.getrow(i); //解析する行の数
cell = row1.getcell((short)2); //キーポイント名を解決する列の数
cell1 = row1.getcell((short)4); //キーポイントプロンプトを解析する列の数
if(cell!= null && cell1!= null){
meetname = cell.getStringCellValue();
Meeting = cell1.getStringCellValue();
meetId = "yd" + i;
//廃棄ポイントの名前が空の場合、最後の廃棄ポイントにループして戻ります。 。 。
if(!meetname.equals( "")){
文字列intstr = string
.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ディスパッチャーのキーポイントと処理のヒント
colnum = sheet.getlastrownum(); //行の合計数にはタイトルコンテンツが含まれていません
system.out.println( "合計:" + colnum + "row");
for(int i = 3; i <= colnum; i ++){
Meet = new MeetBean();
row1 = sheet.getrow(i); //解析する行の数
cell = row1.getcell((short)2); //キーポイント名を解決する列の数
cell1 = row1.getcell((short)4); //キーポイントプロンプトを解析する列の数
if(cell!= null && cell1!= null){
meetname = cell.getStringCellValue();
Meeting = cell1.getStringCellValue();
meetId = "yd" + i;
//廃棄ポイントの名前が空の場合、最後の廃棄ポイントにループして戻ります。 。 。
if(!meetname.equals( "")){
文字列intstr = string
.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( "合計:" + colnum + "row");
int nameint = 0;
int hineint = 0;
for(int j = 0; j <= colnum; j ++){
row1 = sheet.getrow(3); //解析される行の数のみが3行目にキーポイント名を持っています。
cell = row1.getcell((short)1); //キーポイント名を解決する列の数
cell1 = row1.getcell((short)2); //キーポイントプロンプトを解析する列の数
}
for(int i = 3; i <= colnum; i ++){
Meet = new MeetBean();
row1 = sheet.getrow(i); //解析する行の数
cell = row1.getcell((short)1); //キーポイント名を解決する列の数
cell1 = row1.getcell((short)2); //キーポイントプロンプトを解析する列の数
if(cell!= null && cell1!= null){
meetname = cell.getStringCellValue();
Meeting = cell1.getStringCellValue();
meetId = "yd" + i;
//廃棄ポイントの名前が空の場合、最後の廃棄ポイントにループして戻ります。 。 。
if(!meetname.equals( "")){
文字列intstr = string
.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プログラミングに役立つことを願っています。