Comments (9)
I mean using:
csvFileURI = "https://docs.google.com/spreadsheets/d/REDACTED/export?format=csv"
Intermediate = between source spreadsheet and result XML.
from android-gradle-localization-plugin.
OK, thanks so there is a bug in XLS(X) parsing. I'll investigate it.
from android-gradle-localization-plugin.
I was able to reproduce this issue.
On spreadsheet used in unit tests, created in 2015 everything works fine. However, a brand new document with copy-pasted content behaves differently.
Some cells eg. never touched rows or columns, are expected to be nulls or not to exist at all. However, they are returned as empty strings with current settings.
Such behavior is permitted by documentation so we need to adapt to this. I'll investigate how to solve it (the naive solution is to filter out empty rows and columns).
For now workaround is to use CSV (in case of Google sheets) or (if formulas are needed or input comes from XLS-only source) to remove empty columns and rows. Not sure how it looks like in Excel, probably it is sufficient to delete empty columns which were touched.
from android-gradle-localization-plugin.
Should be fixed in v1.0.19.
Now rows and columns containing only effectively empty (incl. missing and nulls) cells are ignored.
If column starts with empty cell but contains non-empty row then explicit error is thrown unless column is configured to be ignorable.
from android-gradle-localization-plugin.
Is it reproducible if you change intermediate format to CSV?
from android-gradle-localization-plugin.
Do you mean changing xlsFileURI to csvFileURI and hosting the translations differently? I don't understand what you mean by intermediate format. I have not played around with csvGenerationCommand
if that's what you mean
from android-gradle-localization-plugin.
When changing xls to csv as the intermediate format the issue disappears. So it seems to be only present with xlsFileUri / ?format=xlsx
from android-gradle-localization-plugin.
No worries, please ping me back here once you patch this up. Cheers 🍻
from android-gradle-localization-plugin.
Wow. Thanks for swift action. Cheers :)
from android-gradle-localization-plugin.
Related Issues (20)
- gradle localization failed HOT 1
- Java version error HOT 1
- Error "Cannot invoke method getAbsolutePath() on null object" when use xlsFileURI HOT 1
- column index instead of nameColumnName HOT 2
- org.apache.poi.openxml4j.exceptions.InvalidFormatException: Package should contain a content type part [M1.13] HOT 2
- Reverse: xml to csv? HOT 1
- Error:Cause: pl/droidsonroids/gradle/localization/LocalizationPlugin : Unsupported major.minor version 52.0 HOT 5
- Add option to configure res path by DSL HOT 2
- Add append mode
- add support for transifex HOT 3
- ClassNotFoundException when parsing XLSX from GoogleDrive URI
- Default locale column not present HOT 3
- How can I use "multiSheets" parameter. Where and how I must write it? HOT 2
- how can i parse all sheets only in one file "string.xml". Now creating multiple files for multiple sheets. HOT 1
- Can I use this plugin with multiple flavours with different localizations ? HOT 1
- More friendly support for multi-module projects
- How can i avoid escaping newline character HOT 2
- Problem with question marks "?" HOT 9
- Gradle 8 Support HOT 1
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 android-gradle-localization-plugin.