从Excel

时间:2017-02-21 20:51:08

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

我正在使用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 $”“”.. 请帮我删除该$符号或给我另一种获取工作表名称的方法。

1 个答案:

答案 0 :(得分:1)

只需删除' $'来自'keyup input[name-attribute is abc??]': function (evt, template) { }; 字符串的字符:

String.Replace