Айдархан Каимов
Айдархан Каимов | Репутация: 100 (Кандидат) 25 февраля 2009 в 20:49
Как в delphi написать функцию нахождения суммы данных записанные в строки таблицы excel?
Теги:
.net, , actionscript, ada, ado.net ...еще >>
Max Не указано
Max Не указано | Репутация: 113 (Кандидат) 25 февраля 2009 в 22:17

USES ... , OLEAuto;...PROCEDURE TForm1.Button1Click(Sender: TObject);var MSExcel:Variant;j,Sum:integer;BEGINStringGrid1.FixedCols:=0;StringGrid1.FixedRows:=StringGrid1.FixedCols;StringGrid1.ColCount:=1;StringGrid1.RowCount:=StringGrid1.ColCount*6;MSExcel:=GetActiveOleObject('Excel.Application');Sum:=0;for j:=1 to 5 do beginStringGrid1.Cells[0,j-1]:=MSExcel.Application.ActiveSheet.Cells[j, 1].Text;Sum:=Sum+strtoint(MSExcel.Application.ActiveSheet.Cells[j, 1].Text);end;StringGrid1.Cells[0,j-1]:=inttostr(Sum);MSExcel.Application.ActiveSheet.Cells[j, 1]:=StringGrid1.Cells[0,j-1];END;... Подсчитывает и выводит сумму пяти чисел по столбцу.PS На форме: TStringGrid и TButton...

Владимир Ставров
Владимир Ставров | Репутация: 120 (Кандидат) 26 февраля 2009 в 12:23

USES  ComObj;
...
{ FullFileName - полное имя файла книги EXCELrow и col соответственно номер строки и столбца первой для подсчета ячейкиrowcount - колличество ячеек}function ExcelRowSUM(FullFileName:string, row, col, rowcount: integer):integer;var MSExcel:Variant;    i:integer;begin  MSExcel:=GetActiveOleObject('Excel.Application');// создание объекта  MSExcel.Workbooks.Open(FullFileName);//открытие файла  result:=0;  for i:=row to (row+rowcount-1) do  begin    result:=result + strtoint(MSExcel.Application.ActiveSheet.Cells[i, col].Text);  endend;