Конференция "Corba" » Как вставить данные из датасета в объединенные ячейки excel [Delphi]
 
  • Alesha (07.02.12 11:21) [0]
    Проблема следующая есть датасет содержащий к примеру 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.
  • YurikGL © (18.02.12 20:12) [1]
    Если есть объединение ячеек, то ты, видимо, дважды вставляешь в одну и ту же ячейку.
    Нужно просто вставлять в правильные ячейки.
  • tesseract © (27.02.12 21:54) [2]
    Это давняя фича excel - через ole только делать Select() и писать туда.
 
Конференция "Corba" » Как вставить данные из датасета в объединенные ячейки excel [Delphi]
Есть новые Нет новых   [118663   +30][b:0][p:0]