excel数据导入到sqlserver中---------工作笔记

调用页面:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using JuMi.BLL.Business;
using System.Data;
using System.Data.OleDb;
using System.Windows.Forms;

using JuMi.Model.Business;
using JuMi.BLL.Business;

namespace JuMi.Web.Form.Manager.Business
{
    public partial class WebForm1 : JuMi.Web.UI.BasePage
    {
        protected void Page_Load(object sender, EventArgs e)
        {


        }
        /// <summary>
        /// 导入广告商信息
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnAdverInfo_Click(object sender, EventArgs e)
        {
            DataTable dt = ExcelDemo.GetExcelToDatatable("F:\\Demo\\excelDemo.xlsx", "table");
            int count = 0;
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                Model_Advertiser model = new Model_Advertiser();
                model.Adver_CompanyName = dt.Rows[i][0].ToString();//名称
                model.Adver_Distinguish = dt.Rows[i][1].ToString();//税号
                model.Adver_RegisPhone = dt.Rows[i][2].ToString();//电话
                model.Adver_BankNumber = dt.Rows[i][3].ToString();//银行账号
                model.Adver_BankAddress = dt.Rows[i][4].ToString();//开户行地址
                model.Adver_RegisAdress = dt.Rows[i][5].ToString();//注册地址
                model.Adver_State = 0;
                if (AdvertiserBLL.Add(model) > 0)
                {
                    count++;
                }
            }
            if (count >= dt.Rows.Count)
            {
                JscriptMsgSuccess("广告商信息导入成功!", "", "function(){api.reload();}");
            }
            else
            {
                JscriptMsgError("广告商信息导入失败!", "", "function(){api.reload();}");
            }
        }

    }
}

  

 

实现方法页:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Data.OleDb;

namespace JuMi.BLL.Business
{
    public class ExcelDemo
    {
        /// <summary>
        /// Excel数据导入Datable
        /// </summary>
        /// <param name="fileUrl">文件路径</param>
        /// <param name="table"></param>
        /// <returns></returns>
        public static DataTable GetExcelToDatatable(string fileUrl, string table)
        {
            //支持office2007之前的 .xls
            //const string cmdText = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;IMEX=1';";//链接字符串
            //支持.xls和.xlsx,即包括office2010等版本的   HDR=Yes代表第一行是标题,不是数据;
            const string cmdText = "Provider=Microsoft.Ace.OleDb.12.0;Data Source={0};Extended Properties='Excel 12.0; HDR=Yes; IMEX=1'";
            DataTable dt = null;
            //建立连接
            OleDbConnection conn = new OleDbConnection(string.Format(cmdText, fileUrl));
            try
            {
                //打开链接
                if (conn.State == ConnectionState.Broken || conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }
                DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                //获取excel的第一个sheet名称
                string sheetName1 = schemaTable.Rows[0]["TABLE_NAME"].ToString().Trim();
                //查询sheet数据
                string strSql1 = "select * from [" + sheetName1 + "]";
                OleDbDataAdapter da = new OleDbDataAdapter(strSql1, conn);
                DataSet ds = new DataSet(); da.Fill(ds, table);
                dt = ds.Tables["" + table + ""];
                return dt;

            }
            catch (Exception exc)
            {
                throw exc;
            }
            finally
            {
                conn.Close();
                conn.Dispose();
            }
        }




    }
}

 

posted on 2016-01-26 17:37  DBtwoer  阅读(194)  评论(0编辑  收藏  举报