반영복 님이 쓰신 글 :
: StringGrid에 있는 data을 Excel File 로 저장하고 싶은데...
: 알고 계시는 분을 알려주세요..
: 저의 실력이 짧아서리....
: 델파이 소스를 구했는데...빌더 어떻게 바꿔야 되는지
: 델파이 소스는 아래와 같음
:
: function fnStringGridToExcel(StringGrid1: TStringGrid) : Boolean;
: var
: XL, XArr: Variant;
: i, j: Integer;
: XLastPosion: String;
: Sp : Integer;
: begin
:
: //데이타 처리변수
: XArr := VarArrayCreate([1, StringGrid1.ColCount], VarVariant);
:
: try
: //엑셀을 실행
: XL := CreateOLEObject('Excel.Application');
: except
: MessageDlg('Excel이 설치되어 있지 않습니다.', MtWarning, [mbok], 0);
: Exit;
: end;
:
: XL.WorkBooks.Add; //새로운 페이지 생성
: // XL.Visible := True;
:
: for i := 0 to StringGrid1.RowCount - 1 do begin
: for j := 0 to StringGrid1.ColCount - 1 do begin
: XArr[j + 1] := StringGrid1.Cells[j, i];
: end;
:
:
: Sp := StringGrid1.ColCount Div 26;
: if Sp <> 0 then
: XLastPosion := CHR(64 + Sp) + CHR(64 + StringGrid1.ColCount Mod 26)
: else
: XLastPosion := CHR(64 + StringGrid1.ColCount);
:
: //엑셀에 값을 넣는다.
: XL.Range['A' + IntToStr(i + 1), XLastPosion + IntToStr(i + 1)].Value :=
: XArr;
:
: end;
: //셀 크기 조정
: XL.Range['A1', XLastPosion + IntToStr(i + 1)].Select;
: XL.Selection.Columns.AutoFit;
: XL.Range['A1', 'A1'].Select;
: XL.Visible := True;
: Result := True;
: end;
:
임펠리테리입니다.
또 같은 질문이 올라왔군요. 자주 올라오는 질문이니, 바로 FAQ에 올리도록 하겠습니다.
4612번 글에 스트링그리드에서 엑셀로 보내는 예제가 있습니다. 약간만 수정하면 될 겁니다.
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_qna&no=4612
그럼 이만...