首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

下传excel文件记录到数据库

2012-08-03 
上传excel文件记录到数据库最近遇到这样一个问题,我要将excel中的数据导入到数据库,字段比较多,大概50个吧

上传excel文件记录到数据库
最近遇到这样一个问题,我要将excel中的数据导入到数据库,字段比较多,大概50个吧,上传3000条记录需要一个小时,
实在有点太慢了,请高手指点如何优化一下。

  另外,我每执行一条sql 语句都 会新建 sqlconnection 对象并连接数据库,用完后关闭,这样对性能会有大的影响吗?

[解决办法]
insert tb(字段1,字段2) 你的集合
或者你用事物就好了,那样就是一次连接了
可以用Adapter.Update()
存储过程处理
[解决办法]
开关数据库连接对象 肯定影响效率啊

拼接了以后再提交吧

1个小时确实太夸张了
[解决办法]
第一:如何读取Excel数据很重要,肯定不能轮询读取,用下面的函数读数据

C# code
        /// <summary>        /// 读取用户指定WorkSheet的数据,作为DataTable输出        /// </summary>        /// <param name="excelFilePath">被读取的Excel文档路径</param>        /// <param name="HeadRowAsColumnCaption">是否将Excel第一行作为DataTable表头输出</param>        /// <param name="workSheetName">被读取的WorkSheet名称</param>        /// <returns></returns>        public static System.Data.DataTable ReadExcelToDataTable(string excelFilePath, bool HeadRowAsColumnCaption, string workSheetName)        {            System.Data.DataTable dataTable = new System.Data.DataTable();            System.Data.OleDb.OleDbConnection conn = GetConnection(excelFilePath, HeadRowAsColumnCaption);            if (conn != null)            {                conn.Open();                string strSql = "select * from [" + workSheetName + "$]";                System.Data.OleDb.OleDbDataAdapter sda = new System.Data.OleDb.OleDbDataAdapter(strSql, conn);                dataTable.TableName = workSheetName;                sda.Fill(dataTable);                conn.Close();            }            return dataTable;        } 

热点排行