Active Form中调用Variant进行Excel导出的问题,不胜感激!!
同样的一段代码,在简单的exe执行程序中就毫无问题,但在Active Form中就会抛出异常,请教各位有遇到过这样的问题吗?该如何解决呢?
Variant xls, wb, Sheet;
try
{
xls = Variant::CreateObject( "Excel.Application ");
xls.OlePropertyGet( "WorkBooks ").OleFunction( "Add ");
wb = xls.OlePropertyGet( "ActiveWorkBook ");
Sheet = wb.OlePropertyGet( "ActiveSheet ");
for( int i = 1; i < 5; i++ )
{
for( int j = 1; j < 5; j++ )
{
Sheet.OlePropertyGet( "Cells ",i,j).OlePropertySet( "Value ", "aaa ");
}
}
wb.OleFunction( "SaveAs ", "C:\\1.xls ");
xls.OleFunction( "Quit ");
xls = Unassigned; wb = Unassigned; Sheet = Unassigned;
}
catch(Exception &e)
{
MessageBox( this-> Handle, "创建Excel表格失败,请检查是否安装Excel ",
"test ", MB_OK | MB_ICONINFORMATION );
xls = Unassigned; wb = Unassigned; Sheet = Unassigned;
return;
}
[解决办法]
ACTIVEX 没有权限!
[解决办法]
要求数据或库数据导出到 电子表格时,不要用以上方法,
最好生成文本格式的execl,即简单方便,又快又不需EXECL支持,
我一直用这种方式,唯一缺陷,生成的电子表格文件字体无法控制,
但还是很不错