我已经有了这组代码,现在,我知道你必须在访问excel之后处理com引用并运行垃圾收集器,但是我的特定代码并没有写出对变量的excel引用...在这种情况下如何妥善处理excel应用程序?
这是:
try
{
OleDbcon =
new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + openFileDialog.FileName +
";Extended Properties='Excel 8.0; HDR = Yes; IMEX = 1'");
OleDbcon.Open();
System.Data.DataTable dt = OleDbcon.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
OleDbcon.Close();
CMBsheets.Items.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
String sheetName = dt.Rows[i]["TABLE_NAME"].ToString();
sheetName = sheetName.Substring(0, sheetName.Length - 1);
CMBsheets.Items.Add(sheetName);
}
}
catch (Exception ex)
{
MessageBox.Show("Write Excel: " + ex.Message);
}
这可以,但EXCEL不会关闭!所以我无法保存来自另一个代码块的数据。 (顺便说一句,代码将excel书添加到组合框中,其中工作表可单独搜索,在选择时,数据显示在datagridview中)
提前致谢!