microsoft / microsoft/markitdown

OCR XLSX converter still fails on legacy showZeroes sheet views

Open
#2,400 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.