ITPub博客

首页 > 应用开发 > IT综合 > VC下设置Excel单元格的边框 (转)

VC下设置Excel单元格的边框 (转)

原创 IT综合 作者:worldblog 时间:2007-12-12 09:42:53 0 删除 编辑
VC下设置Excel单元格的边框 (转)[@more@]

  为了能使得输出到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();

//

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

不当之处,还望指正。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-991579/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
  • 博文量
    6241
  • 访问量
    2404617