These are chat archives for PHPOffice/PHPExcel

18th
May 2016
Valentin
@Momentomore
May 18 2016 16:44
Hello everybody! Quick question! I read about PHPExcel and still can not figure out one thing. I perfectly understand that you can grab data from html form, validate it do some calculations pass it to Excel to apply formulas and then recall value back and if you want even generate xls file. My project is based on a spreadsheet, right now it is using jquery plugin for calculations and have a perfect parser for formulas. However, i need to hide formulas and hence make it server-side. Question: phpexcel will allow me to parse complex formulas like vlookup+several if's and so on and how its gonna be done? I mean, there will reside an excel file on the server and script will just recall to it, pass data, excel will calculate it and return back? How it will handle a multiple user's sessions? if i have 30 ppl simultaneously working with a form will it still work?
Mark Baker
@MarkBaker
May 18 2016 18:49
Have you looked at Quadratic.php in the /Examples folder? It does what you're asking about... as each http request is in its own individual thread, the file is read into memory allocated to that thread, and the calculation is executed in that thread, then there are no concurrency issues
Valentin
@Momentomore
May 18 2016 18:54
so as far as i understood, excel file is used as a template and does not make any difference how much ppl are actually working with forms
i mean contained formulas in excel are loaded in php memory
and values passed actually does not effect excel file, until not asked to be saved?
Apinan Woratrakun
@iamapinan
May 18 2016 19:18
PHPExcel now stable?
Mark Baker
@MarkBaker
May 18 2016 21:26
The template is loaded into PHP Memory, and each thread uses its own memory... unless you save the file, then it doesn't change in any way, so you can change values in every concurrent thread without affecting the file in any way unless you save it
PHPExcel has been stable for many years. The current stable release is 1.8.1