C#导出Excel后关闭进程EXCEL.EXE】的更多相关文章

在C#中使用Microsoft.Office.Interop.Execl 导出excel 表格时,将以下两个属性亩后,在导完后, Excel.exe 进程无法关闭. // excel app 是否可见app.Visible = false;  // app 为Microsoft.Office.Interop.Excel.Application 的实例对象 app.DisplayAlerts = false; 在网上看了很多的解决方案,有的过于复杂,最后自己整理了一个比较简便实用的,就是把进程 E…
关闭进程 C#和Asp.net下excel进程一被打开,有时就无法关闭,   尤其是website.对关闭该进程有过GC.release等方法,但这些方法并不是在所有情况下均适用.  于是提出了kill   process的方法,   目前我见过的方法多是用进程创建时间筛选excel.exe进程,   然后kill .     这样的方法是不精确的,   也是不安全的,   通过对网上一些关于Api运用文章的阅读,   我找到了更为直接精确找到这个process并kill的方法,以下就是代码  …
在使用Microsoft.Interop.Excel对象的时候_application.Quit()并不能彻底关闭Excel进程,原因是没有释放掉非托管组建的引用. System.Runtime.InteropServices.Marshal.FinalReleaseComObject(book);                 book = null; GC.Collect(); excelApp.Quit(); System.Runtime.InteropServices.Marshal.…
 填报表单元格分为可写和不可写两种状态,当填报表在web上展现的时候可写单元格可以进行数据填报和修改,非可写单元格不可操作. 报表导出为excel时,润乾导出excel包默认情况下不对excel单元格属性进行特殊修改,当导出的报表为填报表时,报表中设定的单元格可写属性并不能在导出后的excel中体现,也就是说无论是可写还是非可写的单元格都会在excel中变成普通单元格,而恰恰一些客户在导出excel后会对excel进行修改然后再将excel导入报表,这时候就必然需要导出后的excel中单元格…
[System.Runtime.InteropServices.DllImport("User32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)] private static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID); private void Kill(Microsoft.Office.Interop.Excel.Applica…
经常项目上有导入excel的需求,其实导入一个固定格式的excel数据非常容易,但是,发现一个问题就是,导入excel后,用户在打开excel时,必须要打开2次才能打开excel,这让人很不爽:开始查找原因:excel的进程关闭不了,资源不能释放,于是就想尽办法释放com对象excel实例: public Excel.Application app;   //Excel对象   public Excel.Workbooks wbs;     //工作簿集   public Excel.Workb…
在SharePoint中,当在页面上点击Export to Excel按钮后,第一次它能实现该功能,当再次点击该按钮时,页面上的所有按钮将失效,仅仅再次刷新该页面时按钮才会有效,首先想到出现该问题肯定是在导出之后没有刷新该页面才会导致. 为了解决该问题,首先需要知道是什么原因导致,其实它是Moss的一个机制:在form 提交前,设置一个全局变量标识,防止重复提交,但是导出excel后的输出为二进制流,没有刷新页面,所以标识没有被重置,其他提交就被禁止了. 解决方案: 在查询按钮提交前设置:_sp…
JSP导出Excel身份证号码超出Excel最大限制,用科学计数法表示,但后三位为0,修改方式: <style type="text/css">.txt    {     padding-top:1px;     padding-right:1px;     padding-left:1px;     mso-ignore:padding;     color:black;     font-size:11.0pt;     font-weight:400;     fon…
在DataTable导出EXCEL后发现有些格式显示有问题,比如身份证.银行卡号等大于11位的数字显示为科学计数法.13681-1等 带中划线的两段数字显示为日期格式等. 处理方法如下: public static void DataTable2Excel(System.Data.DataTable dtData) { System.Web.UI.WebControls.DataGrid dgExport = null; // 当前对话 System.Web.HttpContext curCon…
Html Table用JS导出excel格式问题 我在网上找的JS把HTML Tabel导出成EXCEL.但是如果Table里的数字内容为0开的的导成Excel后会自动删除0,我想以text的格式写入Excel,不知道如何操作呀?HTML代码如下 <table id="dataTable"> <tr> <td><label class="text">000412341234</label></td&g…