Q&A

  • Re: stringgrid에서 excel로....procedure 에서의 변수??
잘 되는 소스 같은데요..

혹시 질문이 프로시져를 생성할수 없다는 건가요?

그냥 선언해서 쓰면 되는데..



델이랑파이랑 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;

0  COMMENTS