读书人

导入Excel到DataTable中的两种兑现

发布时间: 2013-03-06 16:20:31 作者: rapoo

导入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();        }

以上是两种不同的实现,第二种更多的调用了操作系统的接口,这里只限于是Windows操作系统,包括销毁进程的方法,也是调用了系统的接口。


1楼tcl_6666昨天 14:10
跟着一起积累

读书人网 >编程

热点推荐