The `anydoc.to_document()` function's current behavior of losing source range origin and worksheet names, particularly for single-sheet workbooks. The core issue is the lack of metadata preservation during conversion from Excel to a structured document model.
Raw Developer Origin & Technical Request
GitHub Issue
Aug 4, 2026
## Summary
`to_document()` loses both the source range origin and, for single-sheet workbooks, the worksheet name.
As a result, a caller cannot determine that a returned table cell came from `C3` on a sheet named `Data Sheet`; it appears as cell `[0][0]` in an anonymous table.
## Reproduction
Tested with `firecrawl-anydoc==0.1.2` and `openpyxl==3.1.5`.
```python
from pathlib import Path
import anydoc
from openpyxl import Workbook
path = Path("source-origin.xlsx")
workbook = Workbook()
sheet = workbook.active
sheet.title = "Data Sheet"
sheet["C3"] = "Only value"
workbook.save(path)
document = anydoc.to_document(path.read_bytes())
table = next(block.table for block in document.blocks if block.table is not None)
print([block.kind for block in document.blocks])
print(len(table.grid), len(table.grid[0]))
print([name for name in dir(table) if not name.startswith("_")])
print(anydoc.to_markdown(path))
```
## Observed
```text
['table']
1 1
['grid', 'header_rows', 'kind']
| |
| --- |
| Only value |
```
The crop itself is useful, but neither the table nor its surrounding blocks expose the source origin `(row=2, column=2)` / `C3`. Because the workbook has only one sheet, no heading or other block carries the worksheet name either.
Multi-sheet workbooks do emit sheet-name headings, so worksheet identity currently depends on how many sheets the workbook contains.
## Expected
The structured document model should preserve worksheet identity and source coordinates independen...
Developer Debate & Comments
No active discussions extracted for this entry yet.
Adjacent Repository Pain Points
Other highly discussed features and pain points extracted from firecrawl/anydoc.
Frequently Asked Questions
Market intelligence mapped to The `anydoc.to_document()` function's current behavior of losing source range origin and worksheet names, particularly for single-sheet workbooks. The core issue is the lack of metadata preservation during conversion from Excel to a structured document model..
How is The `anydoc.to_document()` function's current behavior of losing source range origin and worksheet names, particularly for single-sheet workbooks. The core issue is the lack of metadata preservation during conversion from Excel to a structured document model. positioned in the market?
What are the foundational technologies related to The `anydoc.to_document()` function's current behavior of losing source range origin and worksheet names, particularly for single-sheet workbooks. The core issue is the lack of metadata preservation during conversion from Excel to a structured document model.?
Engagement Signals
Cross-Market Term Frequency
Quantifies the cross-market adoption of foundational terms like row and column by tracking occurrence frequency across active SaaS architectures and enterprise developer debates.
SaaS Metrics