{"id":150,"date":"2016-11-05T14:24:05","date_gmt":"2016-11-05T13:24:05","guid":{"rendered":"https:\/\/blog.overgen.com\/messi89\/?p=150"},"modified":"2016-11-05T15:06:29","modified_gmt":"2016-11-05T14:06:29","slug":"laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes","status":"publish","type":"post","link":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/","title":{"rendered":"Laravel Excel : Comment je suis pass\u00e9 de 600s \u00e0 12s pour exporter 25k lignes"},"content":{"rendered":"<p style=\"text-align: justify;\">Hi les amis,<\/p>\n<p style=\"text-align: justify;\">Aujourd\u2019hui je vais vous expliquer comment exporter de gros fichiers Excel. Durant un projet avec Laravel, ou j\u2019ai eu \u00e0 exporter des informations de la base de donn\u00e9es en Excel, souvent ces donn\u00e9es d\u00e9passaient les 10k.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-large wp-image-151\" src=\"https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench-1024x528.png\" alt=\"excelbench\" width=\"1024\" height=\"528\" srcset=\"https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench-1024x528.png 1024w, https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench-300x155.png 300w, https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench-768x396.png 768w, https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench.png 1546w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><!--more--><\/p>\n<p style=\"text-align: justify;\">Au d\u00e9but j\u2019ai utilis\u00e9 le Wrapper le plus connu pour Laravel (<a href=\"https:\/\/github.com\/Maatwebsite\/Laravel-Excel\">https:\/\/github.com\/Maatwebsite\/Laravel-Excel<\/a>) ce dernier utilise PHP Excel, mais rapidement j\u2019ai remarqu\u00e9 que l\u2019exportation n\u2019\u00e9tait pas possible d\u00e8s que le nombre de lignes d\u00e9passaient 2k\u2026j\u2019ai donc augment\u00e9 le temps d\u2019ex\u00e9cution des scripts et la m\u00e9moire allou\u00e9e (chose pas tr\u00e8s recommand\u00e9e surtout sur les petits serveurs et h\u00e9bergements mutualis\u00e9s) mais \u00e7a n&rsquo;a rien donn\u00e9 car avec un temps de 600s et 128mb de m\u00e9moire allou\u00e9e je n&rsquo;arrivais pas \u00e0 exporter plus de 10k lignes avant l&rsquo;expiration du\u00a0 temps accord\u00e9 au script.<\/p>\n<p style=\"text-align: justify;\">Apr\u00e8s plusieurs recherches j\u2019ai trouv\u00e9 une autre librairie qui a pu optimiser l\u2019exportation de gros fichiers Excel en utilisant le concept de stream, ce concept permet d\u2019\u00e9crire sur le fichier et le rendre t\u00e9l\u00e9chargeable d\u00e8s que le premier Byte est \u00e9crit, ce qui aide \u00e0 r\u00e9duire la m\u00e9moire utilis\u00e9e et le temps d\u2019ex\u00e9cution du script, cette librairie s\u2019appelle Spout (<a href=\"https:\/\/github.com\/box\/spout\">https:\/\/github.com\/box\/spout<\/a>).<\/p>\n<p style=\"text-align: justify;\">J\u2019ai donc essay\u00e9 un Wrapper Laravel qui utilise cette librairie (<a href=\"https:\/\/github.com\/Cyber-Duck\/laravel-excel\">https:\/\/github.com\/Cyber-Duck\/laravel-excel<\/a>), ce Wrapper m\u2019a permis d\u2019exporter 25k en 100s, c\u2019\u00e9tait bien mais je sentais que je pouvais faire mieux.<\/p>\n<p style=\"text-align: justify;\">En continuant mes recherches j\u2019ai trouv\u00e9 l\u2019instruction qui me faisait d\u00e9faut, 85% du temps d\u2019ex\u00e9cution \u00e9tait consomm\u00e9 par la conversion de la collection Eloquent vers un tableau, du coup j\u2019ai chang\u00e9 l\u2019approche utilis\u00e9e, au lieu d\u2019interroger la base de donn\u00e9es avec Eloquent qui retourne une collection, j\u2019ai utilis\u00e9 le Query Builder qui retourne un tableau d\u2019objets.<\/p>\n<p style=\"text-align: justify;\">Seul souci le Wrapper Laravel-Excel (<a href=\"https:\/\/github.com\/Cyber-Duck\/laravel-excel\">https:\/\/github.com\/Cyber-Duck\/laravel-excel<\/a>) n\u2019accepte pas un tableau mais une collection\u2026pour ensuite faire une conversion vers un tableau, l\u2019op\u00e9ration qu\u2019il faut \u00e0 tout prix \u00e9viter<\/p>\n<p style=\"text-align: justify;\">J\u2019ai fait un fork de cette librairie, j\u2019ai ajout\u00e9 le support de tableau (loadArray()) et l\u00e0 j\u2019ai pu descendre \u00e0 12s pour mes 25k lignes.<\/p>\n<p style=\"text-align: justify;\">Vous pouvez trouver la version modifi\u00e9e sur mon Github (<a href=\"https:\/\/github.com\/messi89\/laravel-excel\">https:\/\/github.com\/messi89\/laravel-excel<\/a>), cette version permet aussi de r\u00e9cup\u00e9rer l\u2019ent\u00eate \u00e0 partir des indices du tableau et aussi de cr\u00e9er un style a cet ent\u00eate.<\/p>\n<p style=\"text-align: justify;\">Ce qu&rsquo;il faut retenir :<\/p>\n<ul style=\"text-align: justify;\">\n<li><strong>L\u2019utilisation de Spout au lieu de PHPExcel.<\/strong><\/li>\n<li><strong>L\u2019utilisation du QueryBuilder de Laravel au lieu de l\u2019ORM Eloquent.<\/strong><\/li>\n<li><strong>\u00c9viter la conversion Collection-&gt;toArray().<\/strong><\/li>\n<li><strong>Cr\u00e9er le fichier Excel \u00e0 partir d\u2019un tableau.<\/strong><\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Si vous avez des questions, des remarques, des suggestions n\u2019h\u00e9sitez \u00e0 me contacter.<\/p>\n<p style=\"text-align: justify;\">Voil\u00e0 !!! A bient\u00f4t pour d&rsquo;autres articles.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hi les amis, Aujourd\u2019hui je vais vous expliquer comment exporter de gros fichiers Excel. Durant un projet avec Laravel, ou j\u2019ai eu \u00e0 exporter des informations de la base de donn\u00e9es en Excel, souvent ces donn\u00e9es d\u00e9passaient les 10k.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[31,29,33,28,30,32,36,35,34],"class_list":["post-150","post","type-post","status-publish","format-standard","hentry","category-web","tag-bigdata","tag-eloquent","tag-excel","tag-laravel","tag-laravel-excel","tag-massive-export","tag-optimisation","tag-phpexcel","tag-spout"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Laravel Excel : Comment je suis pass\u00e9 de 600s \u00e0 12s pour exporter 25k lignes ~ Messi89&#039;s blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Laravel Excel : Comment je suis pass\u00e9 de 600s \u00e0 12s pour exporter 25k lignes ~ Messi89&#039;s blog\" \/>\n<meta property=\"og:description\" content=\"Hi les amis, Aujourd\u2019hui je vais vous expliquer comment exporter de gros fichiers Excel. Durant un projet avec Laravel, ou j\u2019ai eu \u00e0 exporter des informations de la base de donn\u00e9es en Excel, souvent ces donn\u00e9es d\u00e9passaient les 10k.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/\" \/>\n<meta property=\"og:site_name\" content=\"Messi89&#039;s blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-11-05T13:24:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-11-05T14:06:29+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1546\" \/>\n\t<meta property=\"og:image:height\" content=\"797\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"messi89\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@messi89minou\" \/>\n<meta name=\"twitter:site\" content=\"@messi89minou\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"messi89\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/\"},\"author\":{\"name\":\"messi89\",\"@id\":\"https:\/\/blog.overgen.com\/messi89\/#\/schema\/person\/d212f5045c7feebd97fb10f743e1a892\"},\"headline\":\"Laravel Excel : Comment je suis pass\u00e9 de 600s \u00e0 12s pour exporter 25k lignes\",\"datePublished\":\"2016-11-05T13:24:05+00:00\",\"dateModified\":\"2016-11-05T14:06:29+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/\"},\"wordCount\":516,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/blog.overgen.com\/messi89\/#\/schema\/person\/d212f5045c7feebd97fb10f743e1a892\"},\"image\":{\"@id\":\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench-1024x528.png\",\"keywords\":[\"bigdata\",\"eloquent\",\"excel\",\"laravel\",\"laravel-excel\",\"massive export\",\"optimisation\",\"phpexcel\",\"spout\"],\"articleSection\":[\"Web\"],\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/\",\"url\":\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/\",\"name\":\"Laravel Excel : Comment je suis pass\u00e9 de 600s \u00e0 12s pour exporter 25k lignes ~ Messi89&#039;s blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.overgen.com\/messi89\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench-1024x528.png\",\"datePublished\":\"2016-11-05T13:24:05+00:00\",\"dateModified\":\"2016-11-05T14:06:29+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#primaryimage\",\"url\":\"https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench.png\",\"contentUrl\":\"https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench.png\",\"width\":1546,\"height\":797},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/blog.overgen.com\/messi89\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel Excel : Comment je suis pass\u00e9 de 600s \u00e0 12s pour exporter 25k lignes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.overgen.com\/messi89\/#website\",\"url\":\"https:\/\/blog.overgen.com\/messi89\/\",\"name\":\"Messi89&#039;s blog\",\"description\":\"De l&#039;action dans le code {  }\",\"publisher\":{\"@id\":\"https:\/\/blog.overgen.com\/messi89\/#\/schema\/person\/d212f5045c7feebd97fb10f743e1a892\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.overgen.com\/messi89\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/blog.overgen.com\/messi89\/#\/schema\/person\/d212f5045c7feebd97fb10f743e1a892\",\"name\":\"messi89\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/476325cad08026ef2f47662b9590b416221ae3fb36553e097f15eb7f5be9f979?s=96&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/476325cad08026ef2f47662b9590b416221ae3fb36553e097f15eb7f5be9f979?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/476325cad08026ef2f47662b9590b416221ae3fb36553e097f15eb7f5be9f979?s=96&r=g\",\"caption\":\"messi89\"},\"logo\":{\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/476325cad08026ef2f47662b9590b416221ae3fb36553e097f15eb7f5be9f979?s=96&r=g\"},\"sameAs\":[\"http:\/\/blog.overgen.com\/messi89\",\"https:\/\/x.com\/@messi89minou\"],\"url\":\"https:\/\/blog.overgen.com\/messi89\/author\/messi89\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Laravel Excel : Comment je suis pass\u00e9 de 600s \u00e0 12s pour exporter 25k lignes ~ Messi89&#039;s blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/","og_locale":"fr_FR","og_type":"article","og_title":"Laravel Excel : Comment je suis pass\u00e9 de 600s \u00e0 12s pour exporter 25k lignes ~ Messi89&#039;s blog","og_description":"Hi les amis, Aujourd\u2019hui je vais vous expliquer comment exporter de gros fichiers Excel. Durant un projet avec Laravel, ou j\u2019ai eu \u00e0 exporter des informations de la base de donn\u00e9es en Excel, souvent ces donn\u00e9es d\u00e9passaient les 10k.","og_url":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/","og_site_name":"Messi89&#039;s blog","article_published_time":"2016-11-05T13:24:05+00:00","article_modified_time":"2016-11-05T14:06:29+00:00","og_image":[{"width":1546,"height":797,"url":"https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench.png","type":"image\/png"}],"author":"messi89","twitter_card":"summary_large_image","twitter_creator":"@messi89minou","twitter_site":"@messi89minou","twitter_misc":{"\u00c9crit par":"messi89","Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#article","isPartOf":{"@id":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/"},"author":{"name":"messi89","@id":"https:\/\/blog.overgen.com\/messi89\/#\/schema\/person\/d212f5045c7feebd97fb10f743e1a892"},"headline":"Laravel Excel : Comment je suis pass\u00e9 de 600s \u00e0 12s pour exporter 25k lignes","datePublished":"2016-11-05T13:24:05+00:00","dateModified":"2016-11-05T14:06:29+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/"},"wordCount":516,"commentCount":0,"publisher":{"@id":"https:\/\/blog.overgen.com\/messi89\/#\/schema\/person\/d212f5045c7feebd97fb10f743e1a892"},"image":{"@id":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench-1024x528.png","keywords":["bigdata","eloquent","excel","laravel","laravel-excel","massive export","optimisation","phpexcel","spout"],"articleSection":["Web"],"inLanguage":"fr-FR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/","url":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/","name":"Laravel Excel : Comment je suis pass\u00e9 de 600s \u00e0 12s pour exporter 25k lignes ~ Messi89&#039;s blog","isPartOf":{"@id":"https:\/\/blog.overgen.com\/messi89\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#primaryimage"},"image":{"@id":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#primaryimage"},"thumbnailUrl":"https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench-1024x528.png","datePublished":"2016-11-05T13:24:05+00:00","dateModified":"2016-11-05T14:06:29+00:00","breadcrumb":{"@id":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#primaryimage","url":"https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench.png","contentUrl":"https:\/\/blog.overgen.com\/messi89\/wp-content\/uploads\/2016\/11\/excelBench.png","width":1546,"height":797},{"@type":"BreadcrumbList","@id":"https:\/\/blog.overgen.com\/messi89\/web\/laravel-excel-comment-je-suis-passe-de-600s-a-12s-pour-exporter-25k-lignes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/blog.overgen.com\/messi89\/"},{"@type":"ListItem","position":2,"name":"Laravel Excel : Comment je suis pass\u00e9 de 600s \u00e0 12s pour exporter 25k lignes"}]},{"@type":"WebSite","@id":"https:\/\/blog.overgen.com\/messi89\/#website","url":"https:\/\/blog.overgen.com\/messi89\/","name":"Messi89&#039;s blog","description":"De l&#039;action dans le code {  }","publisher":{"@id":"https:\/\/blog.overgen.com\/messi89\/#\/schema\/person\/d212f5045c7feebd97fb10f743e1a892"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.overgen.com\/messi89\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":["Person","Organization"],"@id":"https:\/\/blog.overgen.com\/messi89\/#\/schema\/person\/d212f5045c7feebd97fb10f743e1a892","name":"messi89","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/secure.gravatar.com\/avatar\/476325cad08026ef2f47662b9590b416221ae3fb36553e097f15eb7f5be9f979?s=96&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/476325cad08026ef2f47662b9590b416221ae3fb36553e097f15eb7f5be9f979?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/476325cad08026ef2f47662b9590b416221ae3fb36553e097f15eb7f5be9f979?s=96&r=g","caption":"messi89"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/476325cad08026ef2f47662b9590b416221ae3fb36553e097f15eb7f5be9f979?s=96&r=g"},"sameAs":["http:\/\/blog.overgen.com\/messi89","https:\/\/x.com\/@messi89minou"],"url":"https:\/\/blog.overgen.com\/messi89\/author\/messi89\/"}]}},"_links":{"self":[{"href":"https:\/\/blog.overgen.com\/messi89\/wp-json\/wp\/v2\/posts\/150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.overgen.com\/messi89\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.overgen.com\/messi89\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.overgen.com\/messi89\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.overgen.com\/messi89\/wp-json\/wp\/v2\/comments?post=150"}],"version-history":[{"count":11,"href":"https:\/\/blog.overgen.com\/messi89\/wp-json\/wp\/v2\/posts\/150\/revisions"}],"predecessor-version":[{"id":162,"href":"https:\/\/blog.overgen.com\/messi89\/wp-json\/wp\/v2\/posts\/150\/revisions\/162"}],"wp:attachment":[{"href":"https:\/\/blog.overgen.com\/messi89\/wp-json\/wp\/v2\/media?parent=150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.overgen.com\/messi89\/wp-json\/wp\/v2\/categories?post=150"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.overgen.com\/messi89\/wp-json\/wp\/v2\/tags?post=150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}