Показать сообщение отдельно
  #1  
Старый 14.10.2009, 15:13
Dis Dis вне форума
Прохожий
 
Регистрация: 14.09.2009
Сообщения: 6
Репутация: 10
По умолчанию Экспорт в exel

Народ помогите найти ошибку. В общем вот код:
Код 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 видимым
Оно впринципе работает, но перебрасывает не все данные из таблицы почему-то, причем из разных таблиц перекидывается разное количество записей. Спасибо
Ответить с цитированием