zoukankan      html  css  js  c++  java
  • 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();
                }
            }
    
    
    
    
        }
    }
  • 相关阅读:
    laravel安装
    redis缓存设置和读取
    window下装redis扩展(以php5.5为例)
    静态缓存
    原生js发送ajax请求
    数据库查询语句面试
    Cookie与Session
    面试题-一个for循环输出一个棱形
    编程题:利用for循环打印 9*9 表?
    java面试题之分析(二)
  • 原文地址:https://www.cnblogs.com/DBtwoer/p/5161144.html
Copyright © 2011-2022 走看看