这篇文章主要讲解了“C#调用Excel的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#调用Excel的方法”吧!
看了C#调用Excel之后,无意中想起2年前做的一个小项目,自己也遇到过Excel的进程无法结束掉的这种怪问题,最终还是解决了,其实解决的原理很简单,Excel是一个很特殊的东西,所有对它的操作都是独占的,因此就有必要在资源释放上严格进行。为了更好的跟大家交流,也同时帮助那些正在被困惑的程序员朋友们,下面就在C#调用Excel附上我以前的一段小代码,为了能够更快更容易说明问题,代码经过了删减,只保存了结构的完整性,但不保证能够顺利编译通过,代码如下:
using Execl = Microsoft.Office.Interop.Excel;
try
{
Microsoft.Office.Interop.Excel.Application excel =
new Microsoft.Office.Interop.Excel.Application();Microsoft.Office.Interop.Excel.Workbook workbook = excel.Workbooks.Open
(lujing2, System.Type.Missing, false, System.Type.Missing, System.Type.
Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing,
System.Type.Missing, System.Type.Missing, System.Type.Missing, System.
Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing);excel.Visible = true;
Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.
Interop.Excel.Worksheet)workbook.Worksheets.get_Item//开始执行Excel操作
if (excel.ActiveWorkbook.Saved == false)
{
excel.ActiveWorkbook.Save();
}
excel.Quit();
excel = null;
Application.Exit();
GC.Collect(System.GC.GetGeneration(worksheet));
GC.Collect(System.GC.GetGeneration(workbook));
GC.Collect(System.GC.GetGeneration(excel));
}
catch
{
}
finally
{
GC.Collect();
}
同时,这里有一个比较有争议的问题,我特此声明下:微软强烈建议不要通过GC.Collect方法来强制执行垃圾手机,因为那会妨碍GC本身的工作方式。只有在明确知道有大量对象停止引用时,
感谢各位的阅读,以上就是“C#调用Excel的方法”的内容了,经过本文的学习后,相信大家对C#调用Excel的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。