Dumping Large Data Sets to Excel in Reports Dashboard
Permalink 1 user found helpfulNote: I haven't fully tested it yet, but I thought I'd share before I forgot about it.
public function excel(){ $dateHelper = Loader::helper('date'); $this->pageSize=0; $this->loadSurveyResponses(); $textHelper = Loader::helper('text'); $questionSet=$this->get('questionSet'); $answerSets=$this->get('answerSets'); $questions=$this->get('questions'); $surveys=$this->get('surveys'); $fileName=$textHelper->filterNonAlphaNum($surveys[$questionSet]['surveyName']); ini_set("memory_limit", "256M"); header("Content-Type: application/vnd.ms-excel"); header("Cache-control: private"); header("Pragma: public"); $date = date('Ymd');
Where do I actually place this file as I am facing similar challenges with an Extended form for a client. It has over 4k entries they want to export to excel now
Maybe your solution could help.
I just ask one of my guys to get me the data I want with a custom query. You could likely do the same with phpMyAdmin. I'm afraid at that scale (72k, not sure about 3k) you simply have to build a queue engine to save the file locally on the server when it's done being built and THEN spit it out the requestor. That's what places like paypal do when you request a month's worth of transactions in a report.. "You'll get a link to that file in the next 24 hours"... then it usually only takes a half hour.
regardless, nothing exists in the core to do that quite yet.
for just 3k records I imagine you might be able to tweak timeout settings enough. I'd explore the idea of writing the file locally with a job nightly or something however.