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); 을 실행하여 파일 열기

    • 민환민준빠
      2015.07.02 18:44
      자체 해결 Panel 이 문제네여 .. -_-;;;
    • 바람순이
      2015.06.10 23:38
      Mozilla Firefox(35.0.1)에서 글 및 댓글을 달았습니다.
    • JangHeeJin
    • 2015.06.03 03:48
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2015.06.03 12:01
      http://codeverge.com/embarcadero.delphi.general/better-code-for-writing-reading-th/1067762 를 참고해...
    • JangHeeJin
      2015.06.04 01:21
      답변감사합니다 저기 나오는 함수들중 아무거나 사용해도 무관한건가요? 비슷한 함수 들이 많은거같...
    • 이정욱
      2015.06.04 03:45
      시도해보시는것이 기술을 가장 빨리 습득하는 방법입니다.
    • JangHeeJin
      2015.06.05 02:50
      485방식으로 읽으니 이런식으로 데이터가 올라오는데 왜 그런건가요?
    • 이정욱
      2015.06.06 01:16
      소스를 봐야 알 수 있을 듯 합니다. 참고로 시리얼 통신에서는 맞춰줘야할 것들이 있습니다. 컴포넌트로 ...
    • 바람순이
      2015.06.10 23:52
      리더기에서 순수하게 RF-Card 데이터만 넘어오는것이 아니고 Header도 같이 넘어옵니다. 그리고 데이터는 ...
    • 바람순이
      2015.06.10 23:59
      procedure Tform1.VaCommRxChar(Sender: TObject; Count: Integer);var rChr: Char;    Cnt: integer;    s...
    • 이정욱
      2015.05.29 10:20
      Delphi 2010 이 최신 업데이트까지 다 입혀진 상태여야 합니다. 한번 확인해 보세요~
    • 이정욱
      2015.05.26 18:08
      LinePen.Width 속성을 이용해 보세요~
    • 난이화
      2015.05.27 15:06
      답변 감사 합니다. 그러나 Chart1.Series[30].LinePan.width 나 Chart1.SeriesList[1].LinePan.Width ...
    • 이정욱
      2015.05.27 21:38
      (Chart1[0] as TLineSeries).LinePen.Width := 4;  이런식으로 한번 사용해 보세요~
    • 난이화
      2016.10.20 02:20
      답변이 아주 늦어 죄송합니다.  감사 합니다.
    • 이정욱
      2015.05.23 09:16
      http://www.devtools.co.kr/m_mall_detail.php?ps_goid=125&ps_goid=125 을 이용하시면 되실 듯 ...
    • ULP
    • 2015.05.05 22:49
    • 2 COMMENTS
    • /
    • 0 LIKES
    • ULP
      2015.05.05 23:07
      var  F : TFileStream;  buf : Array of Char;begin  F := TFileStream.Create('파일 명',fmOpenRead);  tr...
    • 이정욱
      2015.05.06 08:52
      아.. 몰아서 넣으셨다는 뜻이 여러개의 동적배열의 크기를 미리 메모리를 확보해 놓으셔서 그러셨던것 같습...
    • 김미경
    • 2015.05.05 00:04
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2015.05.05 10:19
      TAdvStringGrid라면 TMS사의 컴포넌트인데, 꽤 전통있고 유명한 컴포넌트 죠. 특히 바로 이 그리드 때문에...
    • 이정욱
      2015.04.22 09:05
      OnResize 이벤트에서 크기에 맞게 다시 그려주세요..
    • 이정욱
      2015.04.22 09:35
      Option에서 라이브러리의 Search Path 에 해당 경로를 추가해보십시오.
    • 횬이
    • 2015.03.27 02:38
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2015.03.27 09:40
      일단 DataSource 라는 개념을 이해 하시면 됩니다. TTable 이나 TQuery는 Dataset 이라는 것을 알아두시...
    • 횬이
      2015.03.27 17:42
      안녕하세요~ 설명해주셔서 감사합니다... 근데 DataSource Dataset에 TQuery로 설정을하게되면 "datasourc...
    • 이정욱
      2015.03.25 06:00
      http://blog.dummzeuch.de/2013/11/10/delphi-20052006-on-windows-8-1/  위 사이트를 참고 하시면...
    • 동키호테
      2015.03.25 18:10
      답변 감사합니다. 저도 그 링크는 보고 따라서 해봤는데, 안 되더라구요. 그래서, embarcadero 에 문의를...
    • jin
    • 2015.03.17 18:54
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2015.03.19 08:44
      값을 할 당 하시는 부분이 어느 부분이신지요...? 그냥 따옴표로 묶어서 하시는것인지, 아니면 변수를 넣...
    • jin
      2015.03.19 18:06
      소스는 아래와 같습니다. 스레드를 사용하지 않으면 잘되는데 스레드를 사용하면 변수 값이 변경됩니다.pro...
    • 이정욱
      2015.03.20 03:15
      음... 이상하네요. 저는 델파이 2007을 사용하는데 변수값이 변경되지 않고 잘 넘어 옵니다... 언어적으로...
    • 쿠로로
    • 2015.03.14 03:09
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2015.03.19 08:45
      그냥 Uses 절에 넣으시면 됩니다... 물론 해당 PAS파일이 버전에 맞게 잘 작성되어있다면 말이죠...
    • 쿠로로
      2015.03.23 05:07
      .pass파일의 경로는 어떻게 해야 하나요? uses절에 넣는다고 모든 경로를 검색할꺼 같지는 않습니다...
    • 이정욱
      2015.03.24 04:50
      프로젝트와 같은 경로에 있던지, 아니면 그 유닛이 있는 경로를 Option 에서 Library Search Path 에 추가...
    • 이정욱
      2015.03.04 07:11
      한글 데이터들을 유니코드로 변환해 놓으시던지, 아니면 조회 전에 한글을 안시코드로 변환 후 쿼리를 해야...
    • phono
      2015.03.03 08:09
      gdb파일이 쉽게 깨지는 파일이 아닙니다. 제 추측으론.. db를 핸들링 하실때..  db쪽에 커밋이 바로 작동...
    • 카카오톡
      2015.03.13 18:56
      감사합니다. 결국 엑셀에 있는데이터 다시 올리는  프로그램 만들어서 올렸네요 ㅎㅎ 감사해요
    • 이정욱
      2015.01.30 06:20
      Main 폼에 사용하신 ApplicationEvent 컴포넌트 라는것에서 다 먼저 가져가는것 같네요. 모달폼을 띄우기 ...
    • 윤박사
    • 2014.04.01 03:31
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 백록화
      2014.03.25 03:34
      1. 코딩중 단축키 Ctrl+Space , Ctrl+Shift+Space 로 코드컴플레이션, 툴팁 심볼 인싸이트 같은 코드 인싸...
    • gandus
      2014.03.25 06:52
      호출하는 함수에서 para3의  para2 구조체에 반환값을 줘서요
    • gandus
      2014.03.25 06:56
      C로 제작된 dll을 쓰는데, 소스로 확인해보니 c로 쓰레기값이 넘어가서...
    • 이정욱
      2014.03.25 08:14
      dll 을 호출하기 위해 선언한 부분을 알려주셔야 할 듯 합니다. cdecl 인지 stdcall 인지...
    • gandus
      2014.03.25 18:14
      Function 함수4(m_Align_Data : T_Align_Data ; var m_Align_Result : T_Align_Result) : Integer  cdecl; ...
    • 이정욱
      2014.03.26 02:37
      그 DLL의 헤더 부분 및 구조체도 알려주셔야 합니다~ 그리고 Record 를 Packed Record 로 변경해서 해보세요~
    • gandus
      2014.03.28 19:30
      LDC_ReadCalUVWPosition(LD_CAL_UVW *pStageCalUVW)LDC_WriteCalXY(LD_CAL_XY ViewL, LD_CAL_XY ViewR)LDC_...
    • • • •