插入Excel表格到SQL数据库
我所在的公司有一个新项目。 两名员工将访问每家商店logging一些信息。 该项目很简单,我们只是想要将这两名员工收集的数据插入到sql数据库中。
不幸的是,这两名员工将只有一台笔记本电脑,这是脱机。 所以,我不能使用同步技术来插入数据。
我的解决scheme是允许两名员工写入Excel表中的数据,然后我试图find一种方法将该Excel表插入到SQL数据库中。
我的问题
是否有可能插入到SQL数据库的Excel表单?
请问有什么更好的解决办法吗?
注意
数据库非常简单,只是一个三列的表。 ID
, StoreName
和StoreProductsNumber
或者你可以安排像这样的查询在服务器上运行和自动同步:
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。
- 使用SSMS,在对象资源pipe理器窗格中,右键单击数据库>任务>导入
- select数据源为Microsoft Excel,然后单击浏览来search并select您的Excel文件。 填写相应的字段,然后单击下一步
- 目标将在您从目标数据库调用工具时填充。 点击下一步
- select一个或多个表或单选button的复制数据,然后单击下一步
- 现在select包含所需数据的Excel选项卡,然后从源列下select目标表。 单击编辑映射并validation列是否映射到正确的目标表。 点击下一步
- 点击完成运行包并将数据加载到SQL Server中
你也可能有兴趣看这个video,谈论完全相同的事情。
http://www.youtube.com/watch?v=GG2N2iI0W3M
希望这可以帮助。