보니깐 텍스트 형식으로 하는 하려면 앞에 작은따옴표를 사용하라고 해서 해봤는데
작은 따옴표도 같이 나와서요 질문드립니다. 그리드값을 엑셀로 저장하려고
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);
...
아래와 같이 해보세요.
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.