잘 되는 소스 같은데요..
혹시 질문이 프로시져를 생성할수 없다는 건가요?
그냥 선언해서 쓰면 되는데..
델이랑파이랑 wrote:
> stringgrid 에서 excel로 변환시
> 아래 프로시저에서 이부분은 어떻게 생성이 된건지..=> procedureStringGridToExcel_GRD(var vSGGrid: TStringGrid; Title: string);
> 참고로 전 일단 조회하고자 하는 데이타를 스트링그리드에 미리 보여주고 bitbtn버튼을 누르면 excel로 데이타가 저장내지는 변환될 수 있게끔 하려 하는데 bitbtn버튼을 이용하면 아래 프로시저에서의=> StringGridToExcel_GRD(var vSGGrid: TStringGrid; Title: string);이 부분이 생성이 안되거든요....제가 아직 델초보라 도움바래요...!
>
> 아래는 이 게시판에 올려져 있는 stringgrid에서 excel로 변환시 소스코드입니다
> -------------- 아 래 --------------------------
> 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;