تصف هذه المقالة طريقة تحليل محتوى Excel في Java. شاركه للرجوع إليه. طريقة التنفيذ المحددة هي كما يلي:
نسخة الكود كما يلي:
استيراد java.io.file ؛
استيراد java.io.fileInputStream ؛
استيراد java.io.inputstream ؛
استيراد java.util.arraylist ؛
استيراد org.apache.poi.hssf.usermodel.hssfworkbook ؛
استيراد org.apache.poi.ss.usermodel.cell ؛
استيراد org.apache.poi.ss.usermodel.row ؛
استيراد org.apache.poi.ss.usermodel.sheet ؛
استيراد org.apache.poi.ss.usermodel.workbook ؛
استيراد org.apache.poi.xssf.usermodel.xsssfworkbook ؛
اختبار الفئة العامة {
/**
* param args
*/
الفراغ الثابت العام الرئيسي (سلسلة [] args) {
MeetQuery ("403" ، "e: // excel // 1 Fire Level 3 Plan Place Process.xlsx") ؛
}
arraylist ثابت خاص <meetbean> MeetQuery (مستوى السلسلة ، اسم ملف السلسلة) {
ArrayList <MistBean> list = new ArrayList <MistBean> () ؛
يحاول {
ملف الملف = ملف جديد (اسم الملف) ؛
inputStream هو = جديد fileInputStream (ملف) ؛
مصنف المصنف = null ؛ // كائن المصنف هو ملف Excel
ورقة ورقة = null ؛ // sheet page ، نظرًا لأن Excel يحتوي دائمًا على صفحات ورائحة متعددة ، فمن الضروري تحديد أي قيمة محددة.
الصف 1 = null ؛ // صف في عدد الصفحات
int colnum = 0 ؛ // إجمالي عدد صفوف صف الورقة
خلية الخلية = خالية ؛ // محتويات العمود الأول
خلية الخلية 1 = فارغة ؛ // محتوى العمود الثاني
سلسلة MistnEname = null ؛ // اسم النقطة
سلسلة Meetid = null ؛ // رقم النقطة
اجتماع السلسلة = null ؛ // النقاط الرئيسية
وقت اجتماع السلسلة = فارغ ؛ // وقت التخلص
Meetbean Meet = NULL ؛
// حدد التنسيق الذي يكون الملف 2003/2007 يتم التعامل مع الكائن بشكل مختلف اعتمادًا على الإصدار
if (filename.endswith (". xls")) {
المصنف = جديد HSSFWorkbook (IS) ؛ // Excel 2003
} آخر إذا (filename.endswith (". xlsx")) {
المصنف = XSSFWorkbook جديد (IS) ؛ // Excel 2007
} آخر {
العودة لاغية.
}
// لتحديد صفحة الورقة التي يجب معالجتها ، هناك ثلاثة مستخدمين في المجموع ، وسوف يتعاملون مع نقاط رئيسية مختلفة للتعامل مع كل منها.
إذا (المستوى == "401") {
// النقاط الرئيسية ونصائح معالجة لمشرف المواقع على الخدمة
ورقة = workbook.getSheetat (0) ؛
colnum = sheet.getLastrownum () ؛ // لا يتضمن إجمالي عدد الصفوف محتوى العنوان
System.out.println ("Total:" + Colnum + "row") ؛
لـ (int i = 3 ؛ i <= colnum ؛ i ++) {
لقاء = جديد MeetBean () ؛
row1 = sheet.getrow (i) ؛ // عدد الصفوف المراد تحليلها
الخلية = 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) {
String 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 (لقاء) ؛
} آخر {
قائمة العودة
}
} آخر {
قائمة العودة
}
}
} آخر إذا (المستوى == "402") {
ورقة = مصنف.
colnum = sheet.getLastrownum () ؛ // لا يتضمن إجمالي عدد الصفوف محتوى العنوان
System.out.println ("Total:" + Colnum + "row") ؛
لـ (int i = 3 ؛ i <= colnum ؛ i ++) {
لقاء = جديد MeetBean () ؛
row1 = sheet.getrow (i) ؛ // عدد الصفوف المراد تحليلها
الخلية = 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) {
String 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 (لقاء) ؛
} آخر {
قائمة العودة
}
} آخر {
قائمة العودة
}
}
} آخر إذا (المستوى == "403") {
ورقة = مصنف.
colnum = sheet.getLastrownum () ؛ // لا يتضمن إجمالي عدد الصفوف محتوى العنوان
System.out.println ("Total:" + Colnum + "row") ؛
int nameInt = 0 ؛
int hineint = 0 ؛
لـ (int j = 0 ؛ j <= colnum ؛ j ++) {
الصف 1 = sheet.getrow (3) ؛ // فقط عدد الصفوف المراد تحليلها لديه اسم النقاط الرئيسية في الصف الثالث ، محتوى المطالبة
الخلية = ROW1.GETCELL ((قصيرة) 1) ؛ // عدد الأعمدة لحل أسماء نقاط المفاتيح
cell1 = row1.getCell ((قصيرة) 2) ؛ // عدد الأعمدة لتحليل مطالبات النقاط الرئيسية
}
لـ (int i = 3 ؛ i <= colnum ؛ i ++) {
لقاء = جديد MeetBean () ؛
row1 = sheet.getrow (i) ؛ // عدد الصفوف المراد تحليلها
الخلية = 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) {
String 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 (لقاء) ؛
} آخر {
قائمة العودة
}
} آخر {
قائمة العودة
}
}
}
is.close () ؛
} catch (استثناء e) {
E.PrintStackTrace () ؛
}
قائمة العودة
}
}
آمل أن يكون هذا المقال مفيدًا لبرمجة Java للجميع.