在操作excel表时,如何为cells划边框?(一句话,50分)(50分)

  • 主题发起人 主题发起人 arlf
  • 开始时间 开始时间
A

arlf

Unregistered / Unconfirmed
GUEST, unregistred user!
我想从文本中按照格式将数据导出到excel表中。因为记录数目不固定,并且在报表的最后
可能还需要加一些合计信息,所以就要根据不同的情况为每一行分别划边框,请问高手如何
实现? 我想用excelworksheet.cells.borderaround函数实现,可不知道怎麽填参数?
帮助中又查不到,郁闷! :<
 
var
MsExcel:Variant;
MsExcelWorkBook:Variant;
MsExcelWorkSheet:Variant;
begin
MsExcel:=CreateOleObject('Excel.Application.8');
MsExcelWorkBook:=MsExcel.WorkBooks.Add;
MsExcelWorkSheet:=MsExcel.WorkSheets.Add;
MsExcel.Visible:=True;
...
MsExcelWorkSheet.Range.ColumnWidth := XX;//设列宽
MsExcelWorkSheet.Range.Borders.LineStyle := XX ;//设线型
 
BorderAround(LineStyle : OleVariant ,Weight : TOleEnum,
ColorIndex : TOleEnum, Color : OleVariant)
LineStyle : 边框线线型
Weight : 边框线粗细
ColorIndex: 颜色
Color : 颜色
一般只要定义了ColorIndex就可以了,Color以EmptyParam填入.
例如Colorindex = 45;
具体有那几种如果你用的是Delphi 6在Excel2000.pas中有定义;
如果你用的是Delphi 5在Excel97.pas中有定义
我用的是Server上的几个控件.
procedure TForm1.Button6Click(Sender: TObject);
var
xlColor : OleVariant;
begin
xlColor := EmptyParam;
xlSheet.Range['B2','B2'].BorderAround(xlContinuous,xlThin,45,xlColor);
end;
 
同一楼上得。
 
注意,bluerain的用法你要注意,这种的效率你是受不了的,还是那个peter的对,要一列
一列的设置,那样效率是几十倍,我做过了,以前那简直是要人命!
 
一列一列设置是什么意思? 我不太做报表.
其实如果画的边框比较多,而且连续的话还不如直接用
xlsheet.Range['From','To'].Borders(xx).LineStyle来的快.

From,To是要画边框的区域,
xx : xlInsideHorizontal
xlInsideVertical
xlDiagonalDown
xlDiagonalUp
xlEdgeBottom
xlEdgeLeft
xlEdgeRight
xlEdgeTop

 
呵呵~~~ 我用pt_email的方法解决了此问题,十万分感谢!
同时,多谢各位的热心帮忙! 快来领分喽~~~~~~
 
后退
顶部