บทช่วยสอน JasperReports: รายงาน Jasper มีไว้เพื่ออะไร Java- ตัวอย่าง

JasperReports มีไว้เพื่ออะไร Java?

แจสเปอร์รีพอร์ตส์ เป็นเครื่องมือการรายงานแบบโอเพ่นซอร์สสำหรับ Java ที่ใช้ในการรายงานการสมัคร เครื่องมือการรายงานนี้ช่วยในการเขียนเนื้อหาที่หลากหลายลงบนหน้าจอ เครื่องพิมพ์ หรือลงในไฟล์ต่างๆ เช่น HTML, PDF, XLS, RTF, CSV, XML, ODT และ TXT JasperReports ยังสามารถนำมาใช้สำหรับ Java- เปิดใช้งานแอปพลิเคชันเช่น Java EE หรือเว็บแอปพลิเคชันเพื่อสร้างเนื้อหาแบบไดนามิก

วิธีการติดตั้ง Jasper Reports- การตั้งค่าสภาพแวดล้อม

ในบทช่วยสอน Jaspersoft Studio นี้ มาเรียนรู้กระบวนการทีละขั้นตอนสำหรับการตั้งค่าสภาพแวดล้อม JasperReports:

ขั้นตอน 1) ดาวน์โหลดรายงาน Jasper Community Edition
ไปที่นี้ ลิงค์ และคลิกตัวเลือกดาวน์โหลดทันทีเพื่อติดตั้ง Jasper Reports Community Edition

ติดตั้ง Jasper Reports- การตั้งค่าสภาพแวดล้อม

ขั้นตอน 2) เลือก Jaspersoft Studio CE
จากรุ่นชุมชน เลือก Jaspersoft Studio CE

ติดตั้ง Jasper Reports- การตั้งค่าสภาพแวดล้อม

ขั้นตอน 3) ดาวน์โหลด Jaspersoft Studio
ไปที่นี้ ลิงค์ และคลิกปุ่มดาวน์โหลด เปิดไฟล์ดาวน์โหลด TIB_js-studiocomm_6.9.0_windows_x86_64.exe TIB_js-studiocomm_6.9.0_windows_x86_64.exe

ติดตั้ง Jasper Reports- การตั้งค่าสภาพแวดล้อม

ขั้นตอน 4) คลิกที่ปุ่มตกลง
จะปรากฏหน้าจอต่อไปนี้ ให้เลือกปุ่ม ฉันยอมรับ

ติดตั้ง Jasper Reports- การตั้งค่าสภาพแวดล้อม

ขั้นตอน 5) เลือกสถานที่
เลือกตำแหน่งการติดตั้งของคุณและคลิกที่ปุ่มถัดไป

ติดตั้ง Jasper Reports- การตั้งค่าสภาพแวดล้อม

ขั้นตอน 6) ความคืบหน้ากำลังทำงานอยู่ในขณะนี้
คุณจะเห็นความคืบหน้าในหน้าจอถัดไป

ติดตั้ง Jasper Reports- การตั้งค่าสภาพแวดล้อม

ขั้นตอน 7) คลิกที่ปุ่มเสร็จสิ้น
ในหน้าจอถัดไป คลิกที่ปุ่มเสร็จสิ้น

ติดตั้ง Jasper Reports- การตั้งค่าสภาพแวดล้อม

ขั้นตอน 8) ความคืบหน้าเสร็จสมบูรณ์
หน้าจอต่อไปนี้จะปรากฏในหน้าต่างของคุณ

ติดตั้ง Jasper Reports- การตั้งค่าสภาพแวดล้อม

ขั้นตอน 9) เริ่มต้นเลย
ถัดไปคลิกที่ตัวเลือกเริ่มต้น

ติดตั้ง Jasper Reports- การตั้งค่าสภาพแวดล้อม

ขั้นตอน 10) เริ่มต้นทำงานกับสตูดิโอ Jasper Reports
หน้าจอต่อไปนี้จะปรากฏขึ้น คุณสามารถเริ่มทำงานกับ Jasper Reports Studio ได้

ติดตั้ง Jasper Reports- การตั้งค่าสภาพแวดล้อม

เหตุใดจึงใช้รายงานแจสเปอร์

ต่อไปนี้เป็นเหตุผลหลายประการในการใช้เครื่องมือรายงานของ Jasper:

  • นำเสนอประสิทธิภาพการสร้างรายงานและการส่งมอบให้กับผู้ใช้
  • ช่วยให้คุณแสดงข้อมูลของคุณในรูปแบบข้อความหรือกราฟิก
  • เป็นเซิร์ฟเวอร์การรายงานแบบสแตนด์อโลนและแบบฝังสำหรับการรวบรวมและการดำเนินการรายงาน
  • อนุญาตให้มีการควบคุมการเข้าถึงตามบทบาทสำหรับรายงานทั้งหมดในที่เก็บ
  • เฟรมเวิร์กการรักษาความปลอดภัยของสปริงสำหรับการผสานรวมกับระบบการตรวจสอบภายในองค์กร
  • มีกลไกการรายงานแบบโต้ตอบการจัดส่งที่ปลอดภัย กำหนดเวลา และอัตโนมัติ
  • คุณสามารถฝังรายงานลงไปได้ Java หรือไม่ -Java ใบสมัคร
  • สามารถส่งออกรายงานได้หลากหลายรูปแบบ
  • นักพัฒนาสามารถให้ข้อมูลได้หลายวิธี
  • มันสามารถสร้างลายน้ำที่วางอยู่เหนือภาพหลักได้
  • นำเสนอชุดที่สมบูรณ์ของ สบู่, REST และบริการทางเว็บ
  • อนุญาตให้คุณใช้ข้อมูลรายงานเดียวจากแหล่งข้อมูลหลายแหล่ง

วงจรชีวิตของ JasperReports

ในบทช่วยสอน JasperReports นี้ เราจะเรียนรู้เกี่ยวกับวงจรชีวิตของ JasperReports

ต่อไปนี้เป็นขั้นตอนทั่วไปของวงจรชีวิตของรายงาน Jasper:

วงจรชีวิตของ JasperReports
วงจรชีวิตของ JasperReports

การออกแบบรายงาน:

นี่จะเป็นขั้นตอนแรกที่เราสร้างไฟล์ JRXML เป็นไฟล์ที่เป็นเอกสาร XML แบบธรรมดาซึ่งกำหนดเค้าโครงรายงาน คุณสามารถพัฒนาไฟล์นี้โดยใช้โปรแกรมแก้ไขข้อความหรือผู้ออกแบบรายงาน

อย่างไรก็ตาม หากคุณใช้ผู้ออกแบบรายงาน เราสามารถมองเห็นโครงร่างของรายงานได้ และควรละเว้นโครงสร้างที่แท้จริงของ JRXML

การรวบรวมรายงาน:

ในขั้นตอนวงจรชีวิตนี้ JRXML ซึ่งสร้างขึ้นในระยะแรกจะถูกคอมไพล์ และวัตถุไบนารี่ที่เรียกว่าไฟล์ Jasper (ไฟล์ที่มี jasper xtn) จะถูกสร้างขึ้น

การรวบรวมนี้จัดทำขึ้นเพื่อให้ได้ประสิทธิภาพที่ดีขึ้นระหว่างการดำเนินการ ไฟล์ Jasper ที่สร้างขึ้นเหล่านี้ควรจัดส่งพร้อมกับแอปพลิเคชันของคุณเพื่อเรียกใช้รายงาน

การดำเนินการรายงาน:

ในขั้นตอนนี้ ข้อมูลจากแอปพลิเคชันจะถูกรวบรวมและกรอกในรูปแบบรายงานที่รวบรวมไว้ มีคลาสชื่อ net.sf.jasperreports.engine.JasperFillManager ซึ่งมีฟังก์ชันในการกรอกข้อมูลในรายงาน

ผลลัพธ์จะถูกจัดเก็บไว้ในไฟล์พิมพ์ Jasper (ไฟล์ที่มี jprint xtn) ซึ่งสามารถใช้เพื่อพิมพ์หรือส่งออกรายงานได้

ส่งออกรายงานเป็นรูปแบบที่ต้องการ:

ในขั้นตอนสุดท้ายนี้ คุณต้องส่งออกไฟล์การพิมพ์ Jasper ซึ่งสร้างขึ้นก่อนหน้านี้เป็นรูปแบบใดๆ โดยใช้คลาส JasperExportManager เนื่องจาก Jasper มีรูปแบบการส่งออกที่หลากหลาย เราจึงสามารถใช้อินพุตเดียวกันเพื่อสร้างการแสดงข้อมูลที่หลากหลายได้

คุณสมบัติของรายงานแจสเปอร์

ตอนนี้ เราจะกล่าวถึงคุณสมบัติของ JasperReports ในการสอนทีละขั้นตอนของ JasperReports

นี่คือคุณสมบัติที่สำคัญของเครื่องมือ Jasper Reports:

  • เสนอรูปแบบรายงานที่ยืดหยุ่น
  • นักพัฒนาสามารถให้ข้อมูลได้หลายวิธี
  • ช่วยให้คุณสามารถยอมรับข้อมูลจากแหล่งข้อมูลหลายแหล่ง
  • สามารถใช้ลายน้ำได้
  • สามารถใช้แหล่งข้อมูลหลายแหล่งเพื่อถ่ายโอนข้อมูล
  • คุณสามารถสร้างรายงานย่อยได้
  • สามารถสร้างรายงานย่อยได้
  • ช่วยให้คุณส่งออกรายงานได้หลากหลายรูปแบบเช่น รูปแบบไฟล์ PDF, HTML, RTF, Microsoft ไฟล์ Excel
  • กลไกช่วยให้คำจำกัดความของรายงานรวมแผนภูมิได้

แจสเปอร์กับเพนทาโฮ

ตอนนี้ เราจะเรียนรู้เกี่ยวกับความแตกต่างระหว่าง Jasper และ Pentaho ในบทช่วยสอน Jasper Reporting นี้

นี่คือความแตกต่างที่สำคัญระหว่าง Jasper และ Pentaho:

พารามิเตอร์ นิล ซอฟต์แวร์ Pentaho
รายงาน Jasper ใช้รายงานในการออกแบบรายงาน ใช้ Pentaho Report Designer
รองรับ ETL Jaspersoft ใช้เวอร์ชัน Talend Open Studio เพื่อวัตถุประสงค์ ETL โดยจะใช้ Pentaho Data Integrator เป็นค่าเริ่มต้น เครื่องมือ ETL.
แดชบอร์ด ฟังก์ชั่นแดชบอร์ดมีอยู่ในโปรแกรมแก้ไข Enterprise ของ Jaspersoft เท่านั้น Pentaho นำเสนอฟีเจอร์ที่หลากหลายในแดชบอร์ด
ระบบธุรกิจอัจฉริยะบนมือถือ Jaspersoft มี BI มือถือที่ดีกว่าเช่นกัน Pentaho ใช้จำเป็นต้องพึ่งพาเครื่องมือของบุคคลที่สามเพื่อปรับปรุงประสบการณ์ BI บนมือถือ
เอกสาร การตลาด ไซต์ และเอกสารประกอบที่ดีขึ้น การสนับสนุนเอกสารไม่ดี
คุณสมบัติที่ดีที่สุด ค้นคว้าและค้นหาสิ่งที่คุณต้องการได้ง่ายขึ้น เสนอการขุดข้อมูลและการรวม iPhone
รุ่นที่จ่าย เวอร์ชันที่ต้องชำระเงินมีคุณสมบัติเช่น แบบสอบถามเฉพาะกิจ เว็บ Ul, เว็บสร้างแดชบอร์ด Ul เสนอคุณสมบัติเช่นการบูรณาการ LDAP, SSO, การตรวจสอบ ฯลฯ

การสร้างตัวอย่างเทมเพลตรายงาน

ในบทช่วยสอน JasperReports นี้ เรามาเรียนรู้วิธีสร้างเทมเพลตรายงานใน JasperReports กันดีกว่า

ไฟล์เทมเพลตรายงานที่ใช้ใน JasperReports เป็นไฟล์ XML แบบธรรมดาที่มีนามสกุล jrxml ไฟล์นี้มีแท็กเป็นองค์ประกอบราก กรอบงาน JasperReports สามารถรองรับแหล่งข้อมูลประเภทต่างๆ ได้

เทมเพลตรายงานได้รับการออกแบบและสร้างโดยใช้สองขั้นตอนต่อไปนี้

ขั้นตอน 1) การสร้างไฟล์ JRXML ใน Jaspersoft Studio

  1. ไปที่ตัวเลือกไฟล์
  2. เลือกเมนูย่อยใหม่
  3. คลิกที่ตัวเลือกรายงาน Jasper

การสร้างตัวอย่างเทมเพลตรายงาน

ขั้นตอน 2) การเลือกเทมเพลตที่ต้องการ

  1. เลือกเทมเพลตของคุณ เช่น เชอร์รี่
  2. คลิกที่ปุ่ม "ถัดไป"

การสร้างตัวอย่างเทมเพลตรายงาน

ขั้นตอน 3) การเลือกโฟลเดอร์หลัก

  1. เลือกโฟลเดอร์ MyReports
  2. ป้อนชื่อไฟล์ เช่น “Cherry Report”
  3. คลิกที่ปุ่ม "ถัดไป"

การสร้างตัวอย่างเทมเพลตรายงาน

ขั้นตอน 4) ในหน้าต่างแหล่งข้อมูล, คลิกที่ปุ่ม "ใหม่" เพื่อสร้างอะแดปเตอร์ข้อมูลใหม่

การสร้างตัวอย่างเทมเพลตรายงาน

ขั้นตอน 5) การเลือกอะแดปเตอร์ข้อมูล

  1. เลือกอะแดปเตอร์ข้อมูลจากกล่องรายการ ตัวอย่างเช่น “การรวบรวม Javaถั่ว."
  2. คลิกที่ปุ่ม "ถัดไป"

การสร้างตัวอย่างเทมเพลตรายงาน

ขั้นตอน 6) การกรอกรายละเอียดอะแดปเตอร์ข้อมูลและเลือกคลาสโรงงาน

  1. ป้อนชื่ออะแดปเตอร์ของคุณ
  2. เลือกระดับโรงงานโดยคลิกที่ปุ่ม “…”

การสร้างตัวอย่างเทมเพลตรายงาน

ขั้นตอน 7) การป้อนคำนำหน้าหรือรูปแบบ

  1. ป้อนคำนำหน้าชื่อหรือรูปแบบ
  2. คลิกรายการที่ตรงกัน
  3. คลิกที่ปุ่ม "ตกลง"

การสร้างตัวอย่างเทมเพลตรายงาน

ขั้นตอน 8) การกำหนดคลาสโรงงานและเพิ่มพาธไปยังไฟล์ jar

  1. ป้อนชื่อของวิธีการคงที่ในคลาสโรงงาน ในตัวอย่างรายงาน Jasper นี่คือ createBeanCollection
  2. หากคุณ Javaคำจำกัดความของ Beans มีคำอธิบายฟิลด์ และคุณต้องการใช้คำอธิบายเหล่านี้เป็นชื่อใน Jaspersoft Studio ให้เลือกช่องกาเครื่องหมายใช้คำอธิบายฟิลด์
  3. เพิ่มเส้นทางไปยังไฟล์ jar ของคุณ
  4. คลิกที่ปุ่ม "เสร็จสิ้น"

การสร้างตัวอย่างเทมเพลตรายงาน

ขั้นตอน 9) คลิกที่ปุ่ม "ถัดไป"

การสร้างตัวอย่างเทมเพลตรายงาน

ขั้นตอน 10) ยินดีด้วย! คุณได้เพิ่มข้อมูลการสร้างรายงานที่จำเป็นทั้งหมดเรียบร้อยแล้ว คลิกที่ปุ่ม "เสร็จสิ้น"

การสร้างตัวอย่างเทมเพลตรายงาน

รายงานจะถูกสร้างขึ้นตามที่แสดงในหน้าจอด้านล่าง

การสร้างตัวอย่างเทมเพลตรายงาน

ไฟล์ด้านบนจำเป็นต้องคอมไพล์เป็นรูปแบบ JasperReport Binary ซึ่งเรียกว่าไฟล์แจสเปอร์

อินเทอร์เฟซ net.sf.jasperreports.engine.design.JRCompiler ซึ่งเป็นส่วนหนึ่งของไลบรารี JasperReports มีบทบาทสำคัญในการรวบรวมไฟล์เทมเพลตรายงานนี้

การใช้งานอินเทอร์เฟซนี้สามารถเขียนได้ Java, Javaต้นฉบับ, Groovyหรือภาษาสคริปต์อื่นๆ

คุณสามารถคอมไพล์ไฟล์ JRXML ได้สองวิธีดังต่อไปนี้:

  • การรวบรวมแบบเป็นโปรแกรม
  • การรวบรวมโดยใช้งาน Apache ANT

ทำความเข้าใจกับกลุ่มรายงานต่างๆ

ต่อไปนี้เป็นรูปแบบรายงานมาตรฐานที่นำมาใช้โดยเครื่องมือสร้างรายงานเชิงพาณิชย์ส่วนใหญ่

  • ชื่อหนังสือ
  • ส่วนหัวของหน้า
  • ส่วนหัวของคอลัมน์
  • รายละเอียด
  • ส่วนท้ายของคอลัมน์
  • ส่วนท้ายของหน้า
  • สรุป

มาเรียนรู้แต่ละวงการรายงานโดยละเอียด:

หัวข้อ:

วงดนตรีนี้แสดงอยู่ที่ตอนเริ่มต้นของรายงาน สามารถใช้เป็นหน้าแรกได้โดยการตั้งค่าแอตทริบิวต์ isTitleNewPage="true."

ส่วนหัวของหน้า:

แถบการรายงานส่วนหัวของหน้าแสดงอยู่ที่ตอนต้นของแต่ละหน้า โดยจะไม่รวมหน้าแรกหากใช้แถบชื่อเรื่อง และหน้าแรกหากใช้แถบชื่อเรื่องและหน้าแรกหากใช้แถบชื่อเรื่องกับการตั้งค่า isSummaryWithPageHeaderAndFooter="false.".

ส่วนหัวของคอลัมน์:

ส่วนหัวของคอลัมน์จะปรากฏก่อนแถบรายละเอียดในแต่ละหน้า

รายละเอียด:

ส่วนรายละเอียดจะวนซ้ำสำหรับแต่ละเรกคอร์ดในแหล่งข้อมูลที่ให้มา นอกจากนี้ยังอนุญาตให้มีหลายแถบรายละเอียด (1, 2 ฯลฯ)

ส่วนท้ายของคอลัมน์:

ส่วนนี้จะปรากฏใต้แถบรายละเอียดในแต่ละหน้าที่มีแถบรายละเอียดอยู่ การตั้งค่าเริ่มต้นคือส่วนท้ายของหน้า แต่สามารถเปลี่ยนไปใช้ภายใต้แถบรายละเอียดสุดท้ายได้โดยการตั้งค่าแอตทริบิวต์ isFloatColumnFooter=" true."

ส่วนท้ายของหน้า:

ส่วนนี้จะแสดงที่ตอนท้ายของแต่ละหน้าโดยไม่รวมแถบสรุป แถบชื่อเรื่อง และแถบไม่ใช่สรุปสุดท้าย

ส่วนท้ายของหน้าสุดท้าย:

ส่วนนี้จะปรากฏบนหน้าก่อนหน้า (หากไม่ได้ระบุแถบสรุป) แทนที่ส่วนท้ายของหน้าปกติ

สรุป:

ส่วนสรุปจะปรากฏที่ส่วนท้ายของรายงานในหน้าใหม่เท่านั้น เมื่อไร isSummaryNewPage="true" ถูกตั้งค่าและมีการตั้งค่าส่วนหัวและส่วนท้ายของหน้า isSummaryWithPageHeaderAndFooter="true".

ส่วนหัวของกลุ่ม:

ส่วนนี้จะปรากฏเฉพาะเมื่อมีการกำหนดทุกครั้งที่นิพจน์กลุ่มเปลี่ยนแปลงก่อนแถบรายละเอียด

ส่วนท้ายของกลุ่ม:

ส่วนนี้จะแสดงเฉพาะเมื่อมีการกำหนดกลุ่มทุกครั้งก่อนที่นิพจน์กลุ่มจะเปลี่ยนหลังจากแถบรายละเอียด

พื้นหลัง:

จะแสดงบนหน้าต่างๆ ทั้งหมดเป็นพื้นหลังให้กับแถบรายงานอื่นๆ

ไม่มีข้อมูล:

แบนด์นี้จะปรากฏขึ้นเมื่อไม่มีการส่งผ่านแหล่งข้อมูล หรือแหล่งข้อมูลว่างเปล่าและเมื่อ NoDataType=”NoDataSection” ถูกตั้งค่า

ความท้าทายที่ต้องเผชิญขณะสร้าง JasperReports

ต่อไปนี้เป็นความท้าทายบางประการที่คุณจะต้องเผชิญขณะสร้างรายงาน Jasper:

  • การเปลี่ยนแปลงหลัก – การเปลี่ยนแปลงหรือการปรับปรุงธุรกิจ จำเป็นต้องเปลี่ยนตรรกะหลักของรายงาน
  • รายงานที่ซับซ้อน – รายงานย่อยและรายงานแบบตารางไขว้เป็นตัวอย่างที่ดี
  • รายงานแผนภูมิหรือแผนภูมิภาพ เช่น กราฟ เส้น XY แผนภูมิวงกลม แผนภูมิแท่ง อนุกรมเวลา และแผนภูมิมิเตอร์

ข้อเสียของการใช้ Jasper Reports

นี่คือข้อเสีย/ข้อเสียของการใช้ Jasper Reports

  • เมื่อคุณเริ่มทำการเปลี่ยนแปลงใดๆ กับส่วนของแพ็คเกจและลบฟีเจอร์ต่างๆ ออกแล้ว เป็นเรื่องยากมากที่จะกลับไปสู่การตั้งค่าแพ็คเกจเริ่มต้น
  • มันเข้มงวดเกินไป การแก้ไขเส้นและการสร้างครอสแท็บถือเป็นงานที่ท้าทาย
  • งานทั่วไปบางอย่าง เช่น การระบุผลรวมย่อยสำหรับรายงานที่จัดกลุ่มจะง่ายกว่าในตัวออกแบบรายงานอีกสองคน
  • Jasper ต้องการให้คุณรวบรวมรายงานก่อนที่จะรัน ซึ่งหมายความว่านักพัฒนารายงานต้องมีข้อมูลทั้งหมด Java ติดตั้ง SDK แล้ว
  • บางครั้งเมื่อคุณแก้ไขรายงาน รายงานจะไม่แสดงตัวอย่างแบบเดียวกับที่แสดงบนเว็บ

สรุป

  • JasperReports เป็นโอเพ่นซอร์ส Java เครื่องมือการรายงาน นี้ Java ไลบรารีคลาสนำเสนอความสามารถในการรายงานสำหรับแอปพลิเคชันของคุณ
  • Jasper Reports นำเสนอประสิทธิภาพการสร้างรายงานและการส่งมอบให้กับผู้ใช้
  • วงจรชีวิตของ Jasper Reports ประกอบด้วย 1) การออกแบบรายงาน 2) การรวบรวมรายงาน 3) การดำเนินการรายงาน และ 4) การส่งออกรายงานเป็นรูปแบบที่ต้องการ
  • ใน Jasper Reports คุณสามารถสร้างแหล่งข้อมูลหลายแหล่งเพื่อถ่ายโอนข้อมูลได้
  • ความแตกต่างที่สำคัญระหว่าง Jasper และ Pentaho คือรายงานของ Jasper ใช้รายงานสำหรับการออกแบบรายงานในขณะที่ ซอฟต์แวร์ Pentaho ใช้ Pentaho Report Designer
  • ไฟล์เทมเพลตรายงานที่ใช้ใน JasperReports เป็นไฟล์ XML แบบธรรมดาที่มีนามสกุล jrxml
  • แถบรายงานที่สำคัญ ได้แก่ 1) หัวข้อ 2) ส่วนหัวของหน้า 3) ส่วนหัวของคอลัมน์ 4) รายละเอียด 5) ส่วนท้ายของคอลัมน์ 6) ส่วนท้ายของหน้า และ 7) สรุป
  • ความท้าทายที่ใหญ่ที่สุดของการใช้ Jasper Reports คือคุณต้องเปลี่ยนตรรกะหลักของรายงานหากตรรกะทางธุรกิจเปลี่ยนไป
  • ข้อเสียเปรียบที่ใหญ่ที่สุดของ Jasper Reports คือ เมื่อคุณทำการเปลี่ยนแปลงใดๆ กับบางส่วนของแพ็คเกจ เป็นการยากที่จะกลับไปสู่การตั้งค่าเริ่มต้น