C#将Excel工作表保存为html并阅读此HTML

在我的项目中,我需要将用户自定义的excel保存到.mht文件,并立即将文件重新加载到内存中,代码如下

var app = new Excel.Application(); var wsCurrent = app.ActiveWorkbook.ActiveSheet; object format = Excel.XlFileFormat.xlWebArchive; var codename = application.ActiveSheet.CodeName; wsCurrent.SaveAs(outputFile, format, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); 

然而,我发现由于excel的自然性,我们保存文件,它将locking进程,直到excel应用程序closures。 换句话说,我不能加载保存的.mht文件,除非我closures我不想要的excel,任何一个更好的主意这样做,请给我一个线索解决scheme,非常感谢提前,欢呼声,

您需要创build一个等同于Application.Activeworkbook的工作簿variables,保存此对象的活动表格,然后在工作簿上调用close,Excel可以保持打开状态,如下所示:

 var app = new Excel.Application(); Excel.Workbook workbook = app.ActiveWorkbook; Excel.Worksheet wsCurrent = workbook.ActiveSheet; Excel.XlFileFormat format = Excel.XlFileFormat.xlWebArchive; wsCurrent.SaveAs(@"C:\test\test.xlsx", format); workbook.Close(); 

您可以使用Open XML SDK 。 看到这里 。