将excel表插入sql数据库

时间:2014-07-19 10:31:25

标签: sql sql-server database excel

我工作的公司有一个新项目。两名员工将访问每家商店以记录一些信息。项目很简单,我们只想将两名员工收集的数据插入到sql数据库中。

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

我的解决方案是允许两名员工在Excel工作表中写入数据,然后我尝试找到一种方法将该Excel工作表插入到sql数据库中。

我的问题

是否可以将excel表插入sql数据库?

请问有更好的解决方案吗?

注意

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

4 个答案:

答案 0 :(得分:1)

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

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$]')

答案 1 :(得分:1)

试试这个

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中的数据。您可以从数据表的数据创建插入查询。

file_path是excel文件的目录名的完整路径。

答案 2 :(得分:0)

通过SQL服务器的导入功能,你可以实现它......

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

答案 3 :(得分:0)

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

  1. 使用SSMS,在对象资源管理器窗格中,右键单击数据库>任务>导入
  2. 选择数据源作为Microsoft Excel,然后单击浏览以搜索并选择您的Excel文件。填写相应的字段,然后单击下一步
  3. 当您从目标数据库调用该工具时,将填充目标。单击“下一步”
  4. 从一个或多个表中选择复制数据或查看单选按钮,然后单击“下一步”
  5. 现在选择包含所需数据的Excel选项卡,并在源下,从“目标”列中选择目标表。单击编辑映射并验证列是否映射到正确的目标表。单击“下一步”
  6. 单击“完成”以运行程序包并将数据加载到SQL Server
  7. 您也可能有兴趣观看此视频,该视频谈论完全相同的事情。

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

    希望这有帮助。

相关问题