Comments (4)
Hi, may I ask what's your use case?
from openspout.
Yes ofcourse,
My filesystem is abstracted using Flysystem and I'm making heavy usage of FilesystemReader::readStream
and FilesystemWriter::writeStream
methods.
If the reader supports streams, I can pass the result of FilesystemReader::readStream
directly without additional writes to disk, and vice versa for the writer.
Also, not the least, with Flysystem
I can only get the contents of the file and not the path to the file since files do not need to "live" on the current filesystem.
from openspout.
Regarding the Writer, although it should be possible to write to a user-provided stream, it wouldn't work as you expect with Flysystem: FilesystemWriter::writeStream
expects an already filled stream, you cannot pass to it a stream that still needs to receive the data. So at least a php://memory
intermediate stream would be needed anyway and in my experience that's more of a burden rather than an help.
Regarding the Reader, only the CSV one could achieve your goal as both ODS and XLSX rely on ZipStream::open
which doesn't accept a stream.
And I don't like very much to add a feature so specific to a single component.
I have a decent experience with Flysystem
, streams and filesystem operations on PHP, and although bypassing the disk entirely seems good in theory I strongly suggest you to rely on physical temporary files for intermediate steps, you'll save yourself a lot of pita.
from openspout.
And I don't like very much to add a feature so specific to a single component.
I fully agree. It should only be done if possible for all formats.
Thank you for your reply and your advice. I'll close this request for now.
from openspout.
Related Issues (20)
- Read style from file
- Excel support for DateInterval HOT 4
- Add Table support to XLSX HOT 1
- Dependency Dashboard
- phar HOT 1
- Add support for DateInterval in XLSX Reader
- Row::fromValues return array of cells which cannot be written by CSVWriter HOT 2
- Supporting 3 PHP versions HOT 5
- Documentation Error? HOT 1
- Inconsistent number of cells per row HOT 5
- upgrading from v3 to v4, question with the new code HOT 1
- Set column width in v3 HOT 3
- setColumnWidth is unknown method
- PHPSpreadsheet is faster than Openspout? HOT 5
- No ReaderEntityFactory ? HOT 1
- Reader: Any way to retrieve the Excel number format string or other form of number format? HOT 6
- Right To Left Support HOT 2
- "Cannot get column index from an invalid cell index" when reading fle
- No documentation for Usage HOT 2
- Is there any faster way to Read XLSX Files HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from openspout.