由于需要读取xls格式Excel,使用Microsoft Excel 16.0 Object Library,解决使用Excel后自动释放资源、关闭后台运行进程方法(需要关闭程序就会自动释放,也可以使用句柄关闭进程方法)
using Excel = Microsoft.Office.Interop.Excel;
public class ExcelHelper
{
public void ProcessExcelFile(string filePath)
{
Excel.Application excelApp = null;
Excel.Workbook workbook = null;
Excel.Worksheet worksheet = null;
try
{
// 创建Excel应用程序对象
excelApp = new Excel.Application();
// 打开Excel文件
workbook = excelApp.Workbooks.Open(filePath);
// 获取第一个工作表
worksheet = workbook.Worksheets[1];
// 在这里进行Excel操作,例如读取或写入数据
// 保存并关闭Excel文件
workbook.Save();
workbook.Close();
// 释放Excel对象
Marshal.ReleaseComObject(worksheet);
Marshal.ReleaseComObject(workbook);
Marshal.ReleaseComObject(excelApp);
}
catch (Exception ex)
{
// 处理异常
}
finally
{
// 确保释放资源
if (worksheet != null)
{
Marshal.FinalReleaseComObject(worksheet);
}
if (workbook != null)
{
Marshal.FinalReleaseComObject(workbook);
}
}
}
}
注意:这种方法只能打开一次Excel关闭进程有效,多次可能无效,需要彻底关闭Microsoft Excel进程,请使用用来杀掉Excel进程的方法:
using System;
using System.Diagnostics;
public static void KillExcelProcesses()
{
Process[] processes = Process.GetProcessesByName("EXCEL");
foreach (Process process in processes)
{
try
{
process.Kill();
process.WaitForExit();
process.Close();
}
catch (Exception ex)
{
// 处理异常情况
Console.WriteLine("无法杀死Excel进程:" + ex.Message);
}
}
}
其它方法请参考:C#彻底释放EXCEL_c# 释放excel_lainY7mail的博客-CSDN博客
上面内容用于记录自己的学习与分享,分享让技术更进一步!
技术来源于思想自由、独立思考、辩证分析、逻辑思维与人类自由的创新,来服务于人类生活各种方便,而不是为了用技术打造思想鸿沟围城来制造愚蠢;技术是好的与坏的,好人用技术是更好的,坏人用技术是更坏的。推荐好书:乔治.奥威尔的《1984》、扎米亚京《我们》、阿道司·赫胥黎《美丽新世界》,有多个译本,选择喜欢且好的译本就行了;还有柏拉图的《理想国》、[法]孟德斯鸠的《论法的精神》、哈耶克《通向奴役之路》(港版)(港版翻译较好大陆版本,英语过硬的最好看英文原版),现在网店都有售卖!阅读好书,阅读大部分人未阅读过与课堂没有的书,阅读这片土地没有的知识就能增加一种思辨思维与智慧,才能走出狭隘思维偏见的洞穴!
柏拉图在他的巨著《理想国》的第七卷里写到了洞穴理论阐明:一群从小被囚禁生活在洞穴里人,在洞穴外面的光线照明下,往内看是一片片黑影,往外看是光明的海阔天空,越看越明亮!
见多识广,包容的人更自信、思维更多元,包容好的文化使人更强大,越自信越包容越强大!包容让你用上网络、电话、各种电器、汽车、芯片、铁路、高铁................