Q&A

  • 퀀텀그리드 엑셀 다운로드 문의

델파이 2005 퀀텀그리드 6

퀀텀그리드에서 엑셀로 다운로드 할 경때

컬럼속성을 CurrencyEdit 에 DisplayFormat 을 #,0;-#,0 으로 주었는데요

숫자의 끝에 전부 .00이 붙어서 나옵니다.

 

해결방안을 아시는 고수님들의 도움을 부탁드립니다.

참고로 델파이2005 퀀텀6을 사용중입니다.

5  COMMENTS
  • Profile
    담더기 2012.10.12 09:29

    저같은 경우 Column Properties를 CalcEdit로 주로 하는데요.. Display Format 아무것도 안주고 그냥 프로퍼티 하단에 있는 UseThousandSeperater( 스펠링이 맞나...^^;;;) 체크 해서 사용합니다.

  • Profile
    짱돌 2012.10.12 20:15

    답변 감사합니다.

    알려주신대로 CalcEdit으로 바꾸고 UseThousandSeperator를 True 로 사용했더니

    화면상에서는 CurrencyEdit 과 동일하게 Display 되지만

    엑셀로 전환할 경우 천단위 콤마가 출력되지 않습니다.

    천단위 콤마가 같이 출력되는 방법은 없을까요

  • Profile
    담더기 2012.10.17 20:31

    엑셀로 전환할때 파라메터를 설정할 수있는 것으로 기억 합니다.

     

    예를 들기에는 머하지만 주로 사용하는 방법은

    ExportGridToXLSX(FileName, AGrid, True, True, False);

    중에서 맨 뒤 True부분이 AUseNativeFormat 부분입니다. T/F 에 따라 Export포멧이 달라지더군요..

    아주 깔끔한 상태는 아닌 방법이지만요...엑셀에서는 텍스트로 지정된 숫자 이러한 식으로 나올겁니다.

  • Profile
    짱돌 2012.10.22 19:59

    답변 감사합니다.

    일단 그리드 컬럼 프로퍼티는 동일하게 CurrencyEdit , DisplayFormat 은 ,0;-,0 을 주고

    처음에

    ExportGridToExcel(FileName, AGrid, True, True, False); 

    방식으로 하였더니 숫자의 셀서식이 텍스트 형식으로 엑셀전환 되었습니다.

    두번째로

    ExportGridToExcel(FileName, AGrid, True, True, True); 

    방식으로 하였더니 숫자의 셀서식이 숫자형으로 엑셀전환은 되지만 숫자의 맨 끝에

    .00 이 붙어서 나옵니다.

     

    원하는 것은 그리드의 숫자 컬럼이 숫자형 셀서식으로 엑셀전환이 되는 것이며

    끝에 .00이 붙어나오는 것을 해결하는 것입니다.

  • Profile
    짱돌 2013.09.06 20:26

    퀀텀그리드 구매처에 문의한 결과

    미국에서 CurrencyEdit은 소수점 두자리 표기가 기본이라 원화처럼 소수점 없이 다운로드는 불가능하다고

    합니다.

     

    그래서 편법으로 해결하였습니다.

     

    1. ExportGridToExcel(FileName, AGrid, True, True, True); 을 실행하여 엑셀 다운로드

    2. OLE 방식으로 재편집

        - 눈에 안보이게 해당 파일 Open

                  XL := CreateOLEObject('Excel.Application');
                  XL.DisplayAlerts := False;             //. 경고창 보이기
                  XL.workbooks.Open(FileName+'.xls');    //. 화일 열기

                 ( 참고로 var XL  : Variant; 선언)

        - 원하는 셀(열)의 셀서식을 숫자형으로 Format을 #,##0_- 으로 변경

                 XL.Range['E'E'].Select;

                 XL.Selection.NumberFormatLocal := '#,##0_-';

        - 재저장 후 파일 닫기

                  XL.ActiveWorkBook.SaveAs(FileName+'.xls');

                  If not VarIsEmpty(XL) Then XL.Quit;

    3.ShellExecute(Handle, 'open', PChar(FileName+'.xls'), nil, nil, SW_NORMAL); 을 실행하여 파일 열기