请问怎样在ExcelWorkbook1->Worksheets中增加一个SHEET

kmyangyl 2001-05-28 12:32:00
可以让我能用ExcelWorksheet1->ConnectTo(ExcelWorkbook1->Worksheets->get_Item("Sheet4"));
另外我想用Range,有没有办法能指定坐标,
例如:("A1", "B1"),用(1,1)到(1,2)来指定。
...全文
468 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
TR@SOE 2001-05-29
  • 打赏
  • 举报
回复
指定范围大概可以这样做:
RangePtr r=ExcelWorksheet1->Get_Range("a1", "b8");

大数据量的表我还没有做过。我使用SERVER控件是基于这样的考虑:
使用OLE是弱类型的,也就是说你可以任意书写代码,诸如:
V.OleFunction("TransferMoney", "From=Bill Gates", "To=TR@SOE", 1000000);

这段代码看上去很有意思,但是在运行时会出错,但是编译器不能检查出来。
而使用SERVER控件,也即使用类型库是强类型检查的,上述代码如果改用SERVER来写,一定会在编译时出错。

基于这个基础,我个人认为,使用SERVER控件会快一些,因为在运行时不会再去麻烦EXCEL服务器进行类型检查。我没有试过,我个人觉得OLE会慢一点。可能是因为我中C/C++的毒太深了,我不太喜欢运行时(而不是在编译时)进行类型判断,也不喜欢弱类型的调用方式——除非在使用DLL的时候(现在我也希望改用COM来实现了)。

格式的问题我会在今后考虑,但是目前来看,还是会使用PDF的格式,也是出于版权方面的考虑,希望大家能够谅解。
TR@SOE 2001-05-28
  • 打赏
  • 举报
回复
在www.trackon.net/bcblist中有一篇文章谈得很详细了。你可以去看看。
kmyangyl 2001-05-28
  • 打赏
  • 举报
回复
TR@SOE()来看一看
kmyangyl 2001-05-28
  • 打赏
  • 举报
回复
TR@SOE():你的那篇文章我看过,但上面好象没有我说的这两个问题。二是希望你的格式换一换。三是请问你有没有做过数据较多的表,费时上比OLE直接用相比如何?
我问的第一个问题我已知道。 
ExcelWorkbook1->Worksheets->Add(aParam,aParam,1,aParam,aParam);
ExcelWorksheet1->ConnectTo(ExcelWorkbook1->Worksheets->get_Item("Sheet4"));
但第二个还不知。
另外我发现我装了BCB的补丁后,在WIN3。1中的FILELIST,DRIVELIST,DIRLIST几个控件不见了。
TR@SOE 2001-05-28
  • 打赏
  • 举报
回复
BCB,不用吧?PDF的浏览器到处都有啊?
smartboyme 2001-05-28
  • 打赏
  • 举报
回复
Excel_tlb::TCOM_Application m_ExcelBudget;
Excel_tlb::WorksheetPtr m_Worksheet;

String strRange;

if(!m_ExcelBudget)
{
m_ExcelBudget=CoApplication_::Create();
}
m_ExcelBudget->Workbooks->Add(xlWBATWorksheet);
m_Worksheet=m_ExcelBudget->Workbooks->get_Item(1)->Worksheets->get_Item(1);
m_Worksheet->Name=WideString("XXX");

//写入报表题目
RangePtr CellTitle=m_Worksheet->get_Range("A1:J1");
CellTitle->Merge();
CellTitle->RowHeight=36;
CellTitle->ColumnWidth=24;
CellTitle->HorizontalAlignment=xlCenter;
CellTitle->VerticalAlignment=xlCenter;
CellTitle->Font->Size=24;
CellTitle->Value="XXXX";


//写入工程名称
RangePtr CellProj=m_Worksheet->get_Range("A2:G2");
CellProj->Merge();
CellProj->RowHeight=18;
CellProj->ColumnWidth=16;
CellProj->Value="XXX";
CellProj->HorizontalAlignment=xlLeft;
CellProj->VerticalAlignment=xlCenter;
CellProj->Font->Size=12;
CellProj->Font->Color=clBlue;

自己看看吧!不懂再问!
BCB 2001-05-28
  • 打赏
  • 举报
回复
to TR@SOE() :
你的文章最好换一个格式

13,874

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧