excel调用保存后,不能自动关闭问题 ,用GC::Collect();发现根本没用,不知道vc.net里面该怎么写
excel调用保存后,不能自动关闭问题 ,用GC::Collect();发现根本没用,不知道vc.net里面该怎么写,那位能帮忙指点下,谢谢了 --------------------编程问答-------------------- Excel.Application exApp = new Excel.ApplicationClass();.
.
.
.
.
exApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(exApp as object);
GC.Collect();
exApp = null; --------------------编程问答-------------------- 楼上的谢谢,不过我用的是excel9.cpp的函数写的,里面好像没有excel找个对象,而且怎么用System.Runtime.InteropServices.Marshal.ReleaseComObject(exApp as object);
需要加什么东西吗??我是用vc++7写的,麻烦详细点,谢谢了!
--------------------编程问答-------------------- 你可以使用System::Data::Odbc;命名空间进行对excel的操作,操作方式和访问数据库一样
给你个例子
System::Data::DataTable^ dt=gcnew System::Data::DataTable();
System::Data::DataRow^ dr;
String^ constr="Driver={Microsoft Excel Driver (*.xls)};Dsn=Excel Files;dbq="+excelclass::path+";";
excelclass::conn =gcnew Odbc::OdbcConnection(constr);
MessageBox::Show(System::Convert::ToString(excelclass::conn->ConnectionString->ToString()));
excelclass::conn->Open();
excelclass::comm =gcnew Odbc::OdbcCommand("select * from [Sheet2$]",conn); --------------------编程问答-------------------- 谢谢楼上的,你说的我也知道,可是用了CDatabase这种方式,没有办法合并单元格啊 --------------------编程问答-------------------- 你把exApp.Quit(); 之前的某个不影响excel内容的语句多写几遍或者sleep一会试试
我之前是books.save();这个语句写了10遍,之后就好了
不过你也可以尝试下wait();或者sleep();
--------------------编程问答-------------------- 另:想问你,合并单元格的时候,怎样能让合并非空单元格不显示合并确认提示? --------------------编程问答-------------------- 我的email:xiaos@dbitsoft.com
可以发mail告诉我~~谢谢 --------------------编程问答-------------------- 调用GC::Collect()我发现有个小技巧,用两个函数,一个函数处理excel相关的,另外一个函数里调用前面一个函数,然后再加上GC::Collect(),你试试看 --------------------编程问答-------------------- 楼上那样可以的!
不过还可以这样做
思路:
判断是否有Excel的进程,如果有,就kill.
这样就可以了 --------------------编程问答-------------------- lz要干嘛? --------------------编程问答--------------------
补充:.NET技术 , VC.NET