يقدم
Jakarta POI هي مجموعة من واجهات برمجة تطبيقات Java للوصول إلى المستندات التي تنظمها Microsoft. يتكون Jakarta POI من العديد من المكونات ، بما في ذلك HSSF لتشغيل ملفات تنسيق Excel و HWPF لتشغيل الكلمات. من بين المكونات المختلفة ، فقط HSSF لتشغيل Excel ناضجة نسبيا. الصفحة الرئيسية الرسمية http://poi.apache.org/index.html ، وثائق API http://poi.apache.org/apidocs/index.html
ينجز
تمت إضافة تعليقات كاملة إلى الكود.
استيراد java.io.fileInputStream ؛ استيراد java.io.fileOutputStream ؛ استيراد java.io.inputstream ؛ استيراد java.io.outputstream ؛ استيراد java.util.arraylist ؛ import java.util.list ؛ import org.poi.poi.hssf.usermodel.hsssfcell org.apache.poi.hssf.usermodel.hssfcellstyle ؛ import org.apache.poi.hssf.usermodel.hssfrow ؛ import org.apache.poi.hssf.usermodel.hssfsheet ؛ exceloperate {public static void main (string [] args) {// إنشاء table excel createExcel (getStudent ()) ؛ // قراءة قائمة جدول Excel <Student> list = readExcel () ؛ System.out.println (list.toString ()) ؛ } / *** تهيئة البيانات** RETURN DATA* / قائمة ثابتة خاصة <Tudtude> getStudent () {LIST <STUTROM> list = new ArrayList <Tudent> () ؛ الطالب 1 = طالب جديد ("Xiao Ming" ، 8 ، "الصف الثاني") ؛ الطالب 2 = طالب جديد ("Xiao Guang" ، 9 ، "الصف الثاني") ؛ الطالب 3 = طالب جديد ("Xiao Hua" ، 10 ، "الصف الرابع") ؛ list.add (student1) ؛ list.add (student2) ؛ list.add (student3) ؛ قائمة العودة } / ** * إنشاء excel * * param list * data * / private static void createExcel (قائمة <Student> list) {// إنشاء ملف excel hssfworkbook workbook = new hssfworkbook () ؛ // إنشاء ورقة عمل HSSFSHEET = Workbook.CreateSheet ("طالب جدول واحد") ؛ // أضف صف رأس HSSFROW HSSFROW = sheet.createrW (0) ؛ // قم بتعيين تنسيق الخلية إلى مركز HSSFCellStyle CellStyle = Workbook.CreateCellStyle () ؛ cellstyle.setalignment (hssfcellstyle.align_center) ؛ // إضافة محتوى الرأس HSSFCell headcell = hssfrow.createcell (0) ؛ headcell.setCellValue ("name") ؛ headcell.setCellStyle (cellstyle) ؛ headcell = hssfrow.createcell (1) ؛ headcell.setCellValue ("العمر") ؛ headcell.setCellStyle (cellstyle) ؛ headcell = hssfrow.createcell (2) ؛ headcell.setCellValue ("Grade") ؛ headcell.setCellStyle (cellstyle) ؛ // إضافة محتوى بيانات لـ (int i = 0 ؛ i <list.size () ؛ i ++) {hssfrow = sheet.createrw ((int) i+1) ؛ الطالب الطالب = list.get (i) ؛ // قم بإنشاء خلية وتعيين القيمة HSSFCell Cell = HSSFrow.CreateCell (0) ؛ cell.setCellValue (student.getName ()) ؛ cell.setCellStyle (cellstyle) ؛ الخلية = hssfrow.createcell (1) ؛ cell.setCellValue (student.getage ()) ؛ cell.setCellStyle (cellstyle) ؛ الخلية = hssfrow.createcell (2) ؛ cell.setCellValue (student.getGrade ()) ؛ cell.setCellStyle (cellstyle) ؛ }. Workbook.write (OutputStream) ؛ outputStream.Close () ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ }} / ** * اقرأ excel * * @RETURN COLLECTION * / Private Static List <Dustude> readExcel () {list <Student> list = new ArrayList <Tudent> () ؛ HSSFWorkbook Workbook = null ؛ حاول {// قراءة ملف excel inputStream inputStream = جديد fileInputStream ("d: /students.xls") ؛ المصنف = جديد HSSFWorkbook (inputStream) ؛ inputStream.Close () ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ }. if (hssfsheet == null) {contert ؛ } // صف loop لـ (int rownum = 1 ؛ rownum <= hssfsheet.getlastrownum () ؛ rownum ++) {hssfrow hssfrow = hssfsheet.getrow (rownum) ؛ if (hssfrow == NULL) {متابعة ؛ } // حفظ المحتويات في الخلية في طالب التجميع = طالب جديد () ؛ HSSFCell Cell = HSSfrow.getCell (0) ؛ if (Cell == NULL) {متابعة ؛ } student.setName (cell.getStringCellValue ()) ؛ الخلية = hssfrow.getCell (1) ؛ if (Cell == NULL) {متابعة ؛ } student.setage ((int) cell.getNumericCellValue ()) ؛ الخلية = hssfrow.getCell (2) ؛ if (Cell == NULL) {متابعة ؛ } student.setGrade (cell.getStringCellValue ()) ؛ list.add (الطالب) ؛ }} قائمة الإرجاع ؛ }}إرفاق رمز فصل الطالب
طالب الطبقة العامة {اسم السلسلة الخاصة ؛ عصر INT الخاص ؛ سلسلة السلسلة الخاصة ؛ الطالب العام () {} الطالب العام (اسم السلسلة ، int age ، string grade) {super () ؛ this.name = name ؛ this.age = العمر ؛ this.grade = grade ؛ } السلسلة العامة getName () {return name ؛ } public void setName (اسم السلسلة) {this.name = name ؛ } public int getage () {return Age ؛ } public void setage (int age) {this.age = age ؛ } السلسلة العامة getGrade () {return Grade ؛ } public void setGrade (سلسلة سلسلة) {this.grade = grade ؛ } Override public string toString () {return "student [name =" + name + "، age =" + age + "، clase =" + rade + "]" ؛ }} نتائج الاختبار
تصدير جداول Excel
طلاب
اطبع بيانات القراءة Excel
[الطالب [name = Xiao Ming ، العمر = 8 ، الصف = الصف الثاني] ، الطالب [name = Xiao Guang ، العمر = 9 ، الصف = 3] ، الطالب [Name = Xiao Hua ، العمر = 10 ، الصف = 4]]
لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون محتوى هذه المقالة من بعض المساعدة لدراستك أو عملك. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل.