[Crystal Report] Tip ในการออกแบบ Layout รายงาน (.rpt) เพื่อให้ Export เป็นไฟล์ Excel ได้อย่างถูกต้อง

สัปดาห์ที่แล้วผมได้แก้ปัญหาของรายงานที่สร้างจากตัว Crystal Report ซึ่งมีปัญหาในการ Export รายงานออกมาเป็นไฟล์ Excel แล้วไฟล์ที่ Export ออกมามี Layout เละ ผิดจากที่ได้ออกแบบไว้ใน Crystal Report เยอะเลย user เอาข้อมูลไปใช้งานต่อได้ลำบาก โดยวันนี้ผมได้สรุป เทคนิคดีๆในการจัด Layout ของ Report เพื่อให้สามารถ Export ข้อมูลออกมาได้สวยงาม และสามารถนำข้อมูลไปใช้ต่อได้ง่ายครับ

  1. เอา Section ที่ไม่ได้ใช้ในรายงานออกไป โดยจะลบ Section นั้นทิ้ง หรือ suppress(ซ่อน) ไว้ก็ได้
  2. พยายามอย่าให้เกิด Space ระหว่าง Object ต่างๆ เช่น ระหว่าง Field 2 Field เป็นต้น เพราะ Space เหล่านี้ตัว engine ของ Crystal จะปรับแบบสุ่มให้เป็น Cell ใหม่ หรือจะเอาไปรวมกับข้อมูลของ Object ใด Object หนึ่ง แต่ถ้าไม่จำเป็นจริงๆให้ใส่ Text Object ไปคั่นแทน
  3. สำหรับ Object ที่มีเงื่อนไข พยายามที่จะสร้างเงื่อนไขแยกไว้ใน Section ต่างๆกัน
    ตัวอย่าง ในรายงานมีเงื่อนไขในการแสดงข้อมูล 2 ฟิลด์ ได้แก่ Grade A และ Grade B โดยใช้กำไรเป็นเงื่อนไข ถ้ากำไรมากกว่า 60,000 ให้แสดงฟิลด์ Grade A ถ้าไม่ใช่แสดงฟิลด์ Grade B แทน
    จากเงื่อนไขนี้ เราจำเป็นต้องใช้ suppression formula ให้กับทั้ง 2 ฟิลด์ เมื่อ Export เป็น Excel ตัว Excel จะเข้าใจว่าเป็น 2 field  และกินพื้นที่ 2 cell แทน
    วิธีนี้ เรามาสามารถแก้ปัญหาโดยแยก Section ในรายงานเพื่อแสดงรายละเอียด โดยส่วนแรกเป็นรายการที่ได้กำไรในระดับ Grade A และ อีก Section สำหรับ Grade B ตามลำดับ
  4. Crystal Report ไม่สามารถ Export เส้น และตารางได้ เมื่อ Export ข้อมูลแบบ Excel data only
    • หากต้องการให้รายงานที่ Export มีเส้น และตาราง แนะนำให้ลองไปใช้การ set Border ของ Object ต่างๆใน Crystal Report แทน เช่น Text field หรือ Database field เป็นต้น
  5. อย่าพยายามวาง Object ให้มันทับซ้อนกัน
  6. เมื่อเราลาก Object มาวางในส่วนของ Report Designer อย่าพยายามที่จะปรับขนาด หรือย้ายมันมาทับซ้อน จนกว่าคุณจะเลือก option "snap to grid" แล้ว
  7. ในแต่ละ Object ให้เลือก Can Grow option ไว้ เพราะมันจะช่วยแก้ปัญหา Overlapping(ทับซ้อน) กันได้
  8. พยายามจัด Field ให้อยู่ในเส้น Guideline เพื่อเป็นการบอก Excel ให้จัดรูปแบบได้ถูกต้อง และลดการเกิดบรรทัดว่างในไฟล์ Excel ที่ Export ได้
  9. ในตัว Layout ให้กำหนด printer เป็น no printer เพือให้ไฟล์ Excel ที่ Export ยึดการจัดวางหน้ากระดาษตามตัว Layout ของ Report

CrystalReportExportExcel

ข้อมูลตรงนี้ ผมได้สรุปจากไฟล์ PDF ที่ทาง SAP-Crystal Report ได้เขียนแนวทางไว้ครับ สำหรับรายละเอียดเพื่อเติมอื่นๆ ผมได้แนบแหล่งข้อมูล และไฟล์ PDF สำรองไว้แล้วครับ


Discover more from naiwaen@DebuggingSoft

Subscribe to get the latest posts to your email.