إخراج التقرير هو محتوى يشارك غالبًا في تطوير تطبيقات Java ، وغالبًا ما تفتقر التقارير العامة إلى العالمية وليست مريحة للمستخدمين لتحرير تخصيصها. نظرًا لميزاتها عبر المنصات ، لا يمكن لبرامج Java معالجة Excel مباشرة. لذلك ، يناقش هذا المقال برنامج Java لخط POI من أجل قراءة وامتياز Excel.
هيكل المشروع:
java_poi_excel
ملفات Excel المستخدمة:
XLS
xlsmain. جافا فئة
// لها هذه الفئة طريقة رئيسية ، وهي مسؤولة بشكل أساسي عن تشغيل البرنامج. في الوقت نفسه ، يتضمن هذا الفئة أيضًا قراءة Excel مع POI (الإصدار 2003) استيراد java.io.fileinputstream ؛ استيراد java.ioexception ؛ استيراد java.io.inputstream ؛ java.util.arraylist ؛ eSport java.util.list ؛ import java.util.tiL.List ؛ org.apache.poi.hssf.usermodel.hssfrow ؛ import org.apache.poi.hssf.usermodel.hssfsheet ؛ import org.apache.poi.hssf.usermodel.hssfworkbook ؛ /** * * Author Hongten </br> * *//public Class XLSMain {public static void main (string [] args) remspection {xlsmain xlsmain = new xlsmain () ؛ XLSDTO XLS = NULL ؛ قائمة <xlsdto> list = xlsmain.readxls () ؛ حاول {xlsdto2excel.xlsdto2excel (قائمة) ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ } لـ (int i = 0 ؛ i <list.size () ؛ i ++) {xls = (xlsdto) list.get (i) ؛ System.out.println (xls.getxh () + "" + xls.getxm () + "" + xls.getyxsmc () + "" + xls.getkcm () + "" + xls.getkcm () + " + xls.getcj ()) ؛ }}/*** اقرأ محتوى ملف XLS** @RETURN <XLSDTO> كائن* throws ioException* الإدخال/الإخراج (i/o) استثناء*/قائمة خاصة <xlsdto> readxls () trows ioException {inputStream is = new FileInputStream ( HSSFWORKBOOK HSSFWORKBOOK = NEW HSSFWORKBOOK (IS) ؛ XLSDTO XLSDTO = null ؛ قائمة <xlsdto> list = new ArrayList <XLSDTO> () ؛ // ورقة ورقة ورقة ل (int numsheet = 0 ؛ numSheet <hssfworkbook.getnumberofsheets () ؛ numsheet ++) {hssfsheet hssfsheet = hssfworkbook.getsheetat (numsheet) ؛ if (hssfsheet == null) {contert ؛ } // صف صف LOOP لـ (int rownum = 1 ؛ rownum <= hssfsheet.getlastrownum () ؛ rownum ++) {hssfrow hssfrow = hssfsheet.getrow (rownum) ؛ if (hssfrow == NULL) {متابعة ؛ } xlsdto = new xlsdto () ؛ // حلقة عمود خلية // 0 رقم الطالب 1 الاسم 2 الكلية 3 اسم الدورة 4 نقاط // لـ (int cellnum = 0 ؛ cellnum <= 4 ؛ cellnum ++) {hssfcell xh = hssfrow.getcell (0) ؛ if (xh == null) {contert ؛ } xlsdto.setxh (getValue (xh)) ؛ HSSFCell XM = HSSFrow.getCell (1) ؛ if (xm == null) {متابعة ؛ } xlsdto.setxm (getValue (xm)) ؛ HSSFCell YXSMC = HSSFrow.getCell (2) ؛ if (yxsmc == null) {contert ؛ } xlsdto.setyxsmc (getValue (yxsmc)) ؛ HSSFCell KCM = HSSFrow.getCell (3) ؛ if (kcm == NULL) {متابعة ؛ } xlsdto.setkcm (getValue (KCM)) ؛ HSSFCell CJ = HSSFrow.getCell (4) ؛ if (cj == null) {contert ؛ } xlsdto.setcj (float.parsefloat (getValue (CJ))) ؛ list.add (xlsdto) ؛ }} قائمة الإرجاع ؛ } / ** * احصل على القيمة في جدول excel * * param hssfcell * كل شبكة في قيم excel * return في كل شبكة في excel * / suppresswarnings ("static-access") سلسلة خاصة (hssfcell hssfcell) hssfcell.cell_type_boolean) {// إرجاع قيمة نوع Boolean Return String.valueof (hssfcell.getBooleanCellValue ()) ؛ } آخر إذا (hssfcell.getCelltype () == hssfcell.cell_type_numeric) {// إرجاع قيمة نوع الإرجاع numeric. } آخر {// إرجاع قيمة نوع السلسلة return string.valueof (hssfcell.getStringCellValue ()) ؛ }}}XLSDTO2EXCEL.JAVA فئة
. استيراد org.apache.poi.hssf.usermodel.hssfcell ؛ import org.apache.poi.hssf.usermodel.hssfrichtextstring ؛ import org.apache.poi.hssf.usermodel.hsfsheet ؛ الفئة العامة XLSDTO2EXCEL { / ** * * param xls * كائن من فئة كيان XLSDTO * athrows الاستثناء * يلقي استثناءً خلال استيراد excel * / public static void xlsdto2excel (قائمة <xlsdto> xls) استثناء {// الحصول على إجمالي الأعمدة intcultnum = // إنشاء مستند Excel HSSFWorkbook HWB = جديد HSSFWORKBOOK () ؛ XLSDTO XLSDTO = null ؛ // الورقة تتوافق مع صفحة العمل HSSFSHEET = HWB.CREATESTEET ("pldrxkxmb") ؛ Hssfrow firstrow = sheet.createrw (0) ؛ // ابدأ الخط باستخدام subcript 0 hssfcell [] firstcell = new HSSfcell [countColumnNum] ؛ سلسلة [] الأسماء = سلسلة جديدة [countColumnnum] ؛ أسماء [0] = "رقم الطالب" ؛ أسماء [1] = "الاسم" ؛ أسماء [2] = "الكلية" ؛ أسماء [3] = "اسم الدورة" ؛ أسماء [4] = "النتيجة" ؛ لـ (int j = 0 ؛ j <countColumnnum ؛ j ++) {firstcell [j] = firstrow.createcell (j) ؛ FirstCell [J] .SetCellValue (Hssfrichtextstring جديد (أسماء [J])) ؛ } لـ (int i = 0 ؛ i <xls.size () ؛ i ++) {// إنشاء صف من hssfrow row = sheet.createrow (i+1) ؛ // احصل على كل سجل ليتم إدراجه XLSDTO = xls.get (i) ؛ لـ (int colu = 0 ؛ colu <= 4 ؛ colu ++) {// loop في صف hssfcell xh = row.createcell (0) ؛ xh.setCellValue (xlsdto.getxh ()) ؛ HSSFCell XM = ROW.CREATECELL (1) ؛ xm.setCellValue (xlsdto.getxm ()) ؛ HSSFCell YXSMC = ROW.CREATECELL (2) ؛ yxsmc.setCellValue (xlsdto.getyxsmc ()) ؛ HSSFCell KCM = ROW.CREATECELL (3) ؛ kcm.setCellValue (xlsdto.getkcm ()) ؛ HSSFCell CJ = ROW.CREATECELL (4) ؛ CJ.SetCellValue (xlsdto.getcj ()) ؛ (xlsdto.getMessage ()) ؛ }} // قم بإنشاء دفق إخراج الملفات وإعداد جدول بيانات الإخراج OutsTream Out = fileOutputStream جديد ("POI2EXCEL/PLDRXKXMB.XLS") ؛ HWB.Write (Out) ؛ out.close () ؛ System.out.println ("Database Export Success") ؛ }}XLSDTO
. / *** رقم الطالب*/ سلسلة خاصة XH ؛ / *** name*/ private String XM ؛ / *** College*/ Private String YXSMC ؛ / *** رقم الدورة*/ integer kch ؛ / *** اسم الدورة*/ سلسلة خاصة KCM ؛ / *** Score*/ Private Float CJ ؛ integer getxkh () {return xkh ؛ } public void setxkh (integer xkh) {this.xkh = xkh ؛ } السلسلة العامة getxh () {return xh ؛ } public void setxh (String xh) {this.xh = xh ؛ } السلسلة العامة getxm () {return xm ؛ } public void setXM (String XM) {this.xm = xm ؛ } السلسلة العامة getyxsmc () {return yxsmc ؛ } public void setyxsmc (string yxsmc) {this.yxsmc = yxsmc ؛ } integer getkch () {return kch ؛ } public void setkch (integer kch) {this.kch = kch ؛ } السلسلة العامة getKcm () {return kcm ؛ } public void setkcm (string kcm) {this.kcm = kcm ؛ } public float getCj () {return cj ؛ } public void setcj (float cj) {this.cj = cj ؛ }}إخراج الخلفية:
تصدير قاعدة البيانات بنجاح
1.0 Hongten School of Information Technology Computer Network Basics 80.0
2.0 WANGWU تكنولوجيا المعلومات الكلية الأساسية لتطبيق شبكة الكمبيوتر 81.0
3.0 Li Shengji of Information Technology Computer Network Basics 82.0
4.0 أساسيات تطبيق شبكة الكمبيوتر من فئة 5 كلية تكنولوجيا المعلومات 83.0
5.0 CAI Shiyun School of Information Technology Computer Network Basics 84.0
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.