0

私は基本的に、Excelファイルを読み取ってユーザーアカウントを作成するためのコードを構築するための最良の方法に関するいくつかのアイデアを探しています。

私はすでにExcelファイルを読み取ってアカウントを作成するためのコードを持っていますが、Excelシートから「CreateUser」関数にデータを渡すための最良の方法がわかりません。

どんな助けでも大歓迎です。

乾杯。

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
using System.Data.SqlClient;
using System.IO;

namespace INB201_SAMS.Admin
{
    public partial class UploadList : System.Web.UI.Page
    {
        protected void UploadButton_Click(object sender, EventArgs e)
        {
            var upload = Path.Combine(Server.MapPath("~/upload"), "myfilename.xlsx");
            CSVUpload.SaveAs(upload);

            var excelConString = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 12.0", upload);

            using (OleDbConnection con = new OleDbConnection(excelConString))
            {
                con.Open();

                OleDbCommand com = new OleDbCommand("Select * from [UserUpload$]", con);

                OleDbDataReader dr = com.ExecuteReader();



            }

            File.Delete(upload);

            Response.Write("Upload Successfull!");

        }



        protected bool CreateUser(string UsersUsername, string UsersPassword)
        {

            try
            {
                MembershipUser newUser = System.Web.Security.Membership.CreateUser(UsersUsername, UsersPassword);
                Roles.AddUserToRole(UsersUsername, "student");
                return true;
            }

            catch (Exception ex)
            {
                MessageYo.Text = ex.ToString();
                return false;
            }

        }
    }
}
4

2 に答える 2

2

ここに本当に簡単なものがあります:

while(dr.Read()) {
    string user = dr[0].ToString();
    string pass = dr[1].ToString();
    if(!String.IsNullOrWhiteSpace(user) && !String.IsNullOrWhiteSpace(pass)) 
       CreateUser(user, pass)
}
dr.Close()
于 2012-06-05T04:10:15.053 に答える
1

ユーザー名とユーザーパスワードは2列になっていると思います。その場合。特定のヘッダーでExcelの特定の列を読み取ることができます。これはこれに関する議論です:http ://social.msdn.microsoft.com/Forums/en-US/exceldev/thread/6506b0b1-be8c-40f9-879f-21715bd2792e 。次に、値を関数に渡すことができます。

この回避策: ExcelをXMLに変換することを意味するXMLファイルを調べてから、xmlから関数にデータを取得します。

于 2012-06-05T04:46:21.450 に答える