Q&A

  • 그리드내용을 Excel 구동 안하고 파일로 저장할수 있는 방법좀....
Grid 또는 배열에 있는 내용을 Excel 파일 형식으로 저장 할수 있는 방법이
있는지요,

보통보면 Excel을 구동 시키는데 여러개의 파일을 계속해서 자료를 받을 경우
계속해서 Excel을 구동 할수 없잔아요

파일명을 주고 Excel 형식으로 저장 할수 있으면 좋은 아시는분 있으면
부탁합니다.
업무상 꼭 필요 하거든요....
1  COMMENTS
  • Profile
    우연짱 2003.05.25 01:00
    확장자가  .csv 인 파일도 Excel에서 인식을 하는데
    텍스트형식으로 저장해서 확장자만 바꾸면 됩니다.
    행은 줄단위로 열은 ' , ' 로 구분지어서 인식합니다.
    엑셀에서 .csv로 저장한다음 메모장에서 열어보시면 아실겁니다.
    아니면.. 아래처럼 xls파일을 직접 만드세요..

    그럼 ㅅㄱㅇ

    procedure XLS_Save;
      procedure WriteCell(ExStream : TStream; Const Row_, Col_ : Word; Const Value_ : String);
      const
        ExcelLabel : array[0..5] of word = ($204, 0, 0, 0, 0, 0);
      var
        L : Word;
      begin
        L := Length(Value_);
        ExcelLabel[1] := 8 + L;
        ExcelLabel[2] := Row_;
        ExcelLabel[3] := Col_;
        ExcelLabel[5] := L;
        ExStream.WriteBuffer(ExcelLabel, SizeOf(ExcelLabel));
        ExStream.WriteBuffer(Pointer(Value_)^, L);
      end;
    const
      ExcelBegin : array[0..5] of word = ($809, 8, 00, $10, 0, 0);
      ExcelEnd   : array[0..1] of word = ($0A, 00);
    var
      L : Word;
      F_Stream : TFileStream;
    begin
      F_Stream := TFileStream.Create('c:aaa.xls', fmCreate);
      try
        L := 0;
        ExcelBegin[4] := L;
        F_Stream.WriteBuffer(ExcelBegin, SizeOf(ExcelBegin));

        WriteCell(F_Stream, 0, 0, '처음열의 첫행임다.');


        F_Stream.WriteBuffer(ExcelEnd, Sizeof(ExcelEnd));
      finally
        F_Stream.Free;
      end;
    end;