简体   繁体   中英

How can show Excel Sheet Name in dropdownlist using C#

I want to show an excel sheet name in a dropdown list using c#. But using my code, I am able to show excel sheet name but excel sheet name comes with '' and $. Coming Output is like: Sheet1$ , Sheet2$

        sheetNameddl.Items.Clear();
        sheetNameddl.DataSource = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
        sheetNameddl.DataTextField = "TABLE_NAME";
        sheetNameddl.DataValueField = "TABLE_NAME";
        sheetNameddl.DataBind();
        sheetNameddl.Items.Insert(0, new ListItem("--Select Sheet--", ""));

But the wanted output is like sheet1 , sheet2 .

GetOleDbSchemaTable returns a DataTable. You can enumerate it and change the names (might need to do before you bind):

    sheetNameddl.Items.Clear();
    DataTable dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
    foreach(DataRow ro in dt.Rows)
      ro["TABLE_NAME"] = ro["TABLE_NAME"].ToString().TrimEnd('$');
    sheetNameddl.DataSource = dt;
    sheetNameddl.DataTextField = "TABLE_NAME";
    sheetNameddl.DataValueField = "TABLE_NAME";
    sheetNameddl.DataBind();
    sheetNameddl.Items.Insert(0, new ListItem("--Select Sheet--", ""));

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM