iter8-au / builder Goto Github PK
View Code? Open in Web Editor NEWA spreadsheet generator provider for Silex (uses PhpSpreadsheet or Spout)
License: MIT License
A spreadsheet generator provider for Silex (uses PhpSpreadsheet or Spout)
License: MIT License
phpoffice/phpexcel
has been deprecated and needs to be updated to phpoffice/phpspreadsheet
. I presume this was a trademark dispute so it should hopefully be very straightforward PHPExcel was deprecated so PHPSpreadsheet could be maintained and break backwards compatibility.
This likely won't be super straight forward, and may be worth holding off a bit longer until the PHPSpreadsheet API is solid.
Currently Spout instantiates itself as a XLSX writer only. There doesn't appear to be a way to change implementation on the fly, but there may be a way to always instantiate as a XLSX writer but then when exporting as a CSV, somehow switch over to a CSV writer. Not sure if it'll be possible however it's worth looking in to.
Otherwise we'll have to change instantiation.
I'd like to improve tests by implementing an Excel reader so we can confirm that expected data is appearing in the correct cell. Both Spout and PHPExcel include readers but I think it would be fine to use either one of them, just depends which is the easiest to use.
Manual verification can be performed at the moment by preventing the tests from cleaning up after themselves but this is a bit time consuming and adds extra overhead.
With PR #1 support for multiple Excel providers is now possible. However it's currently limited to one provider during runtime (as set in the config). It'd be nice to make the Service Provider work like the Doctrine one where you can set one or more named providers and switch between them as required.
This way the user could use Spout for one particular operation and PHPExcel for another without having to do any hacky stuff.
Currently my version of the code in #1 assumes the first row in the data array specifies the columns. I'll need to refactor the code and the tests so that's no longer the case. From now each row in the data array will be 'Column Name' => 'Row Value'
.
Dean, I can't add this to CircleCI due to not being an admin of the repo. Can you please adjust so we can get automated tests running on this ๐
Looking through the existing Workflow code I saw that the custom column widths and styles weren't being implemented so I didn't add full support for them in PR #1. Currently headers are being styled but that's it.
The configuration for styles is flexible enough to be portable across both PHPExcel and Spout, I'll just need to hook up some of the methods on the core Builder class.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.