-
Проблема следующая есть датасет содержащий к примеру 2 строки по 10 значений и шаблон документа созданный в excel c объединенными ячейками. При вставке данных из датасет в ексел часть данных теряется (не отображается на форме), если в ексел убрать разбиение ячеек значения все видны, подскажите как реализовать правильно вставку:
var Form6: TForm6; i,j,index: Integer; Excelapp: Variant; implementation
{$R *.dfm} uses ComObj, ActiveX; procedure TForm6.Button1Click(Sender: TObject); var i,j,index,row: Integer; ExcelApp,sheet: Variant;
begin ExcelApp := CreateOleObject('Excel.Application'); ExcelApp.Visible := true; ExcelApp.WorkBooks.Open('c:\APPL FORM.xls'); index:=13; DBGrid1.DataSource.DataSet.First; Excelapp.Rows[13].WrapText:=true; for i:=1 to DBGrid1.DataSource.DataSet.RecordCount do begin for j:=1 to DBGrid1.FieldCount do ExcelApp.cells[index,j+5]:=DBGrid1.fields[j-1].asstring; inc(index); DBGrid1.DataSource.DataSet.Next; end; end; end.
-
Если есть объединение ячеек, то ты, видимо, дважды вставляешь в одну и ту же ячейку. Нужно просто вставлять в правильные ячейки.
-
Это давняя фича excel - через ole только делать Select() и писать туда.
|