Artikel ini menjelaskan metode parsing konten Excel di Java. Bagikan untuk referensi Anda. Metode implementasi spesifik adalah sebagai berikut:
Salinan kode adalah sebagai berikut:
impor java.io.file;
impor java.io.fileInputStream;
impor java.io.inputstream;
impor java.util.arraylist;
impor org.apache.poi.hssf.usermodel.hssfworkbook;
impor org.apache.poi.ss.usermodel.cell;
impor org.apache.poi.ss.usermodel.row;
impor org.apache.poi.ss.usermodel.sheet;
impor org.apache.poi.ss.usermodel.workbook;
impor org.apache.poi.xssf.usermodel.xssfworkbook;
tes kelas publik {
/**
* @param args
*/
public static void main (string [] args) {
MeetQuery ("403", "E: // Excel // 1 Fire Level 3 Plan Process.xlsx");
}
Private Static ArrayList <TeetBean> MeetQuery (Level String, String FileName) {
ArrayList <TeetBean> Daftar = ArrayList baru <TeetBean> ();
mencoba {
File file = file baru (nama file);
InputStream adalah = FileInputStream baru (file);
Buku kerja buku kerja = null; // objek buku kerja adalah file excel
Lembar Lembar = NULL; // Halaman Sheet, karena Excel selalu memiliki beberapa halaman lembar, perlu untuk menentukan mana yang merupakan nilai spesifik.
Baris baris1 = null; // baris dalam jumlah halaman lembar
int colnum = 0; // Jumlah baris total lembar
Sel sel = null; // isi kolom pertama
Sel sel1 = null; // konten kolom kedua
String MeetingName = null; // point name
String MeetID = null; // Point Number
Rapat string = null; // poin kunci
Waktu pertemuan string = null; // waktu pembuangan
MeetBean Meet = null;
// Tentukan format apa file 2003/2007 objek ditangani secara berbeda tergantung pada versinya
if (filename.endswith (". xls")) {
Workbook = HSSFWorkbook baru (IS); // Excel 2003
} lain jika (filename.endswith (". xlsx")) {
Buku kerja = XSSFWorkbook baru (IS); // Excel 2007
} kalau tidak {
kembali nol;
}
// Untuk menentukan halaman lembar mana yang akan diproses, ada tiga pengguna secara total, dan mereka akan menangani masing -masing poin utama penanganan.
if (level == "401") {
// Poin Kunci dan Tip Penanganan untuk Webmaster Bertugas
sheet = workbook.getsheetat (0);
colnum = sheet.getlastrownum (); // Jumlah total baris tidak termasuk konten judul
System.out.println ("Total:" + Colnum + "Row");
untuk (int i = 3; i <= colnum; i ++) {
Meet = New MeetBean ();
row1 = sheet.getrow (i); // jumlah baris yang akan diuraikan
sel = row1.getCell ((pendek) 2); // Jumlah kolom untuk menyelesaikan nama poin kunci
cell1 = row1.getCell ((pendek) 4); // Jumlah kolom untuk menguraikan poin -poin kunci yang diminta
if (cell! = null && cell1! = null) {
MeetName = cell.getStringCellValue ();
rapat = cell1.getStringCellValue ();
MeetID = "yd" + i;
// Jika nama titik pembuangan kosong, itu akan mengulang ke titik pembuangan terakhir dan kembali. . .
if (! MeetName.Equals ("")) {
String intstr = string
.valueof ((int) (math.random () * 10 + 1)); // menghasilkan angka acak dari 1-10
// Jika jumlah acak 1-9, format waktu kompensasi nol otomatis adalah 00:00:00
if (intstr.length () <2) {
String min = "0" + intstr;
meettime = "00:" + min + ": 00";
} kalau tidak {
meettime = "00:" + intstr + ": 00";
}
Meet.setMeetId (MeetID); // Jumlah Poin Kunci untuk Pembuangan
Meet.SetMeetName (MeetName); // Nama Poin Kunci Pembuangan
Meet.SetMeetHint (Meethine); // 0 Poin Kunci untuk Dihadapi
Meet.setMeetTime (meettime); // waktu pembuangan
Meet.SetMeetLevel ("401"); // Level Poin Penanganan
list.add (bertemu);
} kalau tidak {
daftar pengembalian;
}
} kalau tidak {
daftar pengembalian;
}
}
} lain jika (level == "402") {
sheet = workbook.getsheetat (1); // Poin kunci dan penanganan Dispatcher OCC
colnum = sheet.getlastrownum (); // Jumlah total baris tidak termasuk konten judul
System.out.println ("Total:" + Colnum + "Row");
untuk (int i = 3; i <= colnum; i ++) {
Meet = New MeetBean ();
row1 = sheet.getrow (i); // jumlah baris yang akan diuraikan
sel = row1.getCell ((pendek) 2); // Jumlah kolom untuk menyelesaikan nama poin kunci
cell1 = row1.getCell ((pendek) 4); // Jumlah kolom untuk menguraikan poin -poin kunci yang diminta
if (cell! = null && cell1! = null) {
MeetName = cell.getStringCellValue ();
rapat = cell1.getStringCellValue ();
MeetID = "yd" + i;
// Jika nama titik pembuangan kosong, itu akan mengulang ke titik pembuangan terakhir dan kembali. . .
if (! MeetName.Equals ("")) {
String intstr = string
.valueof ((int) (math.random () * 10 + 1)); // menghasilkan angka acak dari 1-10
// Jika jumlah acak 1-9, format waktu kompensasi nol otomatis adalah 00:00:00
if (intstr.length () <2) {
String min = "0" + intstr;
meettime = "00:" + min + ": 00";
} kalau tidak {
meettime = "00:" + intstr + ": 00";
}
Meet.setMeetId (MeetID); // Jumlah Poin Kunci untuk Pembuangan
Meet.SetMeetName (MeetName); // Nama Poin Kunci Pembuangan
Meet.SetMeetHint (Meethine); // Poin Kunci untuk Penanganan
Meet.setMeetTime (meettime); // waktu pembuangan
Meet.SetMeetLevel ("402"); // Level Poin Penanganan
list.add (bertemu);
} kalau tidak {
daftar pengembalian;
}
} kalau tidak {
daftar pengembalian;
}
}
} lain jika (level == "403") {
sheet = workbook.getsheetat (2); // titik -titik kunci dari pusat kontrol dan tip penanganan
colnum = sheet.getlastrownum (); // Jumlah total baris tidak termasuk konten judul
System.out.println ("Total:" + Colnum + "Row");
int nameint = 0;
int hineint = 0;
untuk (int j = 0; j <= colnum; j ++) {
row1 = sheet.getrow (3); // Hanya jumlah baris yang akan diuraikan memiliki nama poin kunci di baris ketiga, konten prompt
sel = row1.getCell ((pendek) 1); // Jumlah kolom untuk menyelesaikan nama poin kunci
cell1 = row1.getCell ((pendek) 2); // Jumlah kolom untuk menguraikan poin -poin kunci yang diminta
}
untuk (int i = 3; i <= colnum; i ++) {
Meet = New MeetBean ();
row1 = sheet.getrow (i); // jumlah baris yang akan diuraikan
sel = row1.getCell ((pendek) 1); // Jumlah kolom untuk menyelesaikan nama poin kunci
cell1 = row1.getCell ((pendek) 2); // Jumlah kolom untuk menguraikan poin -poin kunci yang diminta
if (cell! = null && cell1! = null) {
MeetName = cell.getStringCellValue ();
rapat = cell1.getStringCellValue ();
MeetID = "yd" + i;
// Jika nama titik pembuangan kosong, itu akan mengulang ke titik pembuangan terakhir dan kembali. . .
if (! MeetName.Equals ("")) {
String intstr = string
.valueof ((int) (math.random () * 10 + 1)); // menghasilkan angka acak dari 1-10
// Jika jumlah acak 1-9, format waktu kompensasi nol otomatis adalah 00:00:00
if (intstr.length () <2) {
String min = "0" + intstr;
meettime = "00:" + min + ": 00";
} kalau tidak {
meettime = "00:" + intstr + ": 00";
}
Meet.setMeetId (MeetID); // Jumlah Poin Kunci untuk Pembuangan
Meet.SetMeetName (MeetName); // Nama Poin Kunci Pembuangan
Meet.SetMeetHint (Meethine); // Poin Kunci untuk Penanganan
Meet.setMeetTime (meettime); // waktu pembuangan
Meet.SetMeetLevel ("403"); // Level Poin Penanganan
list.add (bertemu);
} kalau tidak {
daftar pengembalian;
}
} kalau tidak {
daftar pengembalian;
}
}
}
is.close ();
} catch (Exception e) {
e.printstacktrace ();
}
daftar pengembalian;
}
}
Saya harap artikel ini akan membantu pemrograman Java semua orang.