插入Excel表格到SQL数据库

我所在的公司有一个新项目。 两名员工将访问每家商店logging一些信息。 该项目很简单,我们只是想要将这两名员工收集的数据插入到sql数据库中。

不幸的是,这两名员工将只有一台笔记本电脑,这是脱机。 所以,我不能使用同步技术来插入数据。

我的解决scheme是允许两名员工写入Excel表中的数据,然后我试图find一种方法将该Excel表插入到SQL数据库中。

我的问题

是否有可能插入到SQL数据库的Excel表单?

请问有什么更好的解决办法吗?

注意

数据库非常简单,只是一个三列的表。 IDStoreNameStoreProductsNumber

或者你可以安排像这样的查询在服务器上运行和自动同步:

 INSERT INTO database..table(ID,StoreName,StoreProductsNumber) SELECT 1 AS ID, LTRIM(RTRIM([StoreName])), LTRIM(RTRIM([StoreProductsNumber])), FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=C:\folder\excelfile.xls','select * from [sheet1$]') 

尝试这个

 public string GetDataTableOfExcel(string file_path) { using (OleDbConnection conn = new OleDbConnection()) { DataTable dt = new DataTable(); string Import_FileName = Server.MapPath(file_path); //Import_FileName = System.IO.Path.GetDirectoryName(file_path); string fileExtension = Path.GetExtension(Import_FileName); if (fileExtension == ".xlsx") conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Import_FileName + ";" + "Extended Properties='Excel 12.0 Xml;HDR=YES;'"; using (OleDbCommand comm = new OleDbCommand()) { comm.CommandText = "Select * from [Sheet1$]"; comm.Connection = conn; using (OleDbDataAdapter da = new OleDbDataAdapter()) { da.SelectCommand = comm; da.Fill(dt); } } } } 

现在你的数据在DataTable中。 您可以从数据表的数据创build插入查询。

file_path是excel文件的完整path和目录名称。

通过SQL服务器的导入function,你可以实现它…

http://www.mssqltips.com/sqlservertutorial/203/simple-way-to-import-data-into-sql-server/

这可以使用导入/导出工具来实现。 我会尝试添加一些可以帮助你完成整个过程的stwps。

  1. 使用SSMS,在对象资源pipe理器窗格中,右键单击数据库>任务>导入
  2. select数据源为Microsoft Excel,然后单击浏览来search并select您的Excel文件。 填写相应的字段,然后单击下一步
  3. 目标将在您从目标数据库调用工具时填充。 点击下一步
  4. select一个或多个表或单选button的复制数据,然后单击下一步
  5. 现在select包含所需数据的Excel选项卡,然后从源列下select目标表。 单击编辑映射并validation列是否映射到正确的目标表。 点击下一步
  6. 点击完成运行包并将数据加载到SQL Server中

你也可能有兴趣看这个video,谈论完全相同的事情。

http://www.youtube.com/watch?v=GG2N2iI0W3M

希望这可以帮助。