急,操作excel出了问题!!!字符串写入时被改变!!!!
用如下方式打开excel:
Variant Axl,Workbook,AxSheet,bef,aft;
//建立excel连接
try {
Axl= Variant::CreateObject("Excel.Application");
} catch(...) {
return;
}
try {
Axl.OPS("Visible",false);
Workbook= Axl.OPG("Workbooks");
//创建一个新的excel工作本(文件)
Workbook.Exec(PR("Add"));
Workbook=Axl.OPG("ActiveWorkbook");
//关闭警告提示
Workbook.OPG("Application").OPS("DisplayAlerts",false);
AxSheet=Workbook.OPG("ActiveSheet");
} catch(...) {
//结束退出
return;
}
用如下方式写入字符串:
AnsiString ttt = "339005198202074319";
AxSheet.OPG("Cells").OPG("Item",(Variant)1,(Variant)1).OPS("Value",ttt.c_str());
但是,在excel中,发现写入的值变成了339005198202074000。
请问,为什么会成这样的结果呢?
另外,如果字符串前面有0时,会自动去掉0,如何不让它自动去掉?
比如:
AnsiString ttt="0001222";
写入excel后的值会变成1222