导入Excel到DataTable中的两种实现
导入Excel到数据库中是一个常见的操作,这里采用两种实现,一种比较简洁,一种侧重效率。
这里说明一下:导入的Excel可以包含多个sheet,最终都导入到dataset的同一个table中。
一、简洁实现:
[System.Runtime.InteropServices.DllImport("User32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)] private static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID); /// <summary> /// 销毁Excel线程 /// </summary> /// <param name="excel"></param> private void Kill(Microsoft.Office.Interop.Excel.Application excel) { //得到这个句柄,具体作用是得到这块内存入口 IntPtr t = new IntPtr(excel.Hwnd); int k = 0; //得到唯一标志k GetWindowThreadProcessId(t, out k); //k的引用 System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k); //关闭k p.Kill(); }