Q&A

  • 엑셀자료를 스트링그리드로

   델파이 왕초보자입니다
  스트링그리드와 버튼 , ExcelApplication,  ExcelWorksheet, ExcelWorkbook을
  폼에 추가 시키고 아래 코드로 컴파일 하면
[Error] Unit1.pas(28): Declaration of 'ExcelToGrid' differs from previous declaration
이런 에러가 뜹니다...무슨 에러인가요..
--------------------------------------------------------------------------------------------------------------
procedure TForm1.ExcelToGrid(sFile : String; sGrid : TStringGrid;sCol:Integer);


procedure TForm1.ExcelToGrid(sFile : String; sGrid : TStringGrid;sCol:Integer);
var
    ExcelApp, ExcelBook, ExcelSheet : Variant;
    i, j                            : Integer; // 순환변수
Begin
    try
        ExcelApp := CreateOLEObject('Excel.Application');
    except
        ShowMessage('Excel이 설치되어 있지 않습니다!!!');
        Exit;
    end;
    Try
        ExcelApp.Visible         := False;
        ExcelApp.DisplayAlerts   := False;
        ExcelBook   :=  ExcelApp.WorkBooks.Open(sFile);
        ExcelBook   :=  ExcelApp.WorkBooks.item[1];
        ExcelSheet  :=  ExcelBook.Worksheets.Item[1];

        sGrid.RowCount  :=  ExcelSheet.UsedRange.Rows.count;
        sGrid.ColCount  :=  sCol;

        For  i  :=  1   to  ExcelSheet.UsedRange.Rows.count   do
             For J := 1 to  sCol  do
                  sGrid.Cells[j-1,i-1] := VarToStr(ExcelSheet.Cells[i,j]);  

        ExcelApp.WorkBooks.Close;
        ExcelApp.quit;
        ExcelApp := unassigned;
    Except
      on err : exception do  begin
          ExcelApp.WorkBooks.Close;
          ExcelApp.quit;
          ExcelApp := unassigned;
          ShowMessage('작업이 취소되었습니다. Data확인요망-'+err.message);
      end;
    end;
    sGrid.FixedRows  := 1;
    ShowMessage(IntToStr(sGrid.RowCount) + '건의 자료를 변환하였습니다');
End;


procedure TForm1.Button1Click(Sender: TObject);
begin
    ExcelToGrid(Edit1.Text,StringGrid1,20);
end;

2  COMMENTS
  • Profile
    주재환 2005.01.21 22:04
    procedure ExcelToGrid(sFile : String; sGrid : TStringGrid;sCol:Integer);

  • Profile
    임동호 2005.01.25 04:17
       [Error] Unit1.pas(56): Undeclared identifier: 'CreateOLEObject'


        자꾸 이런 에러가 뜨는데 이건 무엇 때문에 나는지 모르겠네요....



    • 박상윤
      2005.01.24 22:23
      설치프로그램 필요 없습니다. 윈도우에서 기본적으로 제공하고 있습니다. 프로그램을 하시려면..vfw...
    • 델초보
    • 2005.01.23 08:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 마이크로김
      2005.01.23 10:33
      영수증프린터 ole 를 사용하시면 제어가 쉬운데요 영수증프린터 업체 문의하시면 쉽게 알수 있을...
    • 이정택
    • 2005.01.22 23:56
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2005.01.24 22:31
      Run Time 시 에도 원하시는 스타일로 바꾸실 수 있습니다. Disign Time 에 바꾸실때처럼 코드로 처리하...
    • 최미경
    • 2005.01.21 23:03
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이재현
      2006.02.26 22:54
      안녕하세요. 파도랑입니다. 우선 답변이 많이 늦었습니다. 그동안 해결을 하셨는지 궁금하네요. 저와...
    • 주재환
    • 2005.01.21 21:03
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 백화현
    • 2005.01.21 20:35
    • 2 COMMENTS
    • /
    • 0 LIKES
    • Galaxy
      2005.01.25 03:27
      aabkorea 입니다. 얼굴 본지 벌써 4년이 다 되어 가네요 잘 지내 시죠 요즘음 aabkorea는 회사 규모을 ...
    • 오병주
      2005.01.21 23:15
      이렇게 하면 되네요... ^^ procedure TForm1.Button1Click(Sender: TObject); var   szName...
    • 임동호
    • 2005.01.21 19:51
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 주재환
      2005.01.21 22:04
      procedure ExcelToGrid(sFile : String; sGrid : TStringGrid;sCol:Integer);
    • 임동호
      2005.01.25 04:17
         [Error] Unit1.pas(56): Undeclared identifier: 'CreateOLEObject'    ...
    • 채팅
      2005.01.21 20:53
      일단 mdb를 제외하고는 한글메뉴얼은 없다고 보는 것이 맞습니다. 영어에 익숙해 지는 길밖에 없숩니다. ...
    • 신지수
    • 2005.01.21 02:15
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박종록
      2006.01.06 19:58
      ----    이부분을 바꾸세요   상수를 ----> 변수로 바꾸십시오 ...
    • 이충효
    • 2005.01.20 22:31
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2005.01.21 02:07
      흠... 스패머외에는 웹게시판에 기록되는 IP를 속일 이유가 없을거 같은데... 이게 왜 필요하신지요??
    • 이충효
      2005.01.21 02:43
      후~~(한숨) 스패머 아니고요,, 해커도 아닙니다. 지금 만들고있는 프로그램때문에 그래요. idhttp ...
    • 최용일
      2005.01.21 04:44
      원하시는 바가 뭔지 정확히 파악이 안되서... ㅠㅠ UDP같은 단방향 통신에선 IP를 속이는것이 가능하지...
    • 한비
    • 2005.01.20 22:16
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 김현학
    • 2005.01.20 19:38
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 무심코
      2005.01.20 22:33
      질문번호 102123 번을 참조하시면 해당 디렉토리의 파일을 가져올수 있습니다. 가져온 파일 리스트를 갖...
    • 김현학
      2005.01.20 23:02
      답변에 감사드립니다. 님께서 올려주신 소스는 한폴더 있는 파일의 내용을 정확히 가져 옵니다. 그런데, ...
    • 모영철
      2005.01.21 18:35
      여기 질답게시판에 있는것을 약간 수정... (했었나?) 암튼 그래서 쓰던겁니다. 잘되더군요... 혹시나...
    • 김현학
      2005.01.21 22:48
      제 글에 답변을 주신 무심코 님과 모영철 님께 감사의 말씀을 올립니다. 모영철님께서 주신 소스를 ...
    • 김종균
    • 2005.01.20 18:09
    • 3 COMMENTS
    • /
    • 0 LIKES
    • ㉳㉥ㅗ㉣ㅐ㉧ㅛ
      2005.01.20 18:48
      aaa이 선택되었다고 하면 ddd를 선택하려면 Treeview1.Items[0].GetNextVisible; ggg를 선택하려...
    • 김종균
      2005.01.20 23:35
      AAA -BBB -CCC DDD -GGG EEE -FFF 이렇게 되었을때 EEE는 어떻게 해야하는지요... 한번에 갈 수는 ...
    • 난 백만당적이다.
      2005.01.21 19:21
      EEE를 선택하려면 GetNextVisible를 한번 더 하면 되겠죠.... TreeView에서 Item은 모두 펼쳐졌을때 ...
    • 남경만
    • 2005.01.20 08:45
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 권태훈
      2005.01.21 20:45
      *=이 몬가 한참 생각했는데 아마도 아우터 조인 명령인가 봅니다. +=으로 해보십시요.
    • 남경만
      2005.01.24 23:14
      mssql에서 *=로 하지 안나요? 중요한 것은 *=, +=이 아니고.. LEFT OUTER JOIN으로 해도 안된다는 것이죠...
    • Crazy™
      2005.01.27 20:24
      mssql 에서 *= 와 left outer join 는 같은겁니다.  줄여서 *= 이렇게 쓰죠. b를 서브쿼리로 묶...
    • 박동호
    • 2005.01.20 01:18
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 공성환
      2005.01.20 01:47
      인라인뷰는 지원되는 DB가 있고 없는 DB가 있습니다. 지가 ms sql은 사용않해봤는데... ms에서는 지원이 ...
    • 바디
    • 2005.01.20 00:50
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이승민
      2005.02.02 01:20
      ActiveX 는 웹브라우져에 붙여 넣는 응용프로그램이라고 생각하시면 됩니다. 실제 응용프로그램에서 폼...