Строка не была распознана как допустимый DateTime. Есть неизвестное слово, начинающееся с индекса 0. "
Я пытаюсь импортировать данные Excel в таблицу базы данных Sql Server, для этого я делаю массовую вставку, и в моей базе данных тип данных date
и в строке Excel.
Ниже мой код:
public static class DataTableExt
{
public static void ConvertColumnType(this DataTable DTable, string columnName, Type newType)
{
using (DataColumn dc = new DataColumn(columnName + "_new", newType))
{
// Add the new column which has the new type, and move it to the ordinal of the old column
int ordinal = DTable.Columns[columnName].Ordinal;
DTable.Columns.Add(dc);
dc.SetOrdinal(ordinal);
// Get and convert the values of the old column, and insert them into the new
foreach (DataRow dr in DTable.Rows)
if (!string.IsNullOrEmpty(dr[columnName].ToString()))
{
dr[dc.ColumnName] = Convert.ChangeType( dr[columnName], newType);
}
else
{
dr[dc.ColumnName] = Convert.ChangeType(DateTime.Now, newType);
}
// Remove the old column
DTable.Columns.Remove(columnName);
// Give the new column the old column's name
dc.ColumnName = columnName;
}
}
}