Народ помогите найти ошибку. В общем вот код:
Код HTML:
var
XL, Cell1, Cell2, ArrayData: Variant;
RowCount: integer;
BeginCol, BeginRow,i,ColCount:byte;
begin
// Координаты левого верхнего угла области, куда будем выводить данные
BeginCol := 1;
BeginRow := 3;
RowCount := Table1.RecordCount; //Количество записей в таблице
ColCount := 4; //Количество столбцов
XL := CreateOleObject('Excel.Application');
XL.Application.EnableEvents := false;
XL.WorkBooks.Add; // Добавляем книгу
XL.Rows.Rows[2].Font.Bold:=true;
XL.Rows.Rows[2].Font.Size:=10;
XL.Rows.Rows[2].WrapText := True;
XL.Rows.Rows[2].HorizontalAlignment := 3;
XL.Rows.Rows[2].VerticalAlignment := 2;
XL.Cells[2,1]:= 'Номер';//Формируем шапку таблицы
XL.Cells[2,2]:='Фамилия';
XL.Cells[2,3]:='Дата';
XL.Cells[2,4]:='Курс';
XL.Columns.Columns[1].ColumnWidth:=7;
XL.Columns.Columns[2].ColumnWidth:=29;
XL.Columns.Columns[3].ColumnWidth:=20;
XL.Columns.Columns[4].ColumnWidth:=20;
ArrayData := VarArrayCreate([1, RowCount, 1, ColCount], varVariant); // задаем вариантный массив, который будем заполнять данными
Table1.First;//заполняем массив значениями из Table1
for i := 1 to RowCount do
begin
ArrayData[i,1] := Table1['id'];
ArrayData[i,2] := Table1['fam'];
ArrayData[i,3] := Table1['date'];
ArrayData[i,4] := Table1['kurs'];
Table1.Next;
end;
Cell1 := XL.Cells[BeginRow-1, BeginCol]; // левая верхняя ячейка области в которую будем выводить данные
Cell2 := XL.Cells[BeginRow+RowCount-1, BeginCol + ColCount-1];//правая нижняя ячейка области куда будем выводить данные
XL.Range[XL.Cells[BeginRow, BeginCol], Cell2].Value := ArrayData; //заполняем книгу нашими данными
XL.Range[Cell1, Cell2].Borders.LineStyle := 1;
XL.Visible := true;//делаем Excel видимым
Оно впринципе работает, но перебрасывает не все данные из таблицы почему-то, причем из разных таблиц перекидывается разное количество записей. Спасибо