1. مقدمة
غالبًا ما تشارك التقارير في تطوير الويب Java. في المشاريع الحديثة ، نحتاج إلى عرض البيانات في قاعدة البيانات كجدول وتصديرها كملف Excel.
2. حزم الجرة ذات الصلة
يمكن أن يؤدي استخدام POI إلى حل مشاكل استيراد Excel وتصديره جيدًا. عنوان تنزيل POI:
POI-3.6-20091214.JAR
3. رمز المفتاح
أول استيراد حزمة الجرة أعلاه.
عند إنشاء Excel ، يكون نموذج مصدر البيانات العام قائمة. فيما يلي الرمز الذي يولد تنسيق Excel:
/ *** فيما يلي توليد عملية Excel*/// 1. قم بإنشاء مصنف ، يتوافق مع ملف Excel ، HSSFWorkbook WB = جديد HSSFWorkBook () ؛ // 2. أضف ورقة في المصنف ، المقابلة لصفحة في ورقة Excel HSSFSHEET = WB.CREATESHEET ("XXX Table") ؛ // 3. أضف الصف 0 من رأس الجدول في الورقة. الإصدار القديم POI له حد لعدد صفوف Excel Short Hssfrow Row = sheet.createRow ((int) 0) ؛ // 4. قم بإنشاء خلية ، وقم بتعيين رأس جدول القيمة ، وقم بتعيين رأس الجدول على مركز HSSFCellStyle Style = WB.CreateCellStyle () ؛ // contering تنسيق نمط. // اضبط رأس الجدول HSSFCell Cell = row.createCell (0) ؛ cell.setCellValue ("table header1") ؛ cell.setCellStyle (style) ؛ الخلية = row.createcell (1) ؛ Cell.SetCellValue ("Table Header2") ؛ cell.setCellStyle (style) ؛ الخلية = row.createcell (2) ؛ cell.setCellValue ("table header3") ؛ cell.setCellStyle (style) ؛ الخلية = row.createcell (3) ؛ Cell.SetCellValue ("Table Header 4") ؛ cell.setCellStyle (style) ؛ الخلية = row.createcell (4) ؛ cell.setCellValue ("Table Header 5") ؛ cell.setCellStyle (style) ؛بعد إنشاء تنسيق Excel ، يجب عليك كتابة البيانات للتفوق:
// حلقة لكتابة البيانات إلى excel لـ (int i = 0 ؛ i <lists.size () ؛ i ++) {row = sheet.createrw ((int) i+1) ؛ قائمة قائمة = lists.get (i) ؛ // قم بإنشاء خلية وضبط ROW.CREATECELL (0) .SetCellValue (list.getxxx ()) ؛ row.createcell (1) .SetCellValue (list.getxxx ()) ؛ row.createcell (2) .SetCellValue (list.getxxx ()) ؛ row.createcell (3) .SetCellValue (list.getxxx ()) ؛ row.createcell (3) .SetCellValue (list.getxxx ()) ؛ row.createcell (4) .SetCellValue (list.getxxx ()) ؛ } سيتم بعد ذلك إخراج Excel الناتج كدفق.
*لا يوجد صندوق تنزيل الملوثات العضوية الثابتة
FileOutputStream Out = new FileOutputStream ("E: /XXX.XLS") ؛ WB.Write (Out) ؛ out.close () ؛*توصل إلى مربع التنزيل
اسم ملف السلسلة = "XXX TABLE" ؛ bytearrayoutputStream OS = جديد bytearrayoutputstream () ؛ WB.Write (OS) ؛ byte [] content = os.tobytearray () ؛ inputStream هو = جديد bytearrayinputStream (المحتوى) ؛ // قم بتعيين معلمة الاستجابة لفتح صفحة التنزيل res.Reset () ؛ Res.SetContentType ("application/vnd.ms-excel ؛ charset = utf-8") ؛ Res.Setheader ("Disposition" ، "المرفق ؛ filename =" + سلسلة جديدة ((اسم الملف + ".xls"). getBytes () ، "ISO-8859-1")) ؛ servleToutPutStream out = res.getOutputStream () ؛ BufferedInputStream BIS = NULL ؛ bufferedoutputstream bos = null ؛ حاول {bis = جديد bufferedInputStream (IS) ؛ BOS = جديد bufferedOutputStream (Out) ؛ Byte [] Buff = New Byte [2048] ؛ int bytesread ؛ // حلقة قراءة/كتابة بسيطة. بينما (-1! = (bytesread = bis.read (Buff ، 0 ، Buff.length))) {bos.write (Buff ، 0 ، bytesread) ؛ }} catch (استثناء e) {// todo: التعامل مع الاستثناء e.printstacktrace () ؛ } أخيرًا {if (bis! = null) bis.close () ؛ إذا (bos! = null) bos.close () ؛ } بعد الانتهاء من العمليات أعلاه ، يمكنك القفز إلى صفحات أخرى.
في الوقت نفسه ، يمكن لـ POI أيضًا عرض تحميل Excel وتحليله على صفحة الويب. يرجى ترقب هذا ملخص المقال الآخر!
ما سبق هو كل محتوى هذه المقالة. آمل أن يكون ذلك مفيدًا لتعلم الجميع وآمل أن يدعم الجميع wulin.com أكثر.