Visual C++里边定义字符串的时候,用_T来保证兼容性,VC支持ascii和unicode两种字符类型,用_T可以保证从ascii编码类型转换到unicode编码类型的时候,程序不需要修改。


如果将来你不打算升级到unicode,那么也不需要_T,


 


『VC源代码』 - VC技术(COM技术)


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


                              //


                               虽然没有什么高深的技术含量,只是为了让后面需要的人少走点弯路。
                             不当之处,还望指正。