关于控制Excel单元格的边框问题???

_jfeng 2003-08-09 02:20:31
请教各位大侠,本人正在做一数据库,设计到打印问题,我已将表里的数据在程序中成功保存到了Excel。但是在控制每个数据字段的数据边框时,通过什么函数能让需要的单元格的边框显示呢?望各位高手能助我一臂之力。
...全文
171 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccrun.com 2003-08-22
  • 打赏
  • 举报
回复
给你个完整的代码。

//---------------------------------------------------------------------------
#include <vcl.h>
#include "comobj.hpp"
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

#define PG OlePropertyGet
#define PS OlePropertySet
#define FN OleFunction
#define PR OleProcedure

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
String strXlsFileName="C:\\123.xls";
String strCellValue;
Variant ExcelApp,Workbook1,Sheet1,range1;
int nSheetCount;
try
{
ExcelApp=Variant::CreateObject("Excel.Application");
//创建Excel对象
ExcelApp.PG("WorkBooks").PR("Open",strXlsFileName.c_str());
Workbook1=ExcelApp.PG("ActiveWorkBook");
//打开Excel文件
nSheetCount=Workbook1.PG("Sheets").PG("Count");
ShowMessage("Sheet总数为:" + String(nSheetCount));
//Excel文件的Sheet总数
Workbook1.PG("Sheets",1).PR("Select");
//选择工作表中第一个工作表
Sheet1=Workbook1.PG("ActiveSheet");
ExcelApp.PG("Columns",1).PS("ColumnWidth",22);
//设置第一列的列宽为22
Sheet1.PG("Range","E2:E2").PG("Borders",4).PS("Weight",2);
//将E2单元格的边框设为只有底边框,宽度为2
strCellValue=Sheet1.PG("Cells",2,3).PG("Value");
//读取第2行第3列单元格的值
strCellValue += "123456";
Sheet1.PG("Cells",2,4).PS("Value",strCellValue.c_str());
//改变第2行第4列单元格的值
Sheet1.PG("Cells").PG("Font").PS("Size",9);
//设置字号为9,针对所有单元格
Sheet1.PG("Cells").PG("Font").PS("Name","宋体");
//设置字体为宋体,针对所有单元格
Sheet1.PG("Cells",1,1).PG("Font").PS("Bold",true);
//设置第一行第一列单元格的字体为粗字体
Sheet1.PG("Range","B3:B4").PR("Merge");
//合并B3,B4两个单元格
Sheet1.PG("Range","C5:D6").PR("Merge");
//合并C5,C6,D5,D6四个单元格
Sheet1.PS("Name","Sheet的新名字");
//设置Sheet的名字
Workbook1.FN("SaveAs",strXlsFileName.c_str());
//保存文件

Sheet1=NULL;
Workbook1.PR("Close");
Workbook1=NULL;
ExcelApp.PR("Quit");
//退出Excel
ExcelApp=NULL;
ShowMessage("操作完成!");
}
catch(...)
{
MessageBox(Handle,"启动Excel出错",Application->Title.c_str(),MB_OK|MB_ICONERROR);
}
}
ch_builder 2003-08-16
  • 打赏
  • 举报
回复
给单元格赋值:
ExcelApp.Cells[2,5].Value := '第二行第五列';
指定边框线宽度:
ExcelApp.ActiveSheet.Range[ 'E2:E2' ].Borders[4].Weight := 3;
1-左 2-右 3-顶 4-底 5-斜( \ ) 6-斜( / )

_jfeng 2003-08-16
  • 打赏
  • 举报
回复
好象在bcb里代码不是这样的吧?

我还是不会呀
HenryGo 2003-08-15
  • 打赏
  • 举报
回复
//设置全部选中单元格边框
vSelection.OlePropertyGet("Borders",1).OlePropertySet("LineStyle",1);
lvjack 2003-08-15
  • 打赏
  • 举报
回复
教你如何解决office的类似问题

例:在Excel中录制宏,然后查看宏的代码(VBA的),然后改改
再参考网上的一些代码就可以搞定了
_jfeng 2003-08-15
  • 打赏
  • 举报
回复
比如我要选中E2单元格,并把它的下边框打印,怎么写代码?
_jfeng 2003-08-15
  • 打赏
  • 举报
回复
但是VBA我不懂呀!

13,870

社区成员

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

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