当前位置:  编程技术>.net/c#/asp.net

c#将Excel数据导入到数据库的实现代码

    来源: 互联网  发布时间:2014-08-25

    本文导语:  假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码: 代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.Data.OleDb;using System...

假如Excel中的数据如下:

数据库建表如下:

其中Id为自增字段:

代码:

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.OleDb;
using System.Configuration;
using System.Data.SqlClient;

namespace InExcelOutExcel
{
    public partial class ExcelToDB : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            FileSvr fileSvr = new FileSvr();
            System.Data.DataTable dt = fileSvr.GetExcelDatatable("C:\Users\NewSpring\Desktop\Demo\InExcelOutExcel\InExcelOutExcel\excel\ExcelToDB.xlsx", "mapTable");
            fileSvr.InsetData(dt);
        }
    }
    class FileSvr
    {
        ///
        /// Excel数据导入Datable
        ///
        ///
        ///
        ///
        public System.Data.DataTable GetExcelDatatable(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'";

            System.Data.DataTable dt = null;
            //建立连接
            OleDbConnection conn = new OleDbConnection(string.Format(cmdText, fileUrl));
            try
            {
                //打开连接
                if (conn.State == ConnectionState.Broken || conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }


                System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);

                //获取Excel的第一个Sheet名称
                string sheetName = schemaTable.Rows[0]["TABLE_NAME"].ToString().Trim();

                //查询sheet中的数据
                string strSql = "select * from [" + sheetName + "]";
                OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);
                DataSet ds = new DataSet();
                da.Fill(ds, table);
                dt = ds.Tables[0];

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

        }

        ///
        /// 从System.Data.DataTable导入数据到数据库
        ///
        ///
        ///
        public int InsetData(System.Data.DataTable dt)
        {
            int i = 0;
            string lng = "";
            string lat = "";
            string offsetLNG = "";
            string offsetLAT = "";

            foreach (DataRow dr in dt.Rows)
            {
                lng = dr["LNG"].ToString().Trim();
                lat = dr["LAT"].ToString().Trim();
                offsetLNG = dr["OFFSET_LNG"].ToString().Trim();
                offsetLAT = dr["OFFSET_LAT"].ToString().Trim();

                //sw = string.IsNullOrEmpty(sw) ? "null" : sw;
                //kr = string.IsNullOrEmpty(kr) ? "null" : kr;

                string strSql = string.Format("Insert into DBToExcel (LNG,LAT,OFFSET_LNG,OFFSET_LAT) Values ('{0}','{1}',{2},{3})", lng, lat, offsetLNG, offsetLAT);

                string strConnection = ConfigurationManager.ConnectionStrings["ConnectionStr"].ToString();
                SqlConnection sqlConnection = new SqlConnection(strConnection);
                try
                {
                    // SqlConnection sqlConnection = new SqlConnection(strConnection);
                    sqlConnection.Open();
                    SqlCommand sqlCmd = new SqlCommand();
                    sqlCmd.CommandText = strSql;
                    sqlCmd.Connection = sqlConnection;
                    SqlDataReader sqlDataReader = sqlCmd.ExecuteReader();
                    i++;
                    sqlDataReader.Close();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
                finally
                {
                    sqlConnection.Close();

                }
                //if (opdb.ExcSQL(strSql))
                //    i++;
            }
            return i;
        }
    }
}

运行结果:


    
 
 

您可能感兴趣的文章:

  • c#如何生成Excel(.xls和.xlsx)文件
  • C#连接Excel2003和Excel2007以上版本做数据库的连接字符串
  • .NET下 c#通过COM组件操作并导出Excel实例代码
  • 解析c#操作excel后关闭excel.exe的方法
  • c#连接excel示例分享
  • C#连接Excel驱动与示例代码分享
  • C#将Sql数据保存到Excel文件中的方法
  • c#(asp.net)连接excel的实例代码
  • C#将html table 导出成excel实例
  • c#生成excel示例sql数据库导出excel
  • c# 验证本机excel版本的代码
  • c#读取excel内容内容示例分享
  • 验证本机的excel版本的C#代码
  • c#实现excel中添加超链接的代码
  • .net/c#/asp.net iis7站长之家
  • C#读取EXCEL文件内容写入数据库的代码
  • C#基于NPOI生成具有精确列宽行高的Excel文件的方法
  • C#中datagridview导出Excel并打开的实现代码
  • c#在excel中添加超链接示例分享
  • c#利用Excel直接读取数据到DataGridView
  • c# 读取与写入Excel的代码
  • 公司要给客户做报表,从数据库返回数据,他们死活要返回的格式为Excel格式,请问我怎样才能把数据库返回的数据存为Excel的格式?
  • 把excel表格里的数据导入sql数据库的两种方法
  • 关于Excel做后台数据调用!已经变通到这样了!高手们来帮忙吧!
  • 怎么用JSP动态查询EXCEL文件中的数据????????????????????
  • Excel导入Sqlserver数据库脚本
  • 请教高手--html页面中的表格数据直接存为excel文件格式
  • 用java怎样实现oracle数据库表和excel数据表的转换
  • 请教:JSP怎样连接Excel?将Excel的数据读取出来用表格显示在浏览器上?
  • 将Oracle的数据倒入EXCEL中的方法
  • 在java中怎么把数据库中的数据导出成excel形式的啊?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php导入excel php使用phpexcel导入excel文件
  • vb.net借助剪贴板将图片导入excel内
  • 图解SSIS批量导入Excel文件的实现方法
  • 格式导致的Excel导入sql出现异常的解决方法
  • 文本、Excel、Access数据导入SQL Server2000的方法
  • Excel导入Sql Server出现Null的解决方法
  • PHP导入与导出Excel文件的方法
  • c#实现将Excel导入到dataGridView的代码
  • Excel导入oracle的几种方法
  • C#导入EXCEL的实例代码
  • SQL导入Excel文件的实例分享
  • SQL直接操作excel表(查询/导入/插入)
  • html导入到excel或word中的实现代码
  • C#实现Excel导入sqlite的方法
  • ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
  • php excel格式(csv)数据导入导出(示例)
  • phpexcel导入excel到mysql数据库(示例)
  • 万能Excel导入导出工具 J-Excel
  • drupal读取excel并导入数据库方法
  • Drupal读取Excel并导入数据库实例
  • java操作excel2007文档介绍及代码例子
  • php读写excel类 excel_php
  • php读取excel文件示例分享(更新修改excel)
  • 如何上传EXCEL文件?以及在页面中显示EXCEL文件?
  • PHP导出excel php使用phpexcel导出excel文件
  • 填充Excel列表工具 Excel2Entity
  • 急问:如何用JSP在excel中画图表???
  • 请问 Java 里面有生成 Excel 文件的类吗?
  • PHP Excel Reader
  • 如果用在个JSP页面直接显示EXCEL内容?
  • JSP能否访问Excel?JDBC吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3