Как импортировать лист Excel в базу данных SQL в asp.net

1

Я пытаюсь сохранить данные в базе данных sql из файла формата xls. Я попробовал приведенный ниже код, но он показывает ошибку, что внешняя таблица не в ожидаемом формате. Скажите, кто-нибудь поможет мне, как я могу сохранить данные из формата xls файл в базу данных?

code:
 protected void Button1_Click(object sender, EventArgs e)
    {
        string sheet1 = "asdf";
        string path = MapPath("~/dataWorldcup/asdf.xls");
        OleDbConnection oconn1 = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;");
        OleDbCommand ocmd = new OleDbCommand("select * from [" + sheet1 + "$]", oconn1);
        SqlConnection sqlcon = new SqlConnection(ConfigurationManager.ConnectionStrings["consed"].ConnectionString);
        oconn1.Open();
        sqlcon.Open();
        OleDbDataReader odr = ocmd.ExecuteReader();
        SqlBulkCopy sqlBulk = new SqlBulkCopy(sqlcon);

        sqlBulk.DestinationTableName = "[Table]";
        sqlBulk.WriteToServer(odr);
        sqlcon.Close();
        oconn1.Close();
    }

Ошибка: Изображение 174551

Таблица базы данных:

Изображение 174551

файл excel: - asdf.xls Изображение 174551

Может ли кто-нибудь помочь мне в этом? Это будет отличная помощь.

  • 0
    Интересный вопрос, дайте мне знать, если мой ответ поможет вам. Спасибо
  • 0
    Серьезно, это совсем не дублирующий вопрос. правильный ответ на тот, который вы даете в качестве дублирующего ответа, даже не дает точного ответа на это. посмотрите на комментарии. Ответ на этот вопрос может быть связан со строкой соединения, но, по всей вероятности, их строка соединения уже верна (проверьте вопрос!). Похоже, что проблема связана с несоответствием схемы между диапазоном в Excel и таблицей SQL. Размер и схема должны соответствовать ТОЧНО, иначе вы столкнетесь с исключениями.
Теги:
sql-server
excel

1 ответ

0

Моя первоначальная догадка заключается в том, что вы не используете правильную строку соединения для версии листа Excel, который у вас есть. Это мое предположение, потому что вы даже ничего не делаете, когда возникает ошибка, кроме попытки подключения к листу.

Попробуйте найти правильную строку подключения.

РЕДАКТИРОВАТЬ:

Попробуйте Excel 8.0; вместо Excel 12.0?

  • 0
    Так как это xls, я думаю, что вы правите правильно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню