게시판을 검색하였지만 Excel의 행과 열의 갯수를 얻는방법이 없습니다.
알고 게시는 고수님 제발 부탁드립니다.
var
i : integer;
j : integer;
begin
i := //엑셀의 행의갯수 얻는방법;
j := //엑셀의 열의갯수 얻는방법;;
XlApp := CreateOleObject('Excel.Application');
XlApp.WorkBooks.Open('c:workdata.xls');
for i := 1 to i do
begin
for j := 1 to j do
stringgrid1.Cells[i, j] := XlApp.cells[j, i] ;
end ;
XlApp.quit ;
end;
ADO를 사용하면 엑셀 파일을 테이블 열듯이 불러 들일 수 있거든요..
다음 코딩 참고해 보세요..
procedure TForm1.Button1Click(Sender: TObject);
var
i, j: integer;
begin
if OpenDialog1.Execute then
with ADOQuery1 do
begin
close;
ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' +
OpenDialog1.FileName + ';Extended Properties=Excel 8.0;Persist Security Info=False';
SQL.Clear;
SQL.Text := 'SELECT * FROM [Sheet1$]';
open;
for i := 1 to Fields.Count do
begin
for j := 1 to RecordCount do
stringgrid1.Cells[i, j] := XlApp.cells[j, i] ;
end ;
end;
end;
이런식으로 처리하면 될꺼 같네요..
직접 코딩해본게 아니라 오류날 수도 있겠네요..
임혁재 wrote:
> 게시판을 검색하였지만 Excel의 행과 열의 갯수를 얻는방법이 없습니다.
> 알고 게시는 고수님 제발 부탁드립니다.
>
> var
> i : integer;
> j : integer;
> begin
> i := //엑셀의 행의갯수 얻는방법;
> j := //엑셀의 열의갯수 얻는방법;;
> XlApp := CreateOleObject('Excel.Application');
> XlApp.WorkBooks.Open('c:workdata.xls');
> for i := 1 to i do
> begin
> for j := 1 to j do
> stringgrid1.Cells[i, j] := XlApp.cells[j, i] ;
> end ;
> XlApp.quit ;
> end;
>