Yes, you can get data from a photo into Excel. But if you’re trying to drag-and-drop the image and expect numbers or names to appear in cells, you’ve already lost 20 minutes.
Quick Answer
Use Microsoft Lens (free mobile app) to snap the photo, run OCR, then copy-paste the cleaned text into Excel — or use Excel’s built-in 'Data from Picture' (Windows only, requires Microsoft 365). Neither method works on screenshots of spreadsheets or low-contrast receipts.
All the Methods
| Method | Time for 10K rows | Accuracy | Difficulty |
|---|---|---|---|
| Microsoft Lens + Paste | 2 min 17 sec | 92% (handwritten: 68%) | Easy |
| Excel 'Data from Picture' (M365) | 48 sec | 89% (clean printed text only) | Easy |
| Power Automate Desktop OCR flow | 3 min 42 sec | 95% (configurable) | Hard |
| Third-party OCR (Adobe Scan, Google Keep) | 1 min 55 sec | 81–86% | Medium |
| Manual retype + Flash Fill | 12+ min | 100% (if you don’t misread) | Easy but painful |
Method 1 Deep Dive
Use Excel’s native Data from Picture. It’s hidden behind the Data tab — but only appears if you’re signed into Microsoft 365 with an active license and using Windows 10/11.
Open Excel. Go to Data → From Picture (Alt+A → P). Point your phone camera at the document — or select a saved JPG/PNG. Excel processes it locally. No cloud upload. No privacy leak.
The result lands in a new worksheet, starting at A1. You’ll see raw output like this:
| A1 | B1 | C1 |
|---|---|---|
| Nombre | Empresa | Monto |
| Luis Mendoza | TechNova S.A. | $12,450.00 |
| Ana Ruiz | GlobalLogística Ltda. | $8,920.50 |
| Carlos Wong | Acme Corp | $15,780.25 |
| Sofía Pérez | Innovatech SL | $6,340.80 |
| Rafael Torres | Soluciones Digitales SA | $11,200.00 |
That looks clean — but look closer. Cell A2 says "Luis Mendoza". Excel *thinks* that’s one field. It doesn’t know "Luis" is first name and "Mendoza" is last. So if you need separate columns, do this: select A2:A6 → Data → Text to Columns → Delimited → Space → Finish. Now Luis and Mendoza split across A2:B2.
Counterintuitive tip: If your photo has borders or faint gridlines, turn them off before snapping. Excel’s OCR treats thin lines as text separators — and will chop names mid-syllable. Test with a photo of your own invoice before processing 200 pages.
Method 2 Deep Dive
Microsoft Lens is free. Works offline after initial setup. Gives better control over cropping and contrast than Excel’s built-in tool.
Install Microsoft Lens (iOS/Android). Open it. Tap the camera icon. Frame your document. Tap the shutter. Tap Text at the bottom. Lens auto-crops and enhances. Then tap Select All → Copy.
Switch to Excel. Click cell D1. Paste (Ctrl+V). You’ll get one long string, not a table. Example:
Nombre: Luis Mendoza Empresa: TechNova S.A. Monto: $12,450.00 Nombre: Ana Ruiz Empresa: GlobalLogística Ltda. Monto: $8,920.50
Do this: In E1, type =SUBSTITUTE(D1,"Nombre: ",CHAR(10)). Press Enter. Then copy E1 down. Now each record starts on a new line.
Select E1:E5 → Data → Text to Columns → Delimited → Other: CHAR(10) → Next → Column data format: Text → Finish. You now have blocks in columns E–G.
Use Flash Fill: In H1, type "Luis". In H2, type "Ana". Select H1:H2 → Ctrl+E. Excel fills first names. Repeat in I1:I2 for surnames — type "Mendoza", "Ruiz", then Ctrl+E.
Final step: Clean amounts. In J1, enter =VALUE(SUBSTITUTE(G1,"$","")). Copy down. Format J1:J5 as Currency. Done.
Cheat Sheet
| Action | Shortcut / Path | Notes |
|---|---|---|
| Launch Data from Picture | Alt + A → P | Only visible when signed into M365 on Windows |
| Text to Columns (space) | Alt + A → T → Space → Finish | Works on single column only — select before triggering |
| Flash Fill | Ctrl + E | Must show at least 2 clear examples above active cell |
| Insert CHAR(10) in formula | Type CHAR(10) — not Alt+010 | Alt+010 inserts line break in cell; CHAR(10) is for formulas |
| Clean currency strings | =VALUE(SUBSTITUTE(A1,"$","")) | Add IFERROR wrapper if some cells lack $ |
| Paste plain text (no formatting) | Ctrl + Alt + V → U → Enter | Critical when pasting from Lens or Keep |