
14.12.2010, 20:08
|
 |
Новичок
|
|
Регистрация: 19.11.2009
Сообщения: 70
Репутация: 10
|
|
Код:
function xls_to_stringgrid(agrid: tstringgrid; axlsfile: string): boolean;
const
xlcelltypelastcell = $0000000b;
var
xlapp, sheet: olevariant;
rangematrix: variant;
x, y, k, r: integer;
begin
result := false;
xlapp := createoleobject('excel.application');
try
xlapp.visible := false;
xlapp.workbooks.open(axlsfile);
sheet := xlapp.workbooks[extractfilename(axlsfile)].worksheets[1];
sheet.cells.specialcells(xlcelltypelastcell, emptyparam).activate;
x := xlapp.activecell.row;
y := xlapp.activecell.column;
agrid.rowcount := x;
agrid.colcount := y;
rangematrix := xlapp.range['a1', xlapp.cells.item[x, y]].value;
k := 2;
repeat
for r := 2 to y do
agrid.cells[(r - 1), (k - 1)] := rangematrix[k, r];
inc(k, 1);
agrid.rowcount := k + 1;
until k > x;
rangematrix := unassigned;
finally
if not varisempty(xlapp) then
begin
xlapp.quit;
xlapp := unassigned;
sheet := unassigned;
result := true;
end;
end;
end;
lmikle: пользуемся тегами, а то будет наказание!
|