На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> Выгрузка в Excel из StringGrid , Borland C++ Builder v.6.0.
    Ребята, снова к вам! :oops:
    очень нужна помощь! :'(
    Пытаюсь сделать выгрузку в Еxcel, но так чтобы была возможность открывать уже существующий документ, вот что нарыла сейчас, здесь все работает, но создается новый файл, как добавить еще и открытие существующего??

    Очень-очень надо! Помогите, пожалуйста! :'(
    ExpandedWrap disabled
      Variant app, books, book, sheet, Rang, vCell;
        app = CreateOleObject("Excel.Application");
        app.OlePropertySet("Visible",true);
        books = app.OlePropertyGet("Workbooks");
        books.OleProcedure("Add");
        book = books.OlePropertyGet("Item",1);
        sheet = book.OlePropertyGet("WorkSheets",StrToInt(ComboBox2->Text));
      //Noi?ie?iaaee e caienaee aa?eaioiue iannea ec StringGrid
      String S;
        const int bounds[4] = {0, Form1->StringGrid2->RowCount, 0, Form1->StringGrid2->ColCount};
        Variant vData = VarArrayCreate(bounds, 3, varVariant);
        for(int i = 0; i <Form1-> StringGrid2->RowCount; i++)
          {
            if((Form1->StringGrid2->Cells[0][i]).IsEmpty()) S = "";
            else S = Form1->StringGrid2->Cells[0][i];
            vData.PutElement(S, 0, i);
          }
       
        for(int i = 0; i <Form1-> StringGrid2->RowCount; i++)
          {
            if((Form1->StringGrid2->Cells[3][i]).IsEmpty()) S = "";
            else S = Form1->StringGrid2->Cells[3][i];
            vData.PutElement(S, 1, i);
                if ( CheckBox1->Checked==true ) {
               }
          }
               vData.PutElement(Edit1->Text, StrToInt(ComboBox3->Text), Form1->StringGrid2->RowCount);
        Rang = sheet.OlePropertyGet("Range",sheet.OlePropertyGet("Cells",StrToInt(ComboBox3->Text),StrToInt(ComboBox4->Text)),
               sheet.OlePropertyGet("Cells",(Form1->StringGrid2->RowCount)+StrToInt(ComboBox3->Text),(Form1->StringGrid2->ColCount)+StrToInt(ComboBox4->Text)));
        Rang.OlePropertySet("WrapText", false);
        Rang.OlePropertySet("Value",vData);
      //Ioi?ieyai oe?eio noieaoia
        for(int i = StrToInt(ComboBox4->Text)-1; i < (Form1-> StringGrid2->ColCount)+StrToInt(ComboBox4->Text)-1; i++)
         {
           Variant Clmn = sheet.OlePropertyGet("Cells", 1, i + 1).OlePropertyGet("EntireColumn");
           Clmn.OleFunction("AutoFit");
         }
      //Ioi?ieyai au?aaieaaiea e o?eoo oaiee
        vCell = sheet.OlePropertyGet("Range",sheet.OlePropertyGet("Cells",1,1),sheet.OlePropertyGet("Cells",1,Form1->StringGrid2->ColCount));
        vCell.OlePropertySet("HorizontalAlignment",-4108);
        vCell.OlePropertyGet("Font").OlePropertySet("Bold",true);
        Bas, Спасибо! все получилось!
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0193 ]   [ 17 queries used ]   [ Generated: 19.04.24, 12:09 GMT ]