为了能使得输出到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();
//
虽然没有什么高深的技术含量,只是为了让后面需要的人少走点弯路。
不当之处,还望指正。