tobyweston / simple-excel Goto Github PK
View Code? Open in Web Editor NEWGenerate excel sheets in Java
Home Page: www.robotooling.com
License: Apache License 2.0
Generate excel sheets in Java
Home Page: www.robotooling.com
License: Apache License 2.0
Internal links in Excel sheets aren't valid URLs and so throw a MalformedURLException
when converted into HyperLinkCell
types.
Hi!
I found your library very useful. However another caveat I found was that comparison ignores cell comments. Would it be possible for you to add such feature?
Thanks for your effort as for today.
Best regards!
Hi, are there plans to support apache poi 4?
I'm not sure what changes that would entail
Can we add code to this project so that it can read excel files and create new excel files for... let's say Names and Email ID's?
I'd like to use the Maven repository via HTTPS to get rid of a Gradle warning, but using https://www.robotooling.com/maven/ as a repository breaks the build due to an invalid certificate. Interestingly, the certificate used seems to belong to GitHub! Would you mind fixing that by installing a proper certificate?
Not all Excel cell types have equivalents in Simple-Excel. Specifically looking for the percentage type.
I use WorkbookMatcher.sameWorkbook(Workbook) to compare a result workbook against an expected one.
In case the same sheet in both of the workbooks contain a row (at the same position) that has the same number of cells (last cell is the same) but the resulting row contains one physical cell (cell with value) that is not existing in expected row then comparing will not find this difference.
The reason is that CellNumberMatcher only checks whether the last cells in the two rows are the same, RowInSheetMatcher checks actual row against expected row calling CellsMatcher and CellsMatcher matches the physical cells of the expected row.
I advise checking the equality of the number of physical cells in the rows in CellNumberMatcher.
I use simple-excel to diff generated excels, this is a continuous process. It would be nice if there is a ignore on defined cells.
Example
java.lang.AssertionError: Comparing DemoExcelFile
Expected: entire workbook to be equal
but: cell at "B4" contained <"2013-12-05 12:40:49.309"> expected <"2013-12-06 12:41:29.424">,
[..]
From reading the code, I think you end up generating a new CellStyle object every time a cell is added to the workbook. There is a limit of 64000 unique cell formats per workbook (https://support.office.com/en-nz/article/Excel-specifications-and-limits-16c69c74-3d6a-4aaf-ba35-e6eb276e8eaa).
I think if the CellStyles aren't being reused then it would be worth adding caching so that a Style object will only create a CellStyle on the workbook once. Then if you maintain a reference to a Style object then the same CellStyle instance from the workbook will be applied to each cell that uses the Style instance.
I'm happy to submit a pull request for this if you agree on my analysis.
Sorry for this support-type of question. I have saved an XLSX file as the expected result and the sameWorkbook()
assertion passes whem comparing against a programmatically created workbook. However, if I just open and re-safe the XLSX file (without making any changes) with Excel on Windows, I get
java.lang.AssertionError:
Expected: entire workbook to be equal
but: got <2> cell(s) on row <1> expected <6> sheet "Summary",
got <2> cell(s) on row <2> expected <6> sheet "Summary",
got <2> cell(s) on row <5> expected <6> sheet "Summary",
got <2> cell(s) on row <6> expected <6> sheet "Summary",
got <2> cell(s) on row <7> expected <6> sheet "Summary",
got <2> cell(s) on row <8> expected <6> sheet "Summary"
So somehow the number of (non-physical) cells seems to have changed. Any idea why, and how to deal with it? I wanted to update the XLSX file with new test expectations, but now I cannot due to the above issue which always make the test fail.
Why is this library not published on Maven Central? It would be nice not to have to configure a special repository for it.
Would be easier to adopt this library if it was published to http://search.maven.org/. Most IT orgs do not like artifacts to be pulled from a different central repo.
Hi,
I'm very much interested in using simple-excel for testing with my company.
This is possible, as you kindly provide it under the Apache 2.0 license.
However, the license information in your code states there would be a NOTICE file with further information, and I cannot find such. Quote:
"See the NOTICE file distributed with this work for additional information."
Would you add a NOTICE file, so license information is not lost during distribution?
Apache provides a template:
https://www.apache.org/licenses/example-NOTICE.txt
Best regards & thank you for this great software
r
Hi,
Is it possible to exclude some cells from the comparison?
attached is my code
MatcherAssert.assertThat(actual, WorkbookMatcher.sameWorkbook(expected));
Regards,
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.