首页 > 代码库 > C#创建excel并释放资源
C#创建excel并释放资源
using System;using Microsoft.Office.Interop.Excel;using Excel = Microsoft.Office.Interop.Excel;using System.IO;using System.Windows.Forms;using System.Runtime.InteropServices;public class Class2 { private string filePath; private Excel.Application app = null; private Workbook wb; private Worksheet ws; private Workbooks wbs; /// <summary> /// 创建 /// </summary> /// <param name="filePath"></param> public void create(string filePath) { this.filePath = filePath; app = new Excel.Application(); if (app == null) { Out.show("无法创建Excel对象,可能您的电脑未安装Excel!"); app.Quit(); GC.Collect(); return; } try { app.Visible = false; app.Application.DisplayAlerts = false; } catch (Exception e) { } wbs = app.Workbooks; wb = wbs.Add(Excel.XlWBATemplate.xlWBATWorksheet); ws = wb.Worksheets[1] as Worksheet; } public void Write() { ws.Cells[1, 1] = "hello"; } /// <summary> /// 保存文件 /// </summary> public void Save() { while (File.Exists(filePath)) { try { File.Delete(filePath); break; } catch (Exception e) { if (MessageBox.Show("该文件已被占用,请关闭", "提示", MessageBoxButtons.RetryCancel) != DialogResult.Retry) { break; }; } } wb.Saved = true; wb.SaveAs(filePath); Kill(); } [DllImport("User32.dll", CharSet = CharSet.Auto)] public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID); /// <summary> /// 杀掉对应进程,释放资源 /// </summary> public void Kill() { int processId; GetWindowThreadProcessId(new IntPtr(app.Hwnd), out processId); Out.show(processId.ToString()); System.Diagnostics.Process.GetProcessById(processId).Kill(); } }
C#创建excel并释放资源
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。