VC下设置Excel单元格的边框

王朝vc·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

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

//

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

不当之处,还望指正。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航