Q&A

  • csv 를 이용한 엑셀 출력시 텍스트 형식 방법 좀 알려주세요?
보니깐 텍스트 형식으로 하는 하려면 앞에  작은따옴표를 사용하라고 해서 해봤는데
작은 따옴표도 같이 나와서요 질문드립니다. 그리드값을 엑셀로 저장하려고

Cfstr := Cfstr + '"'+ String(Sender.Value) + ','; 이것처럼 앞에 작은 따옴표를 해봤든데
주민번호 같은경우 '770131123456 이런식으로 앞에 작은 따옴표가 붙습니다.
그래서 작은 따옴표를 앞뒤 다 해보고 해봐도 작은 따옴표가 나오 더군요.
이런식으로 해서 엑셀을 불러와서 직접 '를 입력하니깐 '는 안보이고 숫자만 텍스트 형식으로 되는데
엑셀 옵션을 바꾸어야 하는건지요
주민번호 같은경우 7.0131_e13 이런식으로 나와서 그러거든요 방법이 없을까요?

Cfstr  : string;
...

For I := pRow To pRow2 Do
      Begin
        Cfstr := '';

        For J := pCol To pCol2 Do
        Begin
          Sender.Row := I; Sender.Col := J;
          Case Sender.CellType Of
            CellTypeCheckBox, CellTypePic  :
              If J = pCol2 Then
                Cfstr := Cfstr + '"' + String(Sender.Value)
              Else
                Cfstr := Cfstr + '"'+ String(Sender.Value) + ',';
          Else
            If J = pCol2 Then
              Cfstr := Cfstr + String(Sender.Text)
            Else
              Cfstr := Cfstr + string(Sender.Text) + ',';
          End;

        End;

        Writeln(CFile, Cfstr);
        FExelBox.GE_Proc.Progress := nCnt;
        Inc(nCnt);
      End;
      FExelBox.Free;
      CloseFile(CFile);
      ExcelPath := ExcelPath + '\Excel.Exe ' + FName;
      WinExec(pChar(ExcelPath), SW_SHOW);
...
2  COMMENTS
  • Profile
    Marek 2005.12.06 05:00
    Marek입니다.

    아래와 같이 해보세요.

    var
       v: Variant;
       i, j, x, y, intStart: Integer;
    begin
       v := CreateOLEObject('Excel.Application');
       v.workBooks.Add;

       v.Range['A1'].Value := 356;
       v.Range['B1'].Value := 900;
       v.Range['C1'].Select;                             //--> 주민등록번호 셀의
       v.Selection.NumberFormatLocal := '0';  //--> 숫자 포멧을 '0'으로 하시면 지수로 안나옴
       v.Range['C1'].Value := '6002011052616';

       v.Visible := True;

    end;

    즐코하십시요..

    Marek wrote.



  • Profile
    coolkkm 2005.12.07 22:50