Q&A

  • Stringgrid의 내용을 Excel로 저장하려합니다...어떻게 하는건지...??
안녕하세요..오늘 하루도 거의 다 갔네요...

버튼을 누르면 스트링그리드의 내용을 excel데이타로 변환 하고자 합니다....

구현할 수 있는 방법을 아시는 분은 좀 자세히 부탁좀 드려요..가능하면 소스포함이면 더 좋구요...

2  COMMENTS
  • Profile
    최은석 2000.12.13 16:59
    ........

    메일 잘 받았습니다....

    근데 제가 올린 예제소스에는 ftp 는 필요하지않습니다..

    엑셀이 설치되어있어야 하지만... ftp 는 없어도 됩니다...

    그리고... ftp 에 관한것 찾으시려면.. 자료실이나...q&a, 팁...에서 검색해보세요







    델이랑파이랑 wrote:

    > 안녕하세요..오늘 하루도 거의 다 갔네요...

    > 버튼을 누르면 스트링그리드의 내용을 excel데이타로 변환 하고자 합니다....

    > 구현할 수 있는 방법을 아시는 분은 좀 자세히 부탁좀 드려요..가능하면 소스포함이면 더 좋구요...

  • Profile
    최은석 2000.12.09 02:36
    제가 다운받아서 저장해 놓은 팁중에 원하시는 내용이 있어서 올립니다...





    procedure StringGridToExcel_GRD(var vSGGrid: TStringGrid; Title: string);

    var

    XL, XLBook: Variant;

    i, j, k: Longint;

    si, sj: integer;

    begin

    with vSGGrid do begin

    try

    XL := GetActiveOLEObject('Excel.Application');

    except

    on E: EOleSysError do begin

    try

    XL := CreateOLEObject('Excel.Application'); //엑셀을 실행

    except

    MessageDlg('Excel이 설치되어 있지 않습니다.', MtWarning, [mbok], 0);

    Exit;

    end;

    end;

    end;

    try

    XLBook := XL.WorkBooks.Add; //새로운 페이지 생성

    XLBook.WorkSheets[1].Name := Title;

    XL.Visible := True;

    i := 1; si := 0;

    k := 1; sj := 0;

    for si := 0 to colCount - 1 do begin

    if si = 0 then

    XLBook.WorkSheets[Title].Range['A1'].Value := Cells[si,0]

    else if si = 1 then

    XLBook.WorkSheets[Title].Range['B1'].Value := Cells[si,0]

    else if si = 2 then

    XLBook.WorkSheets[Title].Range['C1'].Value := Cells[si,0]

    else

    XLBook.WorkSheets[Title].Range['D1'].Value := Cells[si,0];

    end;

    for si := 0 to colCount - 1 do begin

    for sj := 1 to RowCount - 1 do begin

    if si = 0 then

    XLBook.WorkSheets[Title].Range['A'+IntToStr(sj+1)].Value := Cells[si,sj]

    else if si = 1 then

    XLBook.WorkSheets[Title].Range['B'+IntToStr(sj+1)].Value := Cells[si,sj]

    else if si = 2 then

    XLBook.WorkSheets[Title].Range['C'+IntToStr(sj+1)].Value := Cells[si,sj]

    else

    XLBook.WorkSheets[Title].Range['D'+IntToStr(sj+1)].Value := Cells[si,sj];

    end;

    end;

    XLBook.WorkSheets[Title].Range['A1', 'A1'].Select;

    XL.Selection.Columns.AutoFit;

    finally

    XLBook := UnAssigned;

    XL := UnAssigned;

    end;

    end;

    end;





    원하시는 결과 얻기를 바랍니다...







    델이랑파이랑 wrote:

    > 안녕하세요..오늘 하루도 거의 다 갔네요...

    > 버튼을 누르면 스트링그리드의 내용을 excel데이타로 변환 하고자 합니다....

    > 구현할 수 있는 방법을 아시는 분은 좀 자세히 부탁좀 드려요..가능하면 소스포함이면 더 좋구요...