简体   繁体   English

如何使用C#在下拉列表中显示Excel工作表名称

[英]How can show Excel Sheet Name in dropdownlist using C#

I want to show an excel sheet name in a dropdown list using c#. 我想使用c#在下拉列表中显示Excel工作表名称。 But using my code, I am able to show excel sheet name but excel sheet name comes with '' and $. 但是使用我的代码,我可以显示excel工作表名称,但是excel工作表名称带有''和$。 Coming Output is like: Sheet1$ , Sheet2$ 即将输出: 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 . 但是所需的输出就像sheet1sheet2

GetOleDbSchemaTable returns a DataTable. GetOleDbSchemaTable返回一个数据表。 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--", ""));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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