microsoft / microsoft/markitdown
OCR XLSX converter still fails on legacy showZeroes sheet views
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 186k
- Forks
- 13.7k
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 49
Description
Summary
XlsxConverterWithOCR still fails on legacy workbooks whose worksheet view uses the historical showZeroes attribute, even though the core XLSX converter was fixed for this in #2064.
The OCR converter calls pandas.read_excel(..., engine="openpyxl") / load_workbook() directly and does not run the core converter's scoped showZeroes -> showZeros repair first.
Reproduction on current main
I built the same malformed worksheet shape covered by test_xlsx_legacy_show_zeroes_sheetview: a normal workbook whose xl/worksheets/sheet1.xml contains:
<sheetView showZeroes="0" ...>
Local result against the current source packages:
core: ## Data | | hello | world | | | --- | --- |
ocr error: TypeError "SheetView.__init__() got an unexpected keyword argument 'showZeroes'"
So enabling the OCR plugin reintroduces a workbook compatibility failure that the normal converter now handles.
Proposed scope
If this is available to take, I can submit a focused OCR-side follow-up that reuses the same narrowly-scoped worksheet repair before openpyxl/pandas parses the workbook, plus a regression test derived from the existing core test. I would avoid broad XLSX refactoring.
I searched current PRs/issues for an OCR-specific showZeroes fix and found no matching implementation.
AI-assisted audit disclosure: found by comparing recent merged core fixes against sibling OCR converters; reproduction was executed locally against current source.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at XlsxConverterWithOCR and trace its pandas.read_excel(..., engine="openpyxl") and load_workbook() calls. Compare the scoped worksheet repair from core fix #2064 and the existing test_xlsx_legacy_show_zeroes_sheetview test. Done means the OCR converter accepts the legacy showZeroes workbook and has a regression test covering the failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 78/100