Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > C++ Builder и Excel


Автор: Chernikov1975 10.8.2009, 15:35
Ребята скажите как при записи данных в файл excel задать границы ячейки средствами c++ builder

Автор: smoke_man 11.8.2009, 04:10
Попробуй так:
Код

     #include "comobj.hpp"
................................................
     Variant Excel;
     //Создаем
     Excel=CreateOleObject("Excel.Application");
     //Выбираем книгу и лист
     Excel.OlePropertyGet("Workbooks").OleProcedure("Add");
     Excel.OlePropertyGet("Sheets","Лист1").OleProcedure("Select");
     //Делаем видимым
     Excel.OlePropertySet("Visible",true);
     //Выбираем ячейку(можно использовать как слияние ячеек)
     Excel.OlePropertyGet("Range","A1").OleProcedure("Merge");
     //Формат числа
     Excel.OlePropertyGet("range","A1").OlePropertySet("NumberFormat","@");
     //Устанавливаем ширину ячейки
     Excel.OlePropertyGet("range","A1").OlePropertySet("ColumnWidth",50);
     //Устанавливаем значение в ячейку
     Excel.OlePropertyGet("range","A1").OlePropertySet("Value","Example");

Автор: Chernikov1975 29.9.2009, 08:55
Ура получилось!

Код

#include "comobj.hpp"


void __fastcall TForm1::Button1Click(TObject *Sender)
{
int x,y;
  Variant Excel;
     //Создаем
     Excel=CreateOleObject("Excel.Application");
     //Выбираем книгу и лист
     Excel.OlePropertyGet("Workbooks").OleProcedure("Add");
     Excel.OlePropertyGet("Sheets","Лист1").OleProcedure("Select");
     //Делаем невидимым
     Excel.OlePropertySet("Visible", false);
     //Формат числа
     //Excel.OlePropertyGet("range","A1").OlePropertySet("NumberFormat","@");
     //Устанавливаем ширину ячейки
     //Excel.OlePropertyGet("range","A1").OlePropertySet("ColumnWidth",50);
     //Устанавливаем значение в ячейку
     //Excel.OlePropertyGet("range","A1").OlePropertySet("Value","Example");
     for(x=1;x<=10;x++){
     for(y=1;y<=10;y++){
// запись значения     
Excel.OlePropertyGet("Cells",x,y).OlePropertySet("Value",x*y);
   // стиль линии  Excel.OlePropertyGet("Cells",x,y).OlePropertyGet("Borders",10).OlePropertySet("LineStyle",1);
       //прорисовка границ
Excel.OlePropertyGet("Cells",x,y).OlePropertyGet("Borders",10).OlePropertySet("Weight",2);
       Excel.OlePropertyGet("Cells",x,y).OlePropertyGet("Borders",7).OlePropertySet("Weight",2);
       Excel.OlePropertyGet("Cells",x,y).OlePropertyGet("Borders",8).OlePropertySet("Weight",2);
       Excel.OlePropertyGet("Cells",x,y).OlePropertyGet("Borders",9).OlePropertySet("Weight",2);

                }}
//запись в файл      
 Char *Name="d:privet.xls";
          Excel.OlePropertyGet("Workbooks").OlePropertyGet("Item",1).OleProcedure("SaveAs", Name);
              Excel.OleProcedure("Quit");

     }

 всё это даёт в excel таблицу умножения с прорисованными границами ячеек


M
dumb
Для оформления исходных текстов используйте кнопку "Код"

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)