엑셀에서의 표현방법 차이같은데 엑셀에서 셀서식을 "일반"에서 "숫자"로 변경하면 되지않을까요?
김준영 님이 쓰신 글 :
: Delphi 에서 바코드 숫자를 DB에서 조회해서 나이스그리드로 불러옵니다..
:
: 거기서 엑셀로 내려받기할때 나이스그리드의 Cells[1, 1] 의 값을 Char 형식의 변수에 넣고
:
: 가져가겠금 되있는데 엑셀파일에서 보면 880917E+12 이런식으로 긴숫자 표현이 되더라구요..
:
: 이걸 정상적인 13자리 숫자로 '8809174412341' 처럼 보여지겠금 하는 방법이 있나요?
:
: 오늘 하루종일 이것만 쳐다보고 있네요..ㅠ
:
:
:
: 아래는 어디선가 퍼온걸로 쓰고있는 프로시져 입니다..
:
: procedure TUNI350F.sbtn_f9Click(Sender: TObject);
: var
: BackupName: string; // 백업 이름
: FH,j2,k : integer; // 파일 핸들러와 임시 변수
: Buffer1 : array[0..1024] of char; // 자료를 읽어둘 변수
: linef : char; // 라인 넘기기
: tabk : char; // 탭 넘기기
: Buffers : AnsiString; // 자료를 읽어둘 변수
: begin
: MGMT_NO := FormatDateTime('YYYYMMDDHHMMSS', Now);
: MGMT_NO := MGMT_NO + OWN + Copy(FNM,4,3);
: SaveDialog1.Filter := 'Excel files (*.xls)|*.xls';
: SaveDialog1.DefaultExt := '.xls';
: SaveDialog1.FileName := 'UNIQ_바코드사용내역_' + MGMT_NO;
:
: if SaveDialog1.Execute = False then
: Exit;
:
: if FileExists(SaveDialog1.FileName) then
: begin
: if MessageDlg(SaveDialog1.FileName + ' 이(가) 이미 있습니다' + #13 +
: '바꾸시겠습니까?', mtInformation, [mbYes,mbNo], 0) = mrYes then
: begin
: BackupName := ChangeFileExt(SaveDialog1.FileName, '.BAK');
: RenameFile(SaveDialog1.FileName, BackupName);
: end;
: end;
: FH := FileCreate(SaveDialog1.FileName);
: linef := Chr(10);
: tabk := #9;
: // TiTle
: Buffer1 := '';
: Buffers := '';
: // 첫행에 내용 삽입
: for k := 0 to 10 do
: begin
: Buffer1 := '';
: Buffers := TRIM(ng_bill.Columns[k].Title);
: Move(Buffers[1],Buffer1[0],Length(Buffers));
: FileWrite(FH,Buffer1,Length(Buffers));
: FileWrite(FH,tabk,1);
: end;
: FileWrite(FH,linef,1); // <- 엑셀에서 첫행 삽입
:
: // query to file
: for j2 := 0 to ng_bill.RowCount -1 do
: begin
: for k := 0 to 10 do
: begin
: Buffer1 := '';
: Buffers := TRIM(ng_bill.Cells[k,j2]);
: if Buffers = '' then
: Buffers := ' ';
: Move(Buffers[1],Buffer1[0],Length(Buffers));
: FileWrite(FH,Buffer1,Length(Buffers)); <-- 이 부분에서 값을 넘기는거 같은데..
: FileWrite(FH,tabk,1); 메모리관련 함수는 잘 모르겠어요..ㅠ
: end;
: FileWrite(FH,linef,1);
: end;
: FileClose(FH);
: showmessage('저장되었습니다.');
: end;
:
|