求ASP.NET将Excel导入到数据库的完整例子?急!!!(一个sheet中的数据导入到多个数据库表) 200

求ASP.NET将Excel导入到数据库的完整例子?急!!!(一个sheet中的数据导入到多个数据库表)例如:D:\x1文件夹中有一个excel文件abc.xlsx,现需... 求ASP.NET将Excel导入到数据库的完整例子?急!!!(一个sheet中的数据导入到多个数据库表)
例如:D:\x1文件夹中有一个excel文件abc.xlsx,现需要使用C#编程,将abc.xlsx文件中的工作表(Sheet1)的单元格的内容导入sql数据库名为zzz的表zx,zc,zv,zb,zn等多张表中(Sheet1中的单元格对应 zx,zc,zv,zb,zn等多张中的字段)!
请将给个详细的代码。
展开
 我来答
匿名用户
2013-07-17
展开全部
/// <summary>
        /// 读Excel文件
        /// </summary>
        /// <param name="filePath"></param>
        /// <returns>DataTable</returns>
        public static DataTable readCDEDataFile(string filePath,string condition)
        {
            DataTable dt = new DataTable();
            object missing = System.Reflection.Missing.Value;
            Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();//lauch excel application
            try
            {
                Microsoft.Office.Interop.Excel.Workbook xlsBook = excel.Workbooks.Open(filePath, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
                if (excel == null)
                {
                    //Response.Write("<script>alert('Can't access excel')</script>");
                }
                else
                {
                    Microsoft.Office.Interop.Excel.Worksheet wsheet = (Microsoft.Office.Interop.Excel.Worksheet)xlsBook.Worksheets.get_Item(1);
                    string name = wsheet.Name;
                    xlsBook.Close(false, Type.Missing, Type.Missing);
                    excel.Quit();
                    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filePath + ";" + "Extended Properties=Excel 8.0;";
                    OleDbConnection oledbConn = new OleDbConnection(strConn);
                    oledbConn.Open();
                    string strExcel = "select " + condition + " from [" + name + "$]";
                    OleDbDataAdapter myCommand = new OleDbDataAdapter(strExcel, strConn);
                    DataSet ds = new DataSet();
                    myCommand.Fill(dt);
                    oledbConn.Close();
                }
            }
            catch (Exception e)
            {
                Console.Write(e.Message.ToString());
                //SaveNote(e.ToString());
            }
            finally
            {
                if (excel != null) excel.Quit();
                GC.Collect();
            }
            if (excel != null) excel.Quit();
            return dt;
        }

 取得后 循环插入就可以了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式