Laravel Excel Export Import

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 พ.ย. 2024

ความคิดเห็น • 38

  • @SanyaHP3
    @SanyaHP3 3 ปีที่แล้ว +1

    Супер, спасибо, то, что искал )

  • @bestdecor351
    @bestdecor351 2 ปีที่แล้ว +1

    спасибо большое, хорошо преподнесли материал. Желаю вам успехов в этой стезе и с наступающим!

  • @plutuss
    @plutuss 3 ปีที่แล้ว +1

    Спасибо огромное. Очень хорошее видео. Ещё интересно импорт больших баз в очередях с валидацией.

    • @devpovyshev
      @devpovyshev  3 ปีที่แล้ว

      Спасибо. Запишу как-нибудь

  • @Сергей-о1п3р
    @Сергей-о1п3р ปีที่แล้ว

    Шикарное видео. Обязательно попробую. А будут видео про парсинг сайтов? Например что-то с сайта взять, определённую строчку или какие-то данные которые обновляются. Иногда открываешь сайт, а там просто одна сплошная строка, как такое парсить то? (P.S. можно сделать видео про PDF, например с сайта посетитель мог бы скачать список услуг. С админки данные заносятся на страницу сайта, а уже по кнопке человек эту таблицу мог бы сказать, возможно с картинками или подписью в файле PDF. То есть в файл PDF в конце вставить свою визитку или какую-то информацию). Ещё раз спасибо за видео. Супер!!!

  • @dfkkg3453
    @dfkkg3453 ปีที่แล้ว

    А как экспортировать результаты фильтра? У меня в блейде они есть, но когда я пытаюсь запихать их по классике в {{route('agentsExport', ['users' => $users])}} - на бэке $users пустой

    • @devpovyshev
      @devpovyshev  ปีที่แล้ว

      Извини, не отписал. Тут с ходу не скажешь. Если скинешь ссылку на проект (можно на почту), я могу глянуть

  • @asadbekmamajonov8665
    @asadbekmamajonov8665 2 ปีที่แล้ว

    У меня в первом случае импорта выводится ошибка когда добавляю в бд undifined offset:1 name =>$row[1] скажите пожалуйста что я смогу сделать?

    • @asadbekmamajonov8665
      @asadbekmamajonov8665 2 ปีที่แล้ว

      Работает только $row[0] а при остальных выводит ошибку

    • @devpovyshev
      @devpovyshev  2 ปีที่แล้ว

      Перед циклом, открой dd($rows), посмотри что тебя в $rows, может там и нет $row[1]

  • @sadname
    @sadname 3 ปีที่แล้ว

    Подскажите, а как можно выполнить импрот данных из еxcel файла в котором есть название столбцов, чтобы их не затрагивало?

    • @devpovyshev
      @devpovyshev  3 ปีที่แล้ว

      Привет. Когда добавляешь запись в таблицу, проверяй в цикле, если первая запись, то пропускай

    • @sadname
      @sadname 3 ปีที่แล้ว

      @@devpovyshev а можете по подробнее подсказать как выполнить проверку?

    • @devpovyshev
      @devpovyshev  3 ปีที่แล้ว +1

      У тебя в классе импорта должен быть метод collection как я сделал на 25:18
      Внутри этого метода, у тебя есть цикл что-то вроде foreach ($rows as $key => $row)
      И внутри этого цикла ты проверяешь строчку, типа так: if($key == 0) continue;
      И получается, если у тебя в цикле первая строка, то она пропуститься

  • @dmitriy8562
    @dmitriy8562 3 ปีที่แล้ว

    Спасибо за урок. Все получилось. Вот только вместо даты (31.08.2021) парсится типа 33545. Как правильно спарсить это поля не теряя данных? Спасибо

  • @ДанилЛунёв-э1х
    @ДанилЛунёв-э1х 2 ปีที่แล้ว

    Подскажи, как быть с датами, при парсинге? Т.к. в БД они заносятся в экселевском формате типо "24242412.2421" ,

    • @devpovyshev
      @devpovyshev  2 ปีที่แล้ว

      Точно не могу сказать, надо смотреть. Можно попробовать так: date('Y-m-d H:i:s', strtotime("24242412.2421"))

    • @ДанилЛунёв-э1х
      @ДанилЛунёв-э1х 2 ปีที่แล้ว

      @@devpovyshev круто что отвечаешь, даже на давно вышедших роликах. То что ты сказал писать в контроллер?

    • @devpovyshev
      @devpovyshev  2 ปีที่แล้ว

      Это там где ты получаешь эту дату. А через data(...) Ты просто переведёшь ее из одного формата в другой который тебе надо

    • @ДанилЛунёв-э1х
      @ДанилЛунёв-э1х 2 ปีที่แล้ว

      @@devpovyshev спасибо!

    • @ДанилЛунёв-э1х
      @ДанилЛунёв-э1х 2 ปีที่แล้ว

      @@devpovyshevМы немного друг друга не поняли) Я имел ввиду дату не в плане таймпштампов, а работу с датами в экселевском документе. Типо одна колонка в экселе с пользовательями, к примеру, а вторая - с датами. Я думаю, что я не первый кто задаётся этим вопросом, т.к. у экселя очень своеобразное понятие времени, а никакой инфы ни на ютубе, нигде нет.

  • @mysportkids
    @mysportkids 3 ปีที่แล้ว

    Большое спасибо!! Подскажите, у меня есть огромные файлы в excel, которые нужно импортировать в mysql. Как сделать это в первый раз я поняла из вашего урока. Данные, приходящие ко мне в excel, обновляются до трех раз в день. как мне сделать такой импорт, чтобы обновилось несколько колонок в бд. Номер и название товаров остаются прежними, меняется только количество на складе и цена. И вообще можно ли так сделать?

    • @devpovyshev
      @devpovyshev  3 ปีที่แล้ว

      Тебе надо импортировать огромный excel в таблице и сверять, если данные в колонках другие у товара, то обновлять. Я правильно понял?

    • @mysportkids
      @mysportkids 3 ปีที่แล้ว

      @@devpovyshev да! Поменяться может цена и количество на складе, а номер товара и название остаются прежними

    • @mysportkids
      @mysportkids 3 ปีที่แล้ว

      @@devpovyshev ой, и ещё только сейчас поняла, если товар закончился на складе, то эту строку из бд в MySQL надо удалить. То есть в этом случае, такого товара вообще не будет в excel файле.
      Как сложно то🙏

    • @devpovyshev
      @devpovyshev  3 ปีที่แล้ว

      Ну для начала. Импорт с созданием и импорт с обновлением травара это 2 разных метода, если вдруг не так.
      С удалением все просто на самом деле. Но я на пальцах сейчас не объясню. Самый простой способ, это сделать валидацию. Только смотри валидацию не у Laravel, а у этой либы maatweb. Посмотри валидацию коллекции там. И валидируй данные по exists ( посмотри видео у меня про валидацию если не в курсе).
      Ну а если тебе надо обновлять данные, то скорее всего придется затронуть каждую строчку. Такая уж участь синхронизации 1с))

    • @mysportkids
      @mysportkids 3 ปีที่แล้ว

      @@devpovyshev спасибо:) теперь знаю хоть, что так можно этим пакетом делать. Я просто только подошла к этому вопросу. Почитаю доки. И урок посмотрю

  • @karabas1991
    @karabas1991 3 ปีที่แล้ว

    как вызвать экспорт методом в связке laravel + vue ?

    • @devpovyshev
      @devpovyshev  3 ปีที่แล้ว

      vue и laravel общаются по api?

    • @karabas1991
      @karabas1991 3 ปีที่แล้ว

      @@devpovyshev да, без енерции, spa , все запросы на серв через аксиос на апи летят

    • @devpovyshev
      @devpovyshev  3 ปีที่แล้ว

      @@karabas1991 Тогда тут все просто. Я показывал как сохраняется excl через метод store типа Exce::store(new Export,). А в конце ты делаешь return response()->json($name_excel_export, 200); А в Axios ты принимаешь уже имя твоего excel файла, и в тег вставляешь его в url, где хранится этот файл, типа example.ru/store/name_excel_export.xlsx.

    • @devpovyshev
      @devpovyshev  3 ปีที่แล้ว

      @@karabas1991 Лучше конечно сразу url на файл делать сразу в responce. А ссылка на url доставай из env. Типа env('APP_URL').'/'.$name_excel_export

    • @karabas1991
      @karabas1991 3 ปีที่แล้ว

      @@devpovyshev спасибо, буду пробовать