본문 바로가기

Delphi/C++Builder

퀵레포트 보고서 엑셀로 내보내기(저장하기)

(Quick Report 5.0.6 버전으로 작성된 내용입니다.)

퀵레포트(QuickReport)로 작성한 보고서를 저장해야 하는 경우 퀵레포트 필터를 통해 다양한 포맷을 추가할 수 있습니다.



위 필터 중 TQRXLSXFilter를 통해 엑셀로 보고서를 내보내기(저장)할 수 있습니다.



하지만 엑셀로 내보내기 기능을 제공하려면 XLColumn 속성을 설정해야 합니다.

XLColumn 속성은 엑셀에 표시되는 컬럼 순서로, 인쇄가능한 퀵레포트 컴포넌트들(TQRLabel, TQRDBText 등의 TQRPrintable 클래스를 상속받는 컴포넌트 들)은 모두 XLColumn 속성을 갖고 있습니다.(다시 말해 대부분의 컨트롤의 XLColumn 속성을 설정해야 합니다.)


XLColumn 속성은 다음 특징을 참고해 신중히 설정해야 합니다.

  1. 동일한 밴드(TQRBand)에서 Top 속성의 값이 같은 경우 엑셀의 같은 행에 표시된다.
  2. 만약, Top 속성이 같은 컨트롤이 있을 경우 중복 에러를 발생해 엑셀 내보내기 기능이 동작하지 않는다.


다음과 같이 XLColumn을 설정해야 합니다.



보고서 미리보기 후 저장 시 XLSX spreadsheet 파일 형식이 추가되고, 


저장하면 아래와 같이 엑셀로 저장됩니다.



주의!!!

Top 속성이 같은 컨트롤이 있을 경우 아래와 같은 오류를 발생하고, 엑셀 내보내기 기능을 동작하지 않습니다.

아래와 같은 오류가 발생한다면 레포트 화면의 컨트롤의 XLColumn 속성을 검토하시기 바랍니다.

(Duplicate cell reference detected - please check 'XLColumn' properties)



관련링크