{"slug": "ai-pdf-to-excel-we-tested-chatgpt-gemini-and-claude-on-scanned-tables", "title": "AI PDF to Excel: We Tested ChatGPT, Gemini, and Claude on Scanned Tables", "summary": "A benchmark test by AISparkHub fed identical scanned documents—a retail receipt, a financial statement, and a multi-page U.S. Census table—to ChatGPT, Gemini, and Claude with the same extraction instructions, then scored the resulting spreadsheets cell by cell against the source documents. The models scored between 9.33/10 and 10/10, with no single model winning across all three document types: Claude took the receipt at 10/10, Gemini the financial statement at 10/10, and ChatGPT led the Census table at 9.97/10. The testers cautioned that even these highly accurate outputs contained substantive errors, so a clean-looking spreadsheet should not be assumed correct.", "body_md": "**Author's Note:** This benchmark was originally tested and published with full high-resolution spreadsheets, error logs, and reproducible prompt formulas on [AISparkHub](https://aisparkhub.com/convert-pdf-to-excel-using-ai/).\n\nIf you have ever tried to convert a scanned PDF, receipt, financial statement, or image of a table into Excel, you probably know the problem: the document looks perfectly readable to you, but getting that information into a usable spreadsheet can be surprisingly difficult.\n\nCopy and paste can scramble the columns. Traditional PDF converters may lose the table structure. And when the document is a scan, there may not even be selectable text to begin with.\n\nThat is where AI PDF to Excel tools become interesting.\n\nModern AI assistants such as ChatGPT, Gemini, and Claude can look at an uploaded document, understand its visual structure, and turn the information into an editable spreadsheet. In theory, the process is simple:\n\n**Upload your file → ask AI to extract the table → download the Excel file.**\n\nBut there is an important question most “PDF to Excel” guides skip:\n\n**How accurate is the resulting spreadsheet?**\n\nA spreadsheet can look perfectly clean while containing a missing value, a changed decimal, an incorrect symbol, or a number placed under the wrong heading. For a simple personal list, that might be a minor inconvenience. For an invoice, financial statement, inventory record, or business report, one incorrect cell can change the result of an entire calculation.\n\nSo we decided to test it ourselves.\n\nWe gave **ChatGPT, Gemini, and Claude the same scanned documents and the same extraction instructions**, then compared their outputs against the original source documents cell by cell. We tested three very different types of tables: a retail receipt, a financial statement, and a complex multi-page U.S. Census table.\n\nThe results were surprisingly strong—but they also showed why **“AI extracted it” does not automatically mean “the spreadsheet is correct.”** Across the three tests, the models achieved scores ranging from **9.33/10 to 10/10 on our predefined cell-level accuracy tests**, yet even these highly accurate outputs contained substantive errors.\n\nAnd before we get into the testing, there is something you can use right now.\n\nWe created a **copy-and-paste prompt** that you can use with an AI assistant when you need to extract a table from a PDF, scan, receipt, screenshot, or other document.\n\n**Bookmark this page** so you have the prompt the next time you need to convert a file into spreadsheet data. Just upload your document, paste the prompt, and let the AI create the workbook.\n\nBut don't stop at the download.\n\n**The rest of this guide shows you what happened when we tested this workflow on difficult real-world documents—and how to check whether the Excel file you receive is actually accurate.**\n\n**AI can be remarkably accurate at converting scanned tables into Excel—but you should not assume that a clean-looking spreadsheet is error-free.**\n\nWe tested ChatGPT, Gemini, and Claude on three different scanned documents: a retail receipt, a financial statement, and a complex multi-page Census table. Using predefined cell-level scoring, the models scored between **9.33/10 and 10/10** across the tests.\n\n| Document tested | ChatGPT | Gemini | Claude | \n|---|---|---|---|\n| Scanned receipt | 9.33/10 | 9.33/10 | 10/10 | \n| Financial statement | 9.38/10 | 10/10 | 9.38/10 | \n| Multi-page Census table | 9.97/10 | 9.78/10 | 9.96/10 | \n\nIf you want a broader comparison of the AI assistants used in this test, see our **[AI assistants comparison](https://aisparkhub.com/best-ai-assistants-2026/)**.\n\n*Cell-level extraction scores from our three scanned-document tests.*\n\nThere wasn't one model that produced the highest score across all three tests. The highest score varied by document type.\n\nBut there's an important detail behind those numbers.\n\nThe scores measure **cell-level extraction accuracy against predefined benchmark cells**. They do not independently score things such as workbook aesthetics, formula use, number of worksheets, or general usability.\n\nAnd even the high-scoring outputs contained meaningful mistakes.\n\nFor example:\n\nA model omitted values of **62,088,800** and **40,169,486** from the financial statement.\n\nAnother produced **-238,274,249** where the source showed **-258,274,249**.\n\nIn the Census table, one output changed **0.2 to 2** and another changed **6.4 to 64.4**.\n\nSome outputs substituted disclosure codes such as `EE`, `CC`, `(D)`, and `(NA)`.\n\nSo the practical answer is:\n\n**Yes, AI is now capable of turning difficult scanned documents into highly usable Excel data. But the more important the data is, the more carefully you should verify the resulting workbook against the original document.**\n\nIf you're here simply because you need to convert a file right now, **use the copy-and-paste prompt in the next section**. If you want to understand how reliable that workflow actually is, keep reading—we'll show you exactly what happened in our three tests.\n\nIf you need to convert a scanned PDF, receipt, screenshot, financial statement, or image of a table into Excel, you can start with the prompt below.\n\n**Bookmark this section** so you can reuse it whenever you need to extract a document into a spreadsheet. 👇\n\n```\n**Universal AI to Excel Prompt**\n<button type=\"button\" class=\"aisparkhub-copy-btn\" onclick=\"aisparkhubCopyPrompt(this)\">\n  Copy Prompt\n</button>\n\nI need you to extract the table(s) from the uploaded document/image and create a usable Excel workbook (.xlsx).\n\nFollow these rules strictly:\n\n1. Extract the information directly from the source document. Do not guess, infer, correct, or invent missing values.\n\n2. Preserve the original text, numbers, codes, labels, units, symbols, punctuation, and spelling exactly as they appear in the source.\n\n3. Preserve the original table structure:\n   – Keep the same rows and columns.\n   – Do not merge separate rows or columns unless the source clearly does so.\n   – Preserve blank cells where they are blank in the source.\n   – Preserve grouped and hierarchical headers.\n   – Preserve multi-level column headings and subheadings.\n\n4. Preserve numerical information exactly:\n   – Keep decimal places exactly as shown.\n   – Preserve negative numbers and minus signs.\n   – Preserve percentages, dates, quantities, currencies, and other units.\n   – Do not round or recalculate values unless I specifically ask you to.\n\n5. Preserve footnotes, annotations, symbols, and disclosure codes exactly as they appear, including values such as (D), (NA), EE, CC, or similar codes.\n\n6. If the document contains multiple distinct tables, place them on separate worksheets where appropriate.\n\n7. Make the resulting workbook editable and practical to use. Do not simply insert the source image into Excel as the table.\n\n8. If a character, number, cell, or section is genuinely unreadable, do not guess. Flag it as uncertain and tell me where the uncertainty occurs.\n\n9. If a table continues onto another page, preserve the correct row and column relationships across the page break.\n\n10. After creating the workbook, briefly tell me:\n    – the name of the Excel file,\n    – how many tables/sheets you created,\n    – any areas that were difficult to extract,\n    – and any values or cells that require manual verification.\n\nCreate the Excel workbook now.\n```\n\n.aisparkhub-prompt-box {\n\n  border: 1px solid #d9d9e3;\n\n  border-radius: 10px;\n\n  background: #ffffff;\n\n  overflow: hidden;\n\n  margin: 20px 0;\n\n}\n\n.aisparkhub-prompt-header {\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: space-between;\n\n  gap: 15px;\n\n  padding: 12px 15px;\n\n  border-bottom: 1px solid #e5e5eb;\n\n  background: #f7f7fb;\n\n}\n\n.aisparkhub-prompt-header strong {\n\n  font-size: 16px;\n\n}\n\n.aisparkhub-copy-btn {\n\n  border: 0;\n\n  border-radius: 6px;\n\n  padding: 8px 13px;\n\n  background: #222222;\n\n  color: #ffffff;\n\n  font-size: 14px;\n\n  font-weight: 600;\n\n  cursor: pointer;\n\n  transition: opacity 0.2s ease;\n\n}\n\n.aisparkhub-copy-btn:hover {\n\n  opacity: 0.85;\n\n}\n\n.aisparkhub-prompt-content {\n\n  padding: 20px;\n\n  white-space: pre-wrap;\n\n  font-size: 15px;\n\n  line-height: 1.7;\n\n  color: #222222;\n\n  background: #ffffff;\n\n}\n\n[@media](https://dev.to/media) (max-width: 600px) {\n\n  .aisparkhub-prompt-header {\n\n    padding: 11px 12px;\n\n  }\n\n.aisparkhub-prompt-header strong {\n\n    font-size: 14px;\n\n  }\n\n.aisparkhub-copy-btn {\n\n    padding: 7px 10px;\n\n    font-size: 13px;\n\n  }\n\n.aisparkhub-prompt-content {\n\n    padding: 15px;\n\n    font-size: 14px;\n\n    line-height: 1.65;\n\n  }\n\n}\n\nfunction aisparkhubCopyPrompt(button) {\n\n  const prompt = `I need you to extract the table(s) from the uploaded document/image and create a usable Excel workbook (.xlsx).\n\nFollow these rules strictly:\n\nExtract the information directly from the source document. Do not guess, infer, correct, or invent missing values.\n\nPreserve the original text, numbers, codes, labels, units, symbols, punctuation, and spelling exactly as they appear in the source.\n\nPreserve the original table structure:\n\nPreserve numerical information exactly:\n\nPreserve footnotes, annotations, symbols, and disclosure codes exactly as they appear, including values such as (D), (NA), EE, CC, or similar codes.\n\nIf the document contains multiple distinct tables, place them on separate worksheets where appropriate.\n\nMake the resulting workbook editable and practical to use. Do not simply insert the source image into Excel as the table.\n\nIf a character, number, cell, or section is genuinely unreadable, do not guess. Flag it as uncertain and tell me where the uncertainty occurs.\n\nIf a table continues onto another page, preserve the correct row and column relationships across the page break.\n\nAfter creating the workbook, briefly tell me:\n\nCreate the Excel workbook now.`;\n\nnavigator.clipboard.writeText(prompt).then(function() {\n\n    const originalText = button.innerText;\n\n    button.innerText = '✓ Copied!';\n\n```\nsetTimeout(function() {\n  button.innerText = originalText;\n}, 2000);\n```\n\n});\n\n}\n\nThis prompt is designed to **reduce avoidable extraction mistakes**, but it cannot guarantee a perfect workbook.\n\nThat's why we tested the workflow ourselves. Even with the same type of strict instructions, our benchmark found missing values, incorrect numbers, character substitutions, and incorrect codes in some outputs.\n\nSo the workflow we recommend throughout this guide is:\n\n**Upload → Extract → Check → Use**\n\nrather than simply:\n\n**Upload → Download → Trust**\n\nNow let's look at **exactly how we tested the three AI tools** and how we made the comparison fair.\n\nTo make the comparison meaningful, we kept the core testing conditions the same across all three AI tools.\n\nWe tested **ChatGPT, Gemini, and Claude** using the same extraction task and the same source document for each test. The instruction was designed specifically for Excel extraction: preserve the original values and structure, avoid guessing or correcting unusual entries, retain codes and symbols, and flag anything genuinely unreadable.\n\nInstead of testing three similar documents, we deliberately used **three different types of scanned tables**. This allowed us to see how the tools handled different extraction challenges rather than judging them on a single easy example.\n\nOur first document was **ICDAR 2019 SROIE Receipt #004**, a scanned MR D.I.Y. receipt.\n\n*Source document used for Test 1: a scanned retail receipt containing five product rows.*\n\nThis gave us a relatively small table with product descriptions, reference information, barcodes, quantities, prices, and line amounts. Small characters and punctuation also mattered because the goal was to reproduce the source rather than simply capture the general meaning.\n\n**30 cells were scored** across the five product rows.\n\nThe second document was the **U.S. GAO Student Loan Insurance Fund Statement of Financial Condition**.\n\n*Source document used for Test 2: a scanned financial statement with multiple financial categories and numerical values.*\n\nThis was substantially more structured, with relationships between insured, reinsured, and total figures, along with financial values that needed to remain associated with the correct rows and columns.\n\nWe scored **32 substantive numerical values** for this test.\n\nThe final test was the **1982 U.S. Census of Manufactures, Table 2: Industry Statistics for Selected States: 1982 and 1977**.\n\n*Source document used for Test 3: a two-page Census industry statistics table with multi-level headers and coded values.*\n\nThis was the most demanding document in the benchmark. It contained multiple industries and states, hierarchical headers, years, different measurement fields, decimals, and disclosure codes such as `(D)`, `(NA)`, `EE`, and `CC`. The table also continued across two scanned pages.\n\nFor this test, we evaluated **76 data rows across 14 scored fields, giving us 1,064 scored cells**.\n\nThe scoring was deliberately simple: **correct scored cells ÷ total scored cells × 10**.\n\nThat gave us a consistent way to compare extraction accuracy across documents of very different sizes.\n\nImportantly, we did **not** assign extra points for things such as workbook aesthetics, formulas, number of worksheets, or general usability. Those characteristics were recorded separately as qualitative observations.\n\nWe also treated formatting and spacing differences differently from actual data errors. A changed space, for example, was not automatically counted as a substantive mistake.\n\nWith the methodology established, let's look at what happened when the first document—a scanned retail receipt—was put through all three tools.\n\nFor the first test, we used **[ICDAR 2019 SROIE](https://raw.githubusercontent.com/zzzDavid/ICDAR-2019-SROIE/master/data/img/004.jpg) Receipt #004**, a scanned MR D.I.Y. retail receipt.\n\nThis is the kind of document that looks straightforward at first glance. It contains only five product rows, but each row combines several different pieces of information: the product description, reference information, barcode, quantity, unit price, and line amount. That gave us **30 scored cells** in total.\n\nThe important detail here is that we weren't only checking whether the AI understood what the receipt was saying. We were checking whether it reproduced the source **exactly enough for the extracted spreadsheet to be trusted as data**.\n\nChatGPT correctly extracted **28 of the 30 scored cells**.\n\n*Two small transcription differences found in ChatGPT's receipt extraction.*\n\nThe two substantive errors were both in product descriptions:\n\nSource: `KILAT' AUTO ECO WASH & SHINE ES1000 1L`\n\nChatGPT: `KILAT AUTO ECO WASH & SHINE ES1000 1L`\n\nSource: `KLEENSO AJAIB 99 SERAI WANYI 900G`\n\nChatGPT: `KLEENSO AJAIB 99 SERAI WANGI 900G`\n\nIn the first case, the apostrophe was omitted. In the second, `Y` was extracted as `G`. Both were counted as substantive text errors.\n\n**Result: 28/30 → 9.33/10**\n\nGemini also correctly extracted **28 of 30 scored cells**.\n\n*Gemini omitted apostrophes in two product descriptions during the receipt extraction test.*\n\nIts two errors were:\n\nSource: `KILAT' AUTO ECO WASH & SHINE ES1000 1L`\n\nGemini: `KILAT AUTO ECO WASH & SHINE ES1000 1L`\n\nSource: `KILAT' ECO AUTO WASH &WAX EW-1000-1L`\n\nGemini: `KILAT ECO AUTO WASH &WAX EW-1000-1L`\n\nIn both cases, the apostrophe was omitted from the product description.\n\nClaude correctly extracted **all 30 scored cells**.\n\n*Claude's extracted Excel output for the scanned receipt.*\n\nNo substantive error remained in the final scoring record.\n\n**Result: 30/30 → 10/10**\n\nOne earlier difference—`KILAT' AUTO...` versus `KILAT'AUTO...`—was treated as a spacing difference rather than a substantive error, so it was not deducted from the score.\n\nThe receipt test produced a very high level of accuracy across all three tools. But it also demonstrates an important point about document extraction:\n\n**An error doesn't have to change a price or total to matter.**\n\nA single character can change a product name or code, even when all the important-looking numbers are correct.\n\nThat becomes even more important when the document contains financial figures, multiple columns, and specialized symbols—which is what we tested next.\n\nFor the second test, we moved from a small retail receipt to a much more structured document: the **[U.S. GAO Student Loan Insurance Fund](https://archive.org/details/ERIC_ED097832), Statement of Financial Condition**.\n\nThis test was useful because financial statements introduce a different problem. It's not enough to recognize the numbers. The extracted values need to remain associated with the correct financial categories, columns, and relationships.\n\nFor this test, we evaluated **32 substantive numerical values**. The score was calculated from those 32 values; structural and text observations were recorded separately.\n\nChatGPT correctly captured **30 of the 32 scored numerical values**.\n\n*Two missing loan values identified in ChatGPT's financial statement extraction.*\n\nThe two missing values were:\n\n**Loans receivable — insured:** `62,088,800`\n\n**Loans receivable — reinsured:** `40,169,486`\n\nBoth were treated as substantive missing-value errors and affected the score.\n\nThere was also a separate text-extraction issue: the source's `(note a)` was rendered as `(apts 3)`. That was a genuine text error, but it **wasn't included in the 32-number scoring denominator**.\n\n**Result: 30/32 → 9.38/10**\n\nGemini correctly captured **all 32 scored numerical values**.\n\n*Gemini's extracted Excel output for the scanned financial statement.*\n\nThat included the gross insured and reinsured loan amounts, allowances, net loans, accrued interest, total assets, liabilities, accumulated deficit, and final reconciliation.\n\n**Result: 32/32 → 10/10**\n\nClaude also had **two substantive errors**, but they were different from ChatGPT's.\n\n*Claude extracted an incorrect balance value, differing from the source by $20 million.*\n\nFirst, the source showed a balance of:\n\n`-258,274,249`\n\nClaude produced:\n\n`-238,274,249`\n\nThat's a **$20 million difference**. The audit classified this as a calculation/output error.\n\nSecond, Claude left the final **Total liabilities and investment** value blank. The source value was:\n\n`74,545,208`\n\nThis test exposes a different kind of risk from the receipt.\n\nWith a receipt, an OCR mistake might change a product name by one character. With a financial statement, an apparently small extraction or calculation problem can affect an important financial figure.\n\nIt also shows why **extraction accuracy and calculation correctness should not be treated as the same thing**. Claude's source inputs could be correct while its resulting balance was still wrong.\n\nAnd despite those errors, the overall extraction accuracy remained very high across all three tools.\n\nThe next test was considerably harder: a large historical table spread across **two scanned pages**, with hierarchical headers, decimals, and disclosure codes.\n\nFor the third test, we deliberately raised the difficulty.\n\nWe used **Table 2 from the [1982 U.S. Census of Manufactures](https://archive.org/details/1982censusofman8233unse/page/n5/mode/2up)**, titled *Industry Statistics for Selected States: 1982 and 1977*. Unlike the receipt and financial statement, this table spans two scanned pages and contains a much larger number of data points, multiple industries and states, hierarchical headings, decimal values, and disclosure codes such as `(D)`, `(NA)`, `EE`, and `CC`.\n\nThe final benchmark contained **76 data rows × 14 scored fields = 1,064 scored cells**. That larger denominator also makes the score more informative than the smaller first two tests: a handful of mistakes has a much smaller effect on the final score.\n\nChatGPT correctly extracted **1,061 of 1,064 scored cells**, leaving three confirmed substantive errors.\n\n*Three decimal errors found in ChatGPT's extraction of the Census table.*\n\nThe first was in Industry **3339**, New York:\n\nSource: `0.2`\n\nChatGPT: `2`\n\nThe second was in Industry **3341**, New York:\n\nSource: `6.4`\n\nChatGPT: `64.4`\n\nBoth were decimal errors.\n\nThe third was in Industry **3341**, Washington:\n\nSource: `11.1`\n\nChatGPT: `11.4`\n\nThis was classified as a wrong numerical value.\n\n**Result: 1,061/1,064 → 9.97/10**\n\nGemini correctly extracted **1,041 of 1,064 scored cells**, with **23 confirmed substantive errors**.\n\n*Examples of numerical differences found in Gemini's Census table extraction.*\n\nThe errors weren't limited to one type.\n\nSome were numerical differences, such as:\n\n`112.8` → `112.6`\n\n`94.8` → `94.6`\n\n`189.5` → `199.5`\n\n`28` → `26`\n\n`15.8` → `15.6`\n\n`249.8` → `249.6`\n\n`246.4` → `248.4`\n\nOthers involved disclosure or employment codes. For example:\n\n`EE` → `CC`\n\n`CC` → `(D)`\n\n`(D)` → `(NA)`\n\n`FF` → `EE`\n\nThese errors occurred across several industries and states, including Primary Copper, Primary Lead, Primary Aluminum, Primary Nonferrous Metals, and Secondary Nonferrous Metals.\n\n**Result: 1,041/1,064 → 9.78/10**\n\nClaude correctly extracted **1,060 of 1,064 scored cells**, with four confirmed substantive errors.\n\n*Examples of disclosure-code errors found in Claude's Census table extraction.*\n\nAll four occurred in **Industry 3334 — Primary Aluminum**.\n\nFor Oregon:\n\nSource: `(NA)` → Claude: `EE`\n\nSource: `(NA)` → Claude: `(D)`\n\nFor South Carolina:\n\nSource: `EE` → Claude: `(NA)`\n\nSource: `(D)` → Claude: `(NA)`\n\nThese were all classified as wrong code/symbol errors.\n\n**Result: 1,060/1,064 → 9.96/10**\n\nThis was the clearest demonstration that **high extraction accuracy doesn't necessarily mean every cell is safe to trust**.\n\nThe errors included both ordinary numerical mistakes and substitutions of symbols that have specific meanings in the source document. A value such as `0.2` becoming `2` is obvious once you compare it with the source. But a code such as `(D)`, `(NA)`, `EE`, or `CC` can be much easier to overlook in a large spreadsheet.\n\nIt's also worth noting how close the top two scores were: **9.97 for ChatGPT and 9.96 for Claude**. The difference came down to only three versus four incorrect cells out of 1,064.\n\nAcross all three tests, the results point to the same broader lesson: **AI can dramatically reduce the work involved in turning scanned tables into spreadsheets, but the final spreadsheet still needs to be checked against the source—especially when the data matters.**\n\nThe three tests produced high accuracy overall, but the mistakes were revealing. They weren't all the same type of OCR error, and several could easily be missed if you simply opened the resulting Excel file, saw a clean table, and assumed everything was correct.\n\nHere are the main failure patterns we actually observed in our benchmark.\n\nSometimes the AI simply left a source value out.\n\nIn the financial statement test, ChatGPT omitted:\n\n`62,088,800`\n\n`40,169,486`\n\nBoth were scored as substantive errors.\n\nThis is particularly important because a missing value can be harder to notice than an obviously corrupted one. A blank cell may look intentional unless you compare it with the original document.\n\nA misplaced decimal can completely change a number while still making the result look plausible.\n\nIn the Census test, for example:\n\n`0.2` became `2`\n\n`6.4` became `64.4`\n\nThese were two of ChatGPT's three confirmed errors.\n\nGemini also produced several smaller numerical changes, including `112.8` → `112.6` and `189.5` → `199.5`.\n\nThis is one reason **decimal-heavy tables deserve extra attention during verification**.\n\nNot every extraction error involves a number.\n\nIn the receipt test, ChatGPT changed:\n\n`WANYI` → `WANGI`\n\nwhile Gemini omitted apostrophes from two product descriptions.\n\nThese errors didn't affect the numerical totals, but they still meant the extracted spreadsheet did not exactly reproduce the source.\n\nLarge statistical tables often contain codes that aren't ordinary numbers.\n\nIn the Census test, Gemini produced multiple substitutions involving values such as:\n\n`EE`, `CC`, `(D)`, `(NA)`, and `FF`.\n\nFor example, one source value of `EE` became `CC`, while another source value of `(D)` became `(NA)`.\n\nThese are particularly easy to overlook because someone unfamiliar with the source may assume the codes are insignificant.\n\n**They aren't.** If the source uses a symbol or code, treat it as data unless you know what it means.\n\nThis is a different problem from OCR.\n\nIn the financial statement test, Claude produced:\n\n**Source:** `-258,274,249`**Claude:** `-238,274,249`\n\nThe audit classified this as a calculation/output error, with a **$20 million difference**.\n\nIt also left the final total of `274,545,208` blank.\n\nThis is why checking only whether the extracted text *looks right* isn't enough when the AI has also created formulas or calculations.\n\nA spreadsheet can contain the right values but still arrange them incorrectly.\n\nOur scoring system deliberately did **not** assign separate points for workbook aesthetics, formulas, worksheet count, or structural elegance. Those were evaluated qualitatively. A structural problem affected the numerical score only when it resulted in a wrong or missing scored cell.\n\nThat distinction matters because a workbook can be technically populated while still requiring restructuring before it is useful.\n\nThe most important finding wasn't that one model made more mistakes than another.\n\nIt was that **AI extraction errors can be deceptively small**.\n\nA missing value, a misplaced decimal, one character in a product name, or a substituted disclosure code may be difficult to spot when you're looking at hundreds of spreadsheet cells.\n\nThat's why we don't recommend treating an AI-generated Excel file as the finished product.\n\n**Extract first. Verify second.**\n\nAnd that brings us to two other approaches we tested: **Excel's built-in Data from Picture feature and Docling.**\n\nIf you're already using Microsoft Excel, **Data from Picture** is an obvious alternative to AI chat tools. Instead of uploading the document to ChatGPT, Gemini, or Claude, you can use Excel's own image-to-data workflow.\n\nWe tested it on the same three benchmark documents to see how it handled the task.\n\nThe results were mixed.\n\nFor the receipt, Excel produced a workbook, but the extracted information was **fragmented across cells rather than reliably reconstructing the original product rows and columns**.\n\nThe output also showed **18 items requiring review**.\n\n*Excel Data from Picture produced fragmented output and flagged 18 items for review in our scanned receipt test.*\n\n*Excel Data from Picture flagged 18 items for review during the receipt extraction test.*\n\nHowever, those 18 review flags should not be interpreted as 18 confirmed extraction errors. They were uncertainty/review indicators, and we did not use them as a substitute for the cell-level scoring used in our AI benchmark.\n\nWe attempted the same workflow on the financial statement and Census table.\n\nIn both cases, the process returned:\n\n**“Something went wrong. We apologize for the inconvenience.”**\n\n*Excel Data from Picture returned an error during the scanned financial statement test.*\n\nWe repeated the tests, but the same issue remained.\n\nBecause these outputs did not give us a completed extraction to audit, we **did not assign Excel Data from Picture a score out of 10**. That would have required a comparable completed dataset and scoring basis.\n\nOur tests don't support a universal conclusion.\n\nWhat they do show is that **having a dedicated image-to-spreadsheet feature doesn't necessarily mean a difficult scanned table will be reconstructed correctly**.\n\nFor the simple receipt, Excel generated usable output but still required review and restructuring. For the two more complex documents, we couldn't obtain a completed result from the feature during our tests.\n\nThat's why we kept Excel Data from Picture as a supporting comparison rather than including it in our main model accuracy ranking.\n\nNext, we tried a very different approach: **Docling**, an open-source document-processing framework designed for developers working with documents and structured data.\n\nIf you want a more technical alternative to browser-based AI tools, **Docling** takes a different approach. It is an open-source document-processing framework that can extract content and table structures from documents, making it particularly interesting for developers building their own document-processing workflows.\n\nWe ran the same three benchmark documents through Docling's standard table-extraction workflow and inspected the resulting **HTML output**.\n\nThe results were useful—but they also showed why **document parsing and spreadsheet-ready table extraction aren't necessarily the same thing**.\n\nDocling extracted a substantial amount of text from the receipt, but it **did not reliably reconstruct the product table into usable rows and columns**.\n\n*Docling extracted substantial text from the scanned receipt, but did not reconstruct the product section as a usable table.*\n\nSeveral OCR mistakes were also visible. For example, product text such as `ES1000`, `EW-1000-1L`, and `WD40 277ml` contained character substitutions in the extracted output.\n\nThe result was therefore not suitable as a spreadsheet-ready reconstruction of the receipt.\n\nThis time, Docling detected a table, but the reconstruction was badly distorted.\n\n*Docling detected the financial statement table but produced a malformed row-and-column structure.*\n\nThe output essentially collapsed much of the financial information into a malformed one-row/two-column structure instead of preserving the original relationships between rows and columns. The extraction also contained OCR errors in dates, labels, and numerical values.\n\nThe command output itself reported that **34 of 60 PDF cells could not be matched to the detected row or column bands and were dropped from the table**.\n\nThe result was not suitable for directly turning the scanned statement into a reliable Excel table.\n\nThe Census document produced a more interesting result.\n\nDocling reconstructed a substantial amount of the table structure, including the large Table 2 section. However, the output still contained significant OCR and structural corruption, including fragmented headers and corrupted symbols and values.\n\nSo while this was the strongest structural reconstruction of the three Docling tests, it still wasn't reliable enough to treat as a spreadsheet-ready result without substantial manual checking.\n\nAcross these three scanned-image benchmarks, **Docling's standard workflow did not produce a reliable spreadsheet-ready reconstruction**.\n\nThat doesn't mean Docling cannot extract tables. It means that **in these particular tests**, its out-of-the-box workflow wasn't sufficient to turn the difficult scanned documents into dependable spreadsheet data.\n\nFor developers building custom document-processing pipelines, that distinction matters. But for someone whose immediate goal is simply:\n\n**“I have this scanned document—turn it into an editable Excel spreadsheet.”**\n\nour three tests suggest that you'll still need to inspect and validate the output rather than assuming the extraction is complete.\n\nA spreadsheet can look perfectly clean and still contain a few incorrect cells. That is why checking the **output against the source document** matters just as much as the extraction itself.\n\nBased on the errors we found across our three tests, here is the checklist we would use before treating an AI-generated Excel file as reliable.\n\n*A 9-point checklist for verifying an AI-generated Excel file before using the extracted data.*\n\nIf you're interested in how we approach testing AI systems more broadly, see our guide to **[testing AI agents](https://aisparkhub.com/how-to-test-ai-agents/)**.\n\nCompare the number of rows in Excel with the source table.\n\nIf the source contains 76 data rows, the extracted sheet should contain the same 76 rows. A missing row can be harder to notice than a visibly broken table.\n\n**Quick check:** compare the first and last row, then scan for missing sequence numbers or categories.\n\nScanned documents often use multi-level headers, grouped columns, and subheadings.\n\nMake sure the AI has not:\n\nshifted a subheading into the wrong column\n\ncombined separate headers\n\ndropped a header\n\nattached a value to the wrong category\n\nThis is particularly important for financial and statistical tables where the meaning of a number depends on its column heading.\n\nDon't just check whether every value is present. Check whether it is in the **right column**.\n\nA spreadsheet can contain all the original numbers while still being wrong if one column has shifted during extraction.\n\nPick a few rows and trace them from the original document into Excel from left to right.\n\nYou don't necessarily need to manually compare every cell in a large table.\n\nInstead, check samples from:\n\nthe beginning of the table\n\nthe middle\n\nthe end\n\nany page where the table continues\n\nAlso inspect rows that look unusual.\n\nThis can quickly reveal whether the extraction quality changes from one part of the document to another.\n\nIf the source contains totals, subtotals, balances, or other arithmetic relationships, recalculate them in Excel.\n\n**Total = Category A + Category B + Category C**\n\nIf the extracted values do not produce the source total, stop and investigate before using the workbook.\n\nThis matters because an AI can extract most of the underlying values correctly while still missing one number that changes the final calculation.\n\nPay special attention to:\n\nnegative values\n\nminus signs\n\nparentheses used for negative amounts\n\npositive/negative adjustments\n\ndeficit figures\n\nA single missing minus sign can completely change the meaning of a financial value.\n\nOur financial-statement test demonstrated why this matters: Claude extracted a value as **-238,274,249** when the source showed **-258,274,249**.\n\nA blank cell and a value of `0` are not necessarily the same thing.\n\nLikewise, disclosure codes such as `(D)`, `(NA)`, `EE`, or `CC` should not be casually converted into numbers or blanks.\n\nOur Census test found several errors involving these kinds of codes, including substitutions such as `EE` → `CC` and `CC` → `(D)`.\n\nFor multi-page tables, check where one page ends and the next begins.\n\nLook for:\n\nduplicated rows\n\nmissing rows\n\nrepeated headers treated as data\n\ncolumns becoming misaligned\n\na continued row being split incorrectly\n\nThis is one of the areas where a spreadsheet can look reasonable at first glance while the underlying structure is wrong.\n\nFinally, manually verify the cells that matter most to your task.\n\nFor a receipt, that could be:\n\nproduct names\n\nquantities\n\nprices\n\ntotal\n\nFor a financial statement:\n\nmajor asset/liability figures\n\ntotals\n\nbalances\n\nFor a statistical table:\n\nidentifiers\n\ncategory codes\n\npercentages\n\nunusually large or small values\n\n**The goal isn't to distrust every AI-generated spreadsheet. It's to know where a quick manual check can prevent a small extraction error from becoming a bigger business or analytical mistake.**\n\nA useful rule is:\n\n**The more important the data, the less you should rely on visual confidence alone.**\n\nIn our tests, all three AI systems produced spreadsheets with very high cell-level accuracy, but every system still produced at least some substantive errors across the benchmark.\n\nOur tests showed that ChatGPT, Gemini, and Claude can extract tables from scanned documents with high cell-level accuracy. However, the results also revealed an important distinction: a spreadsheet can be accurate enough to save you time without being accurate enough to use without checking.\n\nThe amount of verification you need depends on the document and what you plan to do with the extracted data.\n\n| Use case | Recommended approach | \n|---|---|\n| Personal notes or simple reference tables | Extract with AI and perform a quick visual check. | \n| Receipts, invoices, and expense records | Verify product descriptions, quantities, prices, and totals against the source. | \n| Large datasets for analysis | Check row counts, headers, column alignment, numerical outliers, and representative samples. | \n| Financial statements and business reports | Verify critical figures individually and recalculate totals before using the data. | \n| Regulatory, legal, or other high-stakes documents | Use AI to accelerate extraction, but require thorough human verification before relying on the workbook. | \n\nA simple table with clear borders and a few columns is easier to inspect than a multi-page statistical table with grouped headings and disclosure codes.\n\nAs complexity increases, pay more attention to table structure, page breaks, and whether every value is associated with the correct row and column.\n\nAn incorrect character in a personal reference sheet may be inconvenient. An incorrect financial figure or inventory quantity could affect a calculation or business decision.\n\nVerification should reflect the consequences of an error, not just how accurate the spreadsheet appears.\n\nThe strongest workflow combines AI extraction with checks that do not depend on the AI's own assessment.\n\nCompare important cells with the original document, recalculate totals in Excel, and investigate discrepancies rather than asking the same AI to simply confirm that its output is correct.\n\nUse AI to reduce manual data entry, not eliminate verification.\n\n*Our recommended workflow for using AI to extract data from PDFs and scanned documents: upload, extract, inspect, recalculate, compare, and then use the verified spreadsheet.*\n\nOur benchmark covered three scanned documents, not every document type or scanning condition. The results demonstrate what these tools achieved on our particular tests; they should not be treated as guaranteed accuracy rates for other PDFs.\n\nThe practical takeaway is simple: trust AI to help with extraction, but trust the spreadsheet only after you've verified it to the standard your task requires.\n\nYes. AI tools can extract tables from PDFs and create editable Excel workbooks. The results depend on the document type, table complexity, and whether the PDF contains selectable text or is a scanned image.\n\nOur tests specifically focused on **scanned tables**, where the AI had to interpret the visual document rather than simply copy an existing text layer.\n\nYes, but scanned PDFs require more verification than clean, text-based PDFs.\n\nBecause a scanned document is essentially an image, the extraction process can introduce errors such as incorrect characters, numbers, decimal places, codes, or column positions.\n\nThat is exactly what we found in our benchmark: all three AI tools produced highly accurate results overall, but each still made substantive errors in at least one test.\n\nA good prompt should tell the AI to preserve the **original table structure and values**, rather than simply asking it to “convert the PDF to Excel.”\n\nIt should specifically address rows, columns, headers, decimals, negative numbers, blank cells, codes, footnotes, and multi-page tables. It should also instruct the AI **not to guess unreadable information**.\n\nWe've included the complete copy-and-paste prompt earlier in this article.\n\nYes. In our test, ChatGPT successfully created Excel workbooks from all three scanned documents.\n\nIts cell-level scores were **9.33/10 for the receipt, 9.38/10 for the financial statement, and 9.97/10 for the Census table**. These scores describe our specific benchmark and should not be interpreted as a guaranteed accuracy rate for every PDF.\n\nAI can turn a scanned PDF or image into an editable Excel workbook surprisingly well—but **“looks correct” is not the same as “is correct.”**\n\nAcross our three tests, ChatGPT, Gemini, and Claude all produced high cell-level accuracy, with scores ranging from **9.33/10 to 10/10** depending on the document. But every tool also produced at least some substantive errors across the benchmark.\n\nThe errors weren't always obvious. We found:\n\nmissing values\n\nincorrect numbers\n\ndecimal-place mistakes\n\ncharacter substitutions\n\nchanged statistical codes\n\nstructural issues that could affect how data is interpreted\n\nThat leads to a simple workflow worth remembering:\n\n**Upload → Extract → Inspect → Recalculate → Compare → Use**\n\nUse the AI to remove the tedious manual data-entry work. Then use the original document to verify the parts that matter.\n\nIf you're converting a receipt, financial statement, statistical table, or another scanned document today, you can start with the **copy-and-paste prompt in this guide** and then run the resulting workbook through the **9-point verification checklist**.\n\nThat's the practical middle ground: **AI can do the extraction, but verification is what makes the spreadsheet trustworthy.**", "url": "https://wpnews.pro/news/ai-pdf-to-excel-we-tested-chatgpt-gemini-and-claude-on-scanned-tables", "canonical_source": "https://dev.to/muthamizh_chelvan/ai-pdf-to-excel-we-tested-chatgpt-gemini-and-claude-on-scanned-tables-2g4h", "published_at": "2026-10-28 13:32:01+00:00", "updated_at": "2026-10-28 13:41:29.469451+00:00", "lang": "en", "topics": ["ai-products", "large-language-models", "ai-tools"], "entities": ["ChatGPT", "Gemini", "Claude", "AISparkHub", "U.S. Census Bureau", "OpenAI", "Google", "Anthropic"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/ai-pdf-to-excel-we-tested-chatgpt-gemini-and-claude-on-scanned-tables", "markdown": "https://wpnews.pro/news/ai-pdf-to-excel-we-tested-chatgpt-gemini-and-claude-on-scanned-tables.md", "text": "https://wpnews.pro/news/ai-pdf-to-excel-we-tested-chatgpt-gemini-and-claude-on-scanned-tables.txt", "jsonld": "https://wpnews.pro/news/ai-pdf-to-excel-we-tested-chatgpt-gemini-and-claude-on-scanned-tables.jsonld"}}