如何通过Delphi程序给Excel表格设置表格线

 我来答
windblast
2017-03-19 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13622
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

Excel 作为常用的办公软件,最常见的应用就是制作各种电子表格,同样,使用 delphi 语言编写出 excel 的表格也是编程人员常见的任务。

如何通过Delphi程序给Excel表格设置表格线,在完成这个任务之前,需要补充了解一些必需的资料:

在 Excel 里的,能够进行表格线设置的操作对象是 Border 对象:


这个对象具有以下成员:


Borders 具有以下边框属性:

各边框代表值如下:


各边框线条的样式定义:


知道了上面的知识之后,编写代码就比较简单了,以下是示例的代码:

procedure TForm1.Button1Click(Sender: TObject);
//先定义线型常量,也可以不定义,定义是为了便于记忆与代码易读
const
  xlInsideHorizontal = $0000000C;
  xlInsideVertical = $0000000B;
  xlDiagonalDown = $00000005;
  xlDiagonalUp = $00000006;
  xlEdgeBottom = $00000009;
  xlEdgeLeft = $00000007;
  xlEdgeRight = $0000000A;
  xlEdgeTop = $00000008;

  xlContinuous = 1;
  xlDash = -4115;
  xlDashDot = 4;
  xlDashDotDot = 5;
  xlDot = -4118;
  xlDouble = -4119;
  xlSlantDashDot = -4142;
  xlLineStyleNone = 13;

var ExcelApp: Variant;
begin
  ExcelApp := CreateOleObject('Excel.Application');//建立 Excel 联系
  ExcelApp.Visible := True;  //显示 excel 窗口
  ExcelApp.WorkBooks.Open('d:\Demo.xls'); //打开指定的 excel 文件

  //设置表格中指定单元格的上边框
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeTop].LineStyle := xlDouble;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeTop].Color := clRed;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeTop].Weight := 4;

  //设置表格中指定单元格的底边框
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeBottom].LineStyle := xlDouble;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeBottom].Color := clRed;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeBottom].Weight := 4;

  //设置表格中指定单元格的左边框
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeLeft].LineStyle := xlDouble;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeLeft].Color := clRed;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeLeft].Weight := 4;

  //设置表格中指定单元格的右边框
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeRight].LineStyle := xlDouble;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeRight].Color := clRed;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlEdgeRight].Weight := 4;

  //设置表格中间所有横线
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlInsideHorizontal].LineStyle := xlContinuous;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlInsideHorizontal].Color := clBlue;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlInsideHorizontal].Weight := 2;

  //设置表格中间所有纵线
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlInsideVertical].LineStyle := xlContinuous;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlInsideVertical].Color := clBlue;
  ExcelApp.ActiveSheet.Range['A2:H7'].Borders[xlInsideVertical].Weight := 2;

end;


运行效果截图:


匿名用户
2016-05-10
展开全部
1、加边框方才在其余处所找到了这个问题的解决办法,现颁布如下excelworksheet1.range['a1','a1'].borders[i].linestyle:=1; i是参数,代表单位格的四边以及琅绫擎的斜线 1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / ) 2、控制单位格 excelworksheet1.Rows.Range_['a1','a1'].Font.Size:='10'; //字体大大小 excelworksheet1.Rows.Range_['a1','a1'].Font.Name:='Garamond'; //字体名称 excelworksheet1.Rows.Range_['a1','a1'].Font.Color:=clred; //字体色彩 excelworksheet1.Rows.Range_['a1','a1'].Font.bold:=true; //字体加粗 excelworksheet1.Rows.Range_['a1','a1'].HorizontalAlignment:= xlCenter; //文字居中 excelworksheet1.Rows.Range_['a1','a1'].VerticalAlignment:= xlBottom; //文字向下对齐 excelworksheet1.Rows.Range_['a1','a1'].WrapText:=True; //主动换行 excelworksheet1.Rows.Range_['a1','a1'].Orientation:= 0; //偏向为0度 excelworksheet1.Rows.Range_['a1','a1'].AddIndent:= False;//不增长缩进 excelworksheet1.Rows.Range_['a1','a1'].ShrinkToFit:= False;//不缩小字体填充 excelworksheet1.Rows.Range_['a1','a1'].MergeCells:= False;//不归并单位格
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式