원하시는 것과 다른 답일 수 있지만...
엑셀 엑스포트를 위해 그리드를 고른다는 건 주객이 전도된 일이죠. 그리드 컴포넌트들의 기능 차이가 엄청난데 그중에 엑셀 엑스포트 기능은 아주아주 사소한 부분입니다. 게다가 웬만한 상용 그리드들은 대부분 엑셀 엑스포트를 지원하고, 설사 없다고 해도 직접 구현하거나 다른 코드, 컴포넌트를 이용하면 간단히 구현할 수 있습니다.
그래도 엑셀을 위해 그리드를 고르시겠다면, 제가 써본 그리드들 중에서 엑셀 엑스포트 기능이 가장 깔끔하고 빨랐던 넘은 DevExpress 퀀텀그리드였습니다. 엑셀 엑스포트 기능의 세 가지 주안점은 1. 얼마나 깔끔하게 엑스포트되느냐, 그리고 2. 엑스포트 속도, 3. 엑셀 버전 호환성인데요. 모든 부분에서 거의 완벽하고 그리드 자체 기능으로서도 최고죠. 속도 면에서는, 엑셀 엑스포트에 오토메이션을 쓰는 경우엔 다량의 데이터 엑스포트시에 어마어마한 버벅임이 벌어지기 때문에 대량의 데이터를 다룬다면 네이티브 엑셀 파일로 엑스포트하는 기능이 필요할 수 있습니다.
하지만 저라면, 엑셀 엑스포트를 위해 그리드를 고르기보단 그리드를 적당한 걸로 고르고 엑셀 엑스포트 기능이 없다면 적당히 가져다쓰겠습니다. 그건 사소한 거니까요. 여기 컴포넌트 자료실에도 mxExport와 mxNativeExcel이라는 컴포넌트들이 있는데 이것들도 네이티브로 익스포트가 되고 무료입니다. 다만 사소한 버그가 좀 있고, 지금은 홈페이지가 없어서 최신 버전은 따로 구해야 합니다. (약간 구버전은 포럼 컴포넌트 자료실에 있죠.)
엑셀 엑스포트를 직접 구현할 수도 있습니다. 델파이 커뮤니티들에 돌아다니는 엑셀 네이티브 엑스포트 루틴이 있는데, 원래 코드기어(엠바카데로) DN 사이트에서 어떤 개발자가 공개한 것입니다. 데이터만 엑스포트가 가능하고 서식은 내보낼 수 없는데, 이 코드를 극단적으로 업그레이드한 것이 위에서 언급한 mxNativeExcel입니다.
직접 구현하는 방법에도 다른 방법도 있습니다. 오피스 2003 버전부터였던가 XML 포맷의 엑셀 파일을 지원하는데요. 검색해보면 이 XML 포맷이 자세히 나옵니다. 간단하구요. 그래서 대충~ 텍스트파일로 XML 파일을 써버리면 되죠. 파일로 저장할 때 파일 확장자만 XML로 저장하면 됩니다. 현재 2003 이하의 오피스 버전은 사무 환경에서 거의 찾아보기 어렵겠죠?
|