CoderFunda
  • Home
  • About us
    • Contact Us
    • Disclaimer
    • Privacy Policy
    • About us
  • Home
  • Php
  • HTML
  • CSS
  • JavaScript
    • JavaScript
    • Jquery
    • JqueryUI
    • Stock
  • SQL
  • Vue.Js
  • Python
  • Wordpress
  • C++
    • C++
    • C
  • Laravel
    • Laravel
      • Overview
      • Namespaces
      • Middleware
      • Routing
      • Configuration
      • Application Structure
      • Installation
    • Overview
  • DBMS
    • DBMS
      • PL/SQL
      • SQLite
      • MongoDB
      • Cassandra
      • MySQL
      • Oracle
      • CouchDB
      • Neo4j
      • DB2
      • Quiz
    • Overview
  • Entertainment
    • TV Series Update
    • Movie Review
    • Movie Review
  • More
    • Vue. Js
    • Php Question
    • Php Interview Question
    • Laravel Interview Question
    • SQL Interview Question
    • IAS Interview Question
    • PCS Interview Question
    • Technology
    • Other

18 May, 2022

Laravel excel combining multiple value into 1 cell

 Programing Coderfunda     May 18, 2022     Laravel, php     No comments   

 0

let me just give you guys the case of what problem i've found :
i wanted to export my table rekan that had many to many relationship with penyakits, for example 1 rekan instances could have a lot of penyakits. what i wanted to have is that all multiple values that i got from many to many relationship to be set in 1 cell only (depending on the row of the instances that has that value).

example with table that i wanted to make in excel :
| Rekan Name | ------------Penyakits----------------- |
| -------------- | ---------------------------------------- |
| Rekan 1------| Penyakits x, penyakits y, penyakits z. |
| Rekan 2------| Penyakits x, penyakits y.-------------- |

this is my code that currently i've been working on in laravel excel using only WithStyle (cause i found that this method is the most flexible way to custom my sheets)

$rowData = 4;
        foreach($rekans as $rekan){
            $sheet->setCellValue('A'.$rowData,$rekan->rekan_inv);
            $sheet->setCellValue('B'.$rowData,$rekan->dokter->nama_dokter);
            $sheet->setCellValue('C'.$rowData,$rekan->pasien->nama);
            $sheet->setCellValue('D'.$rowData,$rekan->pasien->klien->nama);
            $sheet->setCellValue('E'.$rowData,$rekan->berat);
            $sheet->setCellValue('F'.$rowData,$rekan->suhu);
            $sheet->setCellValue('G'.$rowData,$rekan->anamnesa);
            $sheet->setCellValue('H'.$rowData,$rekan->hasil_pemeriksaan);
            $sheet->setCellValue('J'.$rowData,$rekan->treatment->nama_treatment);
            $sheet->setCellValue('K'.$rowData,$rekan->pengobatan);
            $sheet->setCellValue('L'.$rowData,$rekan->kasus);
            $sheet->setCellValue('M'.$rowData,Date::dateTimeToExcel($rekan->created_at));

            foreach($rekan->penyakit as $penyakit){
                $sheet->setCellValue('I'.$rowData,$penyakit->nama_penyakit);
            }



Answer

0

based on mikens idea, i manage to found the solution by using this code. thanks miken

$listpenyakit = [];
            $fixpenyakit = "";
            foreach($rekan->penyakit as $penyakit){
                array_push($listpenyakit,$penyakit->nama_penyakit);
            }
            if (count($listpenyakit) > 1) {
                $fixpenyakit = implode(", ",$listpenyakit);
            } else {
                $fixpenyakit = implode($listpenyakit);
            }
            $fixpenyakit .= ".";
            // dd($fixpenyakit);
            $sheet->setCellValue('i'.$rowData,$fixpenyakit);
  • Share This:  
  •  Facebook
  •  Twitter
  •  Google+
  •  Stumble
  •  Digg
Email ThisBlogThis!Share to XShare to Facebook

Related Posts:

  • Laravel Tinker Server Package Laravel Tinker Server is a package by Marcel Pociot that enables you to tinker with your variables in real-time while working on your Laravel … Read More
  • PHPUnit SpeedTrap PHPUnit Speedtrap is a package by John Kary that reports on slow-running tests in your PHPUnit test suite. This package is inspired by Ruby RS… Read More
  • Laravel Favicon Package Laravel Favicon is a package by Marcel Pociot that enables you to create dynamic favicons based on your environment settings:   The package w… Read More
  • Snipe Migrations Laravel Package Snipe Migrations is a Laravel package by Dustin Fraker for “blazing fast” database migrations for tests: The package takes a snapshot of your m… Read More
  • Bagisto E-commerce Platform  Bagisto is an open-source E-commerce platform built on top of Laravel and Vue.js by Webkul. Bagisto is an E-commerce ecosystem designed for al… Read More
Newer Post Older Post Home

0 comments:

Post a Comment

Thanks

Meta

Popular Posts

  • Spring boot app (error: method getFirst()) failed to run at local machine, but can run on server
    The Spring boot app can run on the online server. Now, we want to replicate the same app at the local machine but the Spring boot jar file f...
  • Log activity in a Laravel app with Spatie/Laravel-Activitylog
      Requirements This package needs PHP 8.1+ and Laravel 9.0 or higher. The latest version of this package needs PHP 8.2+ and Laravel 8 or hig...
  • Vue3 :style backgroundImage not working with require
    I'm trying to migrate a Vue 2 project to Vue 3. In Vue 2 I used v-bind style as follow: In Vue 3 this doesn't work... I tried a...
  • Laravel auth login with phone or email
          <?php     Laravel auth login with phone or email     <? php     namespace App \ Http \ Controllers \ Auth ;         use ...
  • Enabling authentication in swagger
    I created a asp.net core empty project running on .net6. I am coming across an issue when I am trying to enable authentication in swagger. S...

Categories

  • Ajax (26)
  • Bootstrap (30)
  • DBMS (42)
  • HTML (12)
  • HTML5 (45)
  • JavaScript (10)
  • Jquery (34)
  • Jquery UI (2)
  • JqueryUI (32)
  • Laravel (1017)
  • Laravel Tutorials (23)
  • Laravel-Question (6)
  • Magento (9)
  • Magento 2 (95)
  • MariaDB (1)
  • MySql Tutorial (2)
  • PHP-Interview-Questions (3)
  • Php Question (13)
  • Python (36)
  • RDBMS (13)
  • SQL Tutorial (79)
  • Vue.js Tutorial (68)
  • Wordpress (150)
  • Wordpress Theme (3)
  • codeigniter (108)
  • oops (4)
  • php (853)

Social Media Links

  • Follow on Twitter
  • Like on Facebook
  • Subscribe on Youtube
  • Follow on Instagram

Pages

  • Home
  • Contact Us
  • Privacy Policy
  • About us

Blog Archive

  • September (100)
  • August (50)
  • July (56)
  • June (46)
  • May (59)
  • April (50)
  • March (60)
  • February (42)
  • January (53)
  • December (58)
  • November (61)
  • October (39)
  • September (36)
  • August (36)
  • July (34)
  • June (34)
  • May (36)
  • April (29)
  • March (82)
  • February (1)
  • January (8)
  • December (14)
  • November (41)
  • October (13)
  • September (5)
  • August (48)
  • July (9)
  • June (6)
  • May (119)
  • April (259)
  • March (122)
  • February (368)
  • January (33)
  • October (2)
  • July (11)
  • June (29)
  • May (25)
  • April (168)
  • March (93)
  • February (60)
  • January (28)
  • December (195)
  • November (24)
  • October (40)
  • September (55)
  • August (6)
  • July (48)
  • May (2)
  • January (2)
  • July (6)
  • June (6)
  • February (17)
  • January (69)
  • December (122)
  • November (56)
  • October (92)
  • September (76)
  • August (6)

  • Failed to install 'cordova-plugin-firebase': CordovaError: Uh oh - 9/21/2024
  • pyspark XPath Query Returns Lists Omitting Missing Values Instead of Including None - 9/20/2024
  • SQL REPL from within Python/Sqlalchemy/Psychopg2 - 9/20/2024
  • MySql Explain with Tobias Petry - 9/20/2024
  • How to combine information from different devices into one common abstract virtual disk? [closed] - 9/20/2024

Laravel News

  • Locale-aware Number Parsing in Laravel 12.15 - 5/21/2025
  • Handle Fluent Values as Arrays with Laravel's array() Method - 5/18/2025
  • Chargebee Starter Kit for Billing in Laravel - 5/20/2025
  • Streamline Pipeline Cleanup with Laravel's finally Method - 5/18/2025
  • Validate Controller Requests with the Laravel Data Package - 5/19/2025

Copyright © 2025 CoderFunda | Powered by Blogger
Design by Coderfunda | Blogger Theme by Coderfunda | Distributed By Coderfunda