【问题标题】:Remove $ sign from sheet name in Excel从 Excel 中的工作表名称中删除 $ 符号
【发布时间】:2017-02-21 20:51:08
【问题描述】:

我正在使用 Excel Sheet 来处理数据,

DataTable dtSchema = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
var sheetName = dtSchema.Rows[0]["TABLE_NAME"].ToString();
OleDbCommand command = new OleDbCommand
        ("Select * FROM [sheet = "+sheetName+"]",connection);

using (OleDbDataReader dr = command.ExecuteReader())
{
    string sqlConnectionString = MyConString;
    using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString))
    {
        SqlBulkCopy bulkInsert = new SqlBulkCopy(sqlConnectionString);
        bulkInsert.DestinationTableName = "Temp";
        bulkInsert.WriteToServer(dr);
        MessageBox.Show("Upload to DB Temp Table Successful!");
    }
}

正如您在此处给出的前两行代码中所看到的那样,我使用 OLEDBSchemaTable 方法来获取 excel 中第一张工作表的名称。 此函数获取工作表名称,但同时在工作表名称末尾放置一个“$”符号。例如,我的 excel 第一个工作表名称是“”“Sheet1”“”,然后在代码中获取 sheet1 并在末尾放置一个 $ 符号。例如 """Sheet1$""".. 请帮我删除那个 $ 符号或给我另一种方法来获取工作表名称。

【问题讨论】:

  • 虽然这是一个很好的问题标题......你真的应该为你的问题添加更多描述性标题
  • var sheetName = dtSchema.Rows[0]["TABLE_NAME"].ToString().Replace("$",string.Empty); 这样做,它应该可以工作
  • NIcoRiff...下次我会记住的...谢谢。
  • MethodMan.. 刚去试试,会告诉你的。
  • @RizwanAzam just edit 包括标题在内的问题。

标签: c# excel oledb windows-forms-designer oledbconnection


【解决方案1】:

只需使用 String.Replace 从字符串中删除“$”字符:

var newName = sheetName.Replace('$', '');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多