Я использую Excel лист для обработки данных,
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 "" ", затем в коде его get sheet1 и заканчивается знак $. например "" "Sheet1 $" "" .. Пожалуйста, помогите мне удалить этот знак $ или дать мне другой способ получить имя листа.
Altough это большой вопрос название ... Вы действительно должны поместить больше описывающие названия для ваших вопросов – NicoRiff
'вар SheetName = dtSchema. Строки [0] ["TABLE_NAME"]. ToString(). Заменить ("$", string.Empty); 'сделать это, и он должен работать – MethodMan
NIcoRiff ... Я буду иметь это в виду в следующий раз .. Спасибо. –