為了能使得輸出到Excel中的數(shù)據(jù)顯示表格,可以調(diào)用事先設(shè)置好的模板,但是不靈活。我花了一個(gè)中午的時(shí)間摸索出如何設(shè)置它了。
具體代碼如下:
LPDISPATCH pRange;
CString cell;
int c,c1,c2;
_variant_t vRange1; // 設(shè)置單元格的線;
_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 :表示從第二行開(kāi)始關(guān)聯(lián)
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);
//對(duì)齊方式
Var.vt = VT_I2;
Var.iVal=-4108;
m_range.SetHorizontalAlignment(Var);
m_range.SetVerticalAlignment(Var);
//
// 設(shè)置單元格的線;
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; // 線的粗細(xì)程度;
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); // 我測(cè)試后認(rèn)為,沒(méi)有實(shí)際意義,只有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();
//
雖然沒(méi)有什么高深的技術(shù)含量,只是為了讓后面需要的人少走點(diǎn)彎路。
不當(dāng)之處,還望指正。
posted on 2005-05-25 10:04
子玉 閱讀(839)
評(píng)論(1) 編輯 收藏