файл CSV импорта / выделяется в sql базу данных asp.net

Хорошо! Я глубоко взглянул на эту проблему! Заключительное слово - вы не можете удалить эти таблицы. Если вы удалите эти таблицы, идентичность не будет работать, как ожидалось. Для более подробной информации:

Как удалить таблицы ролей из ASP.NET Identity Core 2.0

Аналогичная проблема размещена на Github [114 ]

10
задан Curt 3 April 2012 в 13:32
поделиться

4 ответа

Проверьте превосходную библиотеку FileHelpers - там статья о CodeProject об этом, и это размещается здесь.

Это - чистый C#, и это может импортировать примерно любой плоский файл, CSV, и это имеет дело с Excel, также. Импорт полностью настраивается - можно определить вещи как разделители, строки и/или столбцы для пропуска, и так далее - много опций.

Я успешно использовал его в различных проектах, и это просто работает безупречно - настоятельно рекомендованный.

8
ответ дан 3 December 2019 в 20:44
поделиться

Можно легко создать IDataReader по Excel или файлу CSV (см. http://support.microsoft.com/kb/316934).

Вы используете SQL Server в качестве своего механизма базы данных? Если так, можно использовать класс SqlBulkCopy (http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx), чтобы эффективно взять IDataReader, столбцы карты как соответствующий, и сохранить результаты в базе данных.

5
ответ дан 3 December 2019 в 20:44
поделиться

Я подозреваю, там может существовать некоторые устойчивые и гибкие инструменты для помощи Вам с этим очень потенциально сложным приложением, на которое, надо надеяться, кто-то укажет на Вас.

Тем временем вот функция, которую я нашел полезными для убежища файл Excel к DataTable. Эта версия только ищет первый рабочий лист. Это могло бы служить начальной точкой. К к чему-то похожему с файлами CSV должен только потребовать изменения строки подключения.

public static DataTable GetDataTableFromExcel(string SourceFilePath)
{
    string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                                "Data Source=" + SourceFilePath + ";" +
                                "Extended Properties=Excel 8.0;";

    using (OleDbConnection cn = new OleDbConnection(ConnectionString))
    {
        cn.Open();

        DataTable dbSchema = cn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
        if (dbSchema == null || dbSchema.Rows.Count < 1)
        {
            throw new Exception("Error: Could not determine the name of the first worksheet.");
        }

        string WorkSheetName = dbSchema.Rows[0]["TABLE_NAME"].ToString();

        OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [" + WorkSheetName + "]", cn);
        DataTable dt = new DataTable(WorkSheetName);

        da.Fill(dt);

        return dt;
    }
}
3
ответ дан 3 December 2019 в 20:44
поделиться

FileHelpers является Вашим другом. Я использовал его счастливо для нескольких проектов, и это сохранило меня много горя и труда

1
ответ дан 3 December 2019 в 20:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: