0

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.

Matthew
  • 1,412
  • 2
  • 20
  • 35
Annoy
  • 13
  • 3
  • Welcome to StackOverflow. So, are you having problems retrieving the different Sheet names? Have you tried something like [this](https://stackoverflow.com/a/1165281/3563910) ? – Gonzo345 Sep 05 '19 at 08:45

1 Answers1

0

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--", ""));
Caius Jard
  • 72,509
  • 5
  • 49
  • 80