VC下设置Excel单元格的边框

      为了能使得输出到Excel中的数据显示表格,可以调用事先设置好的模板,但是不灵活。我花了一个中午的时间摸索出如何设置它了。

      具体代码如下:

 LPDISPATCH pRange;
 CString   cell;
 int   c,c1,c2;

 _variant_t  vRange1;   // 设置单元格的线;
 _variant_t  vRange2;
 _variant_t  vRange3;
 _variant_t  vRange4;

   c='A';
   c1=j/26;
   c2=j%26;
   if(c1==0)
    cell.Format("%c%d",c2+c,i+1); // i+1 :表示从第二行开始关联
   else
    cell.Format("%c%c%d",c1+c-1,c2+c-1,i+1);

 VERIFY(pRange = m_worksheet.GetRange(COleVariant(cell)));
   m_range.AttachDispatch(pRange);
   //对齐方式
   Var.vt = VT_I2;
   Var.iVal=-4108;
   m_range.SetHorizontalAlignment(Var);
   m_range.SetVerticalAlignment(Var);
   //
   // 设置单元格的线;
   vRange1.vt =VT_I2;
   vRange1.lVal =1;   // 线的样式:0- no line; 1-solid; 2-big dot;3-small dot;4-dash dot; 5-dash dot dot;
   vRange2.vt =VT_I2;
   vRange2.lVal =3;  // 线的粗细程度;
   vRange3.vt =VT_I2;
   vRange3.lVal =1;   // 1-black;2-white;3-red;4-green;5-blue; 6-yellow; 7-pink;8-dark blue;
   vRange4.vt = VT_UI4;
   vRange4.uintVal =RGB(0,0,0);  // 我测试后认为,没有实际意义,只有vRange3起作用
   m_range.BorderAround(vRange1,vRange2,vRange3,vRange4);
   //
   //
   strValue=m_book.GetTextRC(i,j+2);
   strValue.TrimLeft(" ");
   strValue.TrimRight(" ");  
   if(!strValue.IsEmpty())
   {
    m_range.SetValue(COleVariant(strValue));
   }
   m_range.ReleaseDispatch();

//

 虽然没有什么高深的技术含量,只是为了让后面需要的人少走点弯路。

不当之处,还望指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值