资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

C#调用Excel的方法

这篇文章主要讲解了“C#调用Excel的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#调用Excel的方法”吧!

成都创新互联公司主营三台网站建设的网络公司,主营网站建设方案,成都app软件开发公司,三台h5重庆小程序开发公司搭建,三台网站营销推广欢迎三台等地区企业咨询

看了C#调用Excel之后,无意中想起2年前做的一个小项目,自己也遇到过Excel的进程无法结束掉的这种怪问题,最终还是解决了,其实解决的原理很简单,Excel是一个很特殊的东西,所有对它的操作都是独占的,因此就有必要在资源释放上严格进行。为了更好的跟大家交流,也同时帮助那些正在被困惑的程序员朋友们,下面就在C#调用Excel附上我以前的一段小代码,为了能够更快更容易说明问题,代码经过了删减,只保存了结构的完整性,但不保证能够顺利编译通过,代码如下:

  1. using Execl = Microsoft.Office.Interop.Excel;  

  2. try  

  3. {  

  4. Microsoft.Office.Interop.Excel.Application excel = 
    new Microsoft.Office.Interop.Excel.Application();  

  5. 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);  

  6. excel.Visible = true;  

  7. Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.
    Interop.Excel.Worksheet)workbook.Worksheets.get_Item  

  8. //开始执行Excel操作  

  9.  

  10. if (excel.ActiveWorkbook.Saved == false)  

  11. {  

  12. excel.ActiveWorkbook.Save();  

  13. }  

  14. excel.Quit();  

  15. excel = null;  

  16. Application.Exit();  

  17. GC.Collect(System.GC.GetGeneration(worksheet));  

  18. GC.Collect(System.GC.GetGeneration(workbook));  

  19. GC.Collect(System.GC.GetGeneration(excel));  

  20. }  

  21. catch  

  22. {  

  23.  

  24. }  

  25. finally  

  26. {  

  27. GC.Collect();  

同时,这里有一个比较有争议的问题,我特此声明下:微软强烈建议不要通过GC.Collect方法来强制执行垃圾手机,因为那会妨碍GC本身的工作方式。只有在明确知道有大量对象停止引用时,

感谢各位的阅读,以上就是“C#调用Excel的方法”的内容了,经过本文的学习后,相信大家对C#调用Excel的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


网页名称:C#调用Excel的方法
网站路径:http://cdkjz.cn/article/jjshhj.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220