Содержимое Excel в таблицу SQL Server с использованием Visual Studio 2008 - PullRequest
0 голосов
/ 08 сентября 2011

Я создаю приложение, в котором пользователь нажимает кнопку, ищет файл Excel и данные копируются в таблицу данных, созданную в базе данных.

Я использую VS2008 и SQL Server 2005.

Я, конечно, написал код для открытия файла и создал dataTable и его dataColumns в файле .cs. Что еще мне делать?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 сентября 2011

Вы можете сделать, как советует Кришна ... но этот код будет работать только в том случае, если столбцы в файле Excel и столбцах базы данных совпадают по количеству и порядку.Для простоты обслуживания и сопоставления данных я настоятельно рекомендую использовать комбинацию Linq для Excel и Linq для SQL, как в этой статье:

http://solidcoding.blogspot.com/2008/01/linq-to-excel-sql-import.html

0 голосов
/ 08 сентября 2011

Вы можете написать как приведенный ниже код, чтобы выгрузить данные в таблицу SQL Server

string excelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Server.MapPath("ImportFile.xls") + ";Extended Properties=""Excel 8.0;HDR=Yes;"""; 
    using (OleDbConnection connection = new OleDbConnection(excelConnectionString))
    {
        OleDbCommand command = new OleDbCommand("Select * FROM [NameOfTheDataSheet$]", connection);
        connection.Open();

        using (DbDataReader dataReader = command.ExecuteReader())
        {
            string sqlConnectionString = "SQL Connection String"; 
            using (SqlBulkCopy bulkCopy = new SqlBulkCopy(sqlConnectionString))
            {
                bulkCopy.DestinationTableName = "ExcelDataTable";
                bulkCopy.WriteToServer(dataReader);
            }
        }
    }

Дайте мне знать, если у вас другие требования.

...