Загрузка...

Помогите пожалуйста с импортом

Тема в разделе C# создана пользователем tvoiLil 28 апр 2025. 125 просмотров

Загрузка...
  1. tvoiLil
    tvoiLil Автор темы 28 апр 2025 538 14 дек 2019
    Нужно импортировать в бд sql данные из excel. Используется wpf. В базе данных есть несколько таблиц, данные из excel должны быть обновлены или записаны в бд. Помогите пожалуйста, как грамотно это сделать
     
  2. xQweck
    xQweck 28 апр 2025 статус? 1795 18 дек 2016
    В С# не шарю, но можно же воспользоваться ИИ-шкой какой-нибудь. Он за тебя всё напишет, останется только подправить
     
    1. tvoiLil Автор темы
      xQweck, если б помогло, шляпу пишет
    2. xQweck
      tvoiLil, Хз, наверное неправильный Промт пишешь. Ни разу не было чтобы ии не писал что-то нормально. Попробуй deepSeek или Grok что то что то хорошо помогают
  3. loverzxcsix
    loverzxcsix 28 апр 2025 СТАТЬ МИЛЛИОНЕРОМ ЗА МЕСЯЦ - https://lolz.live/threads/8241684/ 584 8 июн 2022
    Используй эти NuGet пакеты:

    EPPlus (для работы с Excel)
    Microsoft.EntityFrameworkCore (если юзаешь Entity Framework)
    System.Data.SqlClient (для прямого подключения к SQL Server)
     
    1. loverzxcsix
      loverzxcsix, в конце без https:// я хз почему эта шляпа тут появилась
  4. onlycash_pay
    onlycash_pay 28 апр 2025 ФЕРЗЬ FORUM'A 3715 31 авг 2020
    ChatGPT помоги малому, спасибо
     
    1. ChatGPT
      Привет, onlycash_pay! Конечно, помогу.

      Для импорта данных из Excel в базу данных SQL с использованием WPF, можно воспользоваться библиотекой, которая позволяет работать с Excel, например, [ClosedXML](https://github.com/ClosedXML/ClosedXML) или [EPPlus](https://github.com/EPPlusSoftware/EPPlus). Вот общий план действий:

      1. **Чтение данных из Excel:**
      - Используйте библиотеку ClosedXML или EPPlus для открытия файла Excel и чтения данных из него.

      2. **Подключение к базе данных:**
      - Используйте ADO.NET или Entity Framework для подключения к вашей базе данных SQL.

      3. **Обновление или вставка данных:**
      - Пройдитесь по строкам данных из Excel и для каждой строки выполните проверку: если запись уже существует в базе данных, обновите её, иначе вставьте новую запись.

      Вот пример кода, который может помочь начать:

      CSHARP

      using System.Data.SqlClient;
      using ClosedXML.Excel;

      // Открываем Excel файл
      using (var workbook = new XLWorkbook("path_to_your_excel_file.xlsx"))
      {
      var worksheet = workbook.Worksheet(1);
      var rows = worksheet.RangeUsed().RowsUsed();

      // Подключаемся к базе данных
      using (SqlConnection connection = new SqlConnection("your_connection_string"))
      {
      connection.Open();

      foreach (var row in rows)
      {
      // Извлекаем данные из строки
      var column1 = row.Cell(1).Value.ToString();
      var column2 = row.Cell(2).Value.ToString();
      // Добавьте больше колонок по мере необходимости

      // Проверяем, существует ли запись
      string query = "SELECT COUNT(*) FROM YourTable WHERE Column1 = @Column1";
      SqlCommand command = new SqlCommand(query, connection);
      command.Parameters.AddWithValue("@Column1", column1);

      int count = (int)command.ExecuteScalar();

      if (count > 0)
      {
      // Обновляем запись
      query = "UPDATE YourTable SET Column2 = @Column2 WHERE Column1 = @Column1";
      }
      else
      {
      // Вставляем новую запись
      query = "INSERT INTO YourTable (Column1, Column2) VALUES (@Column1, @Column2)";
      }

      command = new SqlCommand(query, connection);
      command.Parameters.AddWithValue("@Column1", column1);
      command.Parameters.AddWithValue("@Column2", column2);

      command.ExecuteNonQuery();
      }
      }
      }
      Этот код является базовым примером и может потребовать доработки в зависимости от структуры вашей базы данных и Excel файла. Если у вас есть дополнительные вопросы или нужна помощь с конкретными частями кода, дайте знать!
  5. xellan
    xellan 28 апр 2025 Пишу софты на C#, Bas. В тг по всем вопросам =) 237 30 мар 2020
    Для ознакомления можете изучить эту бд sqlite с ef https://metanit.com/sharp/wpf/21.1.php она легче в работе и повторяет LINQ, что дает возможность работать без особых проблем. Примеры более чем подробные.
    Если со sql командами, то есть версия SQL в Entity Framework Core https://metanit.com/sharp/efcore/6.1.php
    Изучите статьи, поймете как делать правильнее.
     
Top