将用户从文件导入ASP.NET成员身份

将用户从文件导入ASP.NET成员身份,asp.net,asp.net-membership,Asp.net,Asp.net Membership,我有一个网站使用ASP.NET会员资格。我还有一个excel文件,其中包含大约60条用户记录。如何将记录导入成员数据库,而不必将所有60项输入ASP.NET网站管理工具 谢谢你选择1 如果幸运的话,Excel可以将行直接导出到数据库中(这取决于您使用的数据库) 选择2 编写一个程序,迭代excel表格中的每一行,并手动将其插入数据库(同样,过程取决于哪一行)这里有三个选项供您选择 SQL Server Management Studio中可能有一个导入数据选项,您可以使用它(我刚签入SQL Se

我有一个网站使用ASP.NET会员资格。我还有一个excel文件,其中包含大约60条用户记录。如何将记录导入成员数据库,而不必将所有60项输入ASP.NET网站管理工具

谢谢你选择1

如果幸运的话,Excel可以将行直接导出到数据库中(这取决于您使用的数据库)

选择2


编写一个程序,迭代excel表格中的每一行,并手动将其插入数据库(同样,过程取决于哪一行)

这里有三个选项供您选择

  • SQL Server Management Studio中可能有一个导入数据选项,您可以使用它(我刚签入SQL Server Express,但它不在那里,但我确定它存在于Management Studio的完整版本中-目前无法检查)

  • 如果您有SSIS,请使用它

  • 您可以老一套地使用Excel构建包含单元格引用的SQL字符串。对第一行执行此操作,然后向下复制。将所有语句复制到查询窗口并执行

  • 我想不起从Excel文件中创建记录集的代码了


    EDIT:是一篇关于如何使用ADO.NET读取/写入excel文件的好文章。将数据直接转储到成员表中不是一项简单的工作。对于一次性情况,我喜欢使用公式和concat函数在excel中生成代码。excel中是否也有用户密码?如果使用密码加密/解密,会发生什么情况?
    foreach (record in recordset) {
        if (!(Roles.RoleExists(record["Role"])) {
            Roles.CreateRole(record["Role"]);
        }
        
        if (Membership.GetUser(record["Username"]) == null) {
            System.Web.Security.MembershipCreateStatus status;
            Membership.CreateUser(record["Username"], record["Password"], record["Email"], record["RSecurityQuestion"], record["SecurityAnswer"], true, status);
            if (status == System.Web.Security.MembershipCreateStatus.Success) {
                Roles.AddUserToRole(record["Username"], record["Role"]);
            }
        }
    }