ExcelTool.io

Sample Excel Files & Practice Datasets

Free workbooks with realistic US business data - sales orders, an employee roster, a product inventory - for practicing pivot tables, VLOOKUP and charts, plus test files for converters and protection tools. Every file is generated by a committed script, checked by automated tests, and published with its checksum.

Practice datasets

Clean, consistent data with US dates (M/D/YYYY) and dollar amounts. Each workbook has an About sheet with its source and license, so a copy you hand out still says where it came from.

Sales orders

250 rows × 11 columns

250 office-supply orders placed during 2025 across four US regions, with sales reps, customer segments, products and a live Revenue formula. Dates are M/D/YYYY and amounts in US dollars.

Good for practicing

  • Pivot tables: revenue by region, month or rep
  • SUMIFS and COUNTIFS with two or more criteria
  • Column and line charts
  • Sorting, filtering and splitting by region
Column list

Order ID · Order Date · Region · State · Sales Rep · Segment · Category · Product · Units · Unit Price · Revenue

Try it in: Pivot Builder · Chart Maker · SUMIFS · Split by Column

Employee roster

60 rows × 10 columns

60 employees across seven departments with titles, offices, hire dates and salaries, plus a Departments sheet to look values up in. Like a real HR export it carries author, company and custom document properties.

Also inside: Departments sheet: 7 rows x 6 columns, with a COUNTIF headcount.

Good for practicing

  • VLOOKUP, XLOOKUP and INDEX/MATCH across two sheets
  • AVERAGEIFS and COUNTIFS by department
  • Date math: tenure from Hire Date
  • Conditional formatting and data validation

Download

Column list

Employee ID · First Name · Last Name · Email · Department · Job Title · Office · Hire Date · Annual Salary · Status

Try it in: VLOOKUP · XLOOKUP · INDEX MATCH · Data Profiler

Product inventory

40 rows × 10 columns

40 products from five suppliers stocked in three US warehouses, with costs, prices and restock dates. About one item in five is below its reorder point. Also published as Apple Numbers, XML, JSON and a fixed-width text report.

Good for practicing

  • IF and conditional formatting to flag low stock
  • VLOOKUP or XLOOKUP by SKU
  • Margin formulas: Unit Price minus Unit Cost
  • SUMIF by supplier or warehouse
Column list

SKU · Product · Category · Supplier · Warehouse · Qty On Hand · Reorder Point · Unit Cost · Unit Price · Last Restocked

Try it in: IF Formula · Excel to JSON · XML to Excel · Numbers to Excel

Monthly sales by region

4 rows × 13 columns

Revenue for four regions across the twelve months of 2025, in wide layout. The figures are summed from the sales orders, so a pivot of that file reproduces this table.

Good for practicing

  • Line and clustered column charts
  • TRANSPOSE and unpivoting wide data
  • Sparklines and month-over-month growth

Download

Column list

Region · Jan 2025 · Feb 2025 · Mar 2025 · Apr 2025 · May 2025 · Jun 2025 · Jul 2025 · Aug 2025 · Sep 2025 · Oct 2025 · Nov 2025 · Dec 2025

Try it in: Chart Maker · Unpivot · Transpose

Business contacts

24 rows × 10 columns

24 contacts at 12 invented companies with separate first and last names, phones (555-01xx numbers reserved for fiction), full street addresses and free-text notes.

Good for practicing

  • Text functions: CONCAT, TEXTSPLIT, LEFT, MID, FIND
  • Flash Fill and Text to Columns
  • Pulling emails out of free text

Download

Column list

First Name · Last Name · Company · Job Title · Email · Mobile Phone · Work Phone · Address · Website · Notes

Try it in: Text to Columns · Combine Columns · Excel to vCard · Data Extractor

Event schedule

12 rows × 7 columns

12 company events from November 2026 to January 2027: timed meetings, a two-day offsite and all-day US holidays, stored as real Excel dates and times.

Good for practicing

  • Date and time arithmetic
  • NETWORKDAYS and WORKDAY around holidays
  • Exporting a calendar (.ics)

Download

Column list

Event · Start Date · Start Time · End Date · End Time · Location · Description

Try it in: NETWORKDAYS · Date Difference · Excel to ICS

Two customer lists

30 rows × 2 columns

A CRM list of 30 customers next to a billing list of 28 that mostly overlap. One billing name has a trailing space and one differs only in capitalization.

Good for practicing

  • Comparing two columns with COUNTIF or MATCH
  • Conditional formatting for duplicates and uniques
  • TRIM and EXACT for near-matches

Download

Column list

CRM Customers · Billing Customers

Try it in: Compare Columns · COUNTIF

Monthly budget

8 rows × 4 columns

A two-sheet household budget: seven categories with budget, actual and variance formulas, and a month of transactions behind them.

Also inside: Transactions sheet: 15 rows x 4 columns.

Good for practicing

  • SUM and simple variance formulas
  • SUMIF from the transactions
  • Budget-vs-actual charts

Download

Column list

Category · Budget · Actual · Variance

Try it in: SUMIF · Excel Viewer · Compare

Messy contact list

11 rows × 4 columns

A short list with exact and case-variant duplicates, stray spaces, inconsistent capitalization and blank rows: the classic clean-up exercise.

Good for practicing

  • TRIM, PROPER and LOWER
  • Remove Duplicates
  • Filtering out blank rows

Download

Column list

Name · Email · City · Signup Date

Try it in: Data Cleaner · Remove Duplicates · TRIM

Numbers stored as text

16 rows × 8 columns

15 invoices exported with every amount, quantity and percentage stored as text, so the SUM totals come out as zero. ZIP codes with leading zeros are text on purpose.

Good for practicing

  • VALUE and NUMBERVALUE
  • Excel's error checking (green triangles)
  • Why SUM returns 0

Download

Column list

Invoice # · Customer · Invoice Date · Amount · Qty · Discount · Balance Due · ZIP Code

Try it in: Text to Number

Files for testing converters and tools

Each one was built for a specific job; the link opens the tool with the same file one click away under “Try a sample”.

product-price-list.pdfPDF with a price table · 4.3 KBDownload

A one-page US Letter PDF with a real text layer: title, subtitle and a 20-row price table (SKU, Product, Category, In Stock, Unit Price).

Try it in PDF to Excel →

bank-statement-sample.pdfChecking account statement (PDF) · 4.4 KBDownload

A one-page US checking account statement from a fictional bank: MM/DD/YYYY dates, Withdrawals and Deposits columns, a running balance, and beginning/ending balance lines.

Try it in Statement to Excel →

checking-account.ofxOFX bank download · 2.5 KBDownload

An OFX 1.0.2 (SGML) bank download for a checking account in USD with 14 transactions and a ledger balance - the 'Quicken / Money' export.

Try it in OFX to Excel →

product-price-list.docxWord document with a table · 2.1 KBDownload

A Word document with a heading, a 21-row bordered table and a closing paragraph.

Try it in Word to Excel →

sales-table.pngScreenshot of a table · 115.9 KBDownload

A screenshot of an 8-row sales table (Product, Region, Units, Revenue) with gridlines - the input for table OCR.

Try it in Image to Excel →

formatted-report.xlsxHeavily formatted report · 9.5 KBDownload

A styled Q3 report: merged title, custom fonts, filled header row, borders, a highlighted total column, red negative variances, a double-underlined total row and a frozen header.

Try it in Remove Formatting →

bloated-workbook.xlsxBloated workbook · 176.8 KBDownload

120 real orders with fill and borders applied to 6,000 empty rows below them across columns A:N (the classic 'formatted whole columns' bloat), plus three cell notes. The used range reaches row 6,121.

Try it in Compress →

Viewer fidelity samples

merged-formats.xlsxXLSX · 17.6 KBDownload

Merged title/header ranges, a frozen top row, currency/percent/date number formats, and custom column widths - exercises exactly the metadata a data-view renderer keeps or drops.

/excel-viewer:
Merged ranges render as merged cells, columns keep their relative widths, and formatted numbers display as $1,234.00 / 34.2% / 2026-07-17.
/excel-to-html:
Merged ranges become colspan/rowspan in the exported table.
sha256: 46957c53c7ffd97c…
hidden-frozen.xlsxXLSX · 18.2 KBDownload

Two hidden columns and one hidden row, a frozen header row and frozen label column, custom row heights, and currency formats. The hidden columns are why the visible quarters do not add up to the printed total - the case that separates a viewer reporting what Excel stores from one quietly dropping it.

/excel-viewer:
Header row and first column stay in place while the grid scrolls; hidden rows and columns are marked as hidden in Excel rather than dropped, and the count is stated above the grid.
/excel-editor:
Opens with the frozen panes, row heights, and hidden rows/columns intact, and downloading returns a workbook that still has them.
sha256: c24b5041501e932b…

Compare & cleanup samples

sample-budget-v2.xlsxXLSX · 21.0 KBDownload

An edited copy of sample-budget.xlsx: changed amounts on both sheets, one renamed description, and one added transaction. Pairs with the original for diff/compare demos.

/excel-compare:
Against sample-budget.xlsx it reports the changed cells on Summary and Transactions plus the added Pharmacy row.
sha256: 509cde9db4b98b81…
messy-data.xlsxXLSX · 17.6 KBDownload

A contact list with exact duplicates, case-variant duplicates, stray whitespace, inconsistent casing, and blank rows - the classic cleanup workload.

/excel-data-cleaner:
Trim, case normalization, and blank-row removal produce a clean list.
/remove-duplicates-excel:
Dedupe on Email with trim and case-insensitive matching removes the duplicate rows.
sha256: 8999fead17b1d52c…

Protection fixtures

Both fixtures use the intentionally public password excel123 so protection can be applied, verified, and removed in tests. Sheet and workbook protection are editing locks with a legacy 16-bit hash - not encryption - which is why they can be removed without the password.

protected-sample.xlsxXLSX · 21.1 KB · password: excel123Download

Worksheet protection (<sheetProtection> with the legacy 16-bit password hash) on both sheets. The cells are locked against editing but the data is fully readable.

/excel-password-remover:
Reports both sheets as protected and returns an unlocked copy without needing the password.
/excel-viewer:
Opens normally - sheet protection restricts editing, not reading.
sha256: 6bf92bfbac28c5ce…
workbook-protected.xlsxXLSX · 20.9 KB · password: excel123Download

Workbook structure protection (<workbookProtection lockStructure="1">). Sheets cannot be added, deleted, renamed, moved, or unhidden in Excel until it is removed.

/excel-password-remover:
Detects workbook protection and returns a copy with the structure unlocked.
/excel-viewer:
Opens normally - structure protection does not restrict reading.
sha256: 75d43470c00305a9…

Macro-extension fixture

macro-extension.xlsmXLSM · 20.8 KBDownload

A .xlsm package with NO VBA project inside: the macro-enabled extension and content type without any macro code. Shows that the extension alone doesn't mean a file contains macros - and is safe to hand to any macro-handling tool.

/xlsm-viewer:
Opens like any workbook; there are no macros to (not) run.
/excel-macro-remover:
Reports no VBA project to remove.
sha256: 6f217a93840f139f…

Why there is no encrypted sample file

Excel has three unrelated locking mechanisms, and only two of them appear in this lab:

  • Worksheet protection (<sheetProtection>) locks cells within a sheet against editing. The password is stored as a legacy 16-bit hash in the sheet XML.
  • Workbook structure protection (<workbookProtection>) stops sheets being added, deleted, renamed, moved, or unhidden. Same hash scheme, stored in xl/workbook.xml.
  • File-open encryption (“Encrypt with Password”) is real cryptography: the entire package is encrypted with AES per Microsoft's MS-OFFCRYPTO Agile Encryption specification. Without the password the content is unrecoverable.

An encrypted fixture with a published password would demonstrate nothing that the protection fixtures don't already show, and one without a password would just be noise. If you need an encrypted test file, make one in seconds: open any fixture in desktop Excel and choose File → Info → Protect Workbook → Encrypt with Password.

How protection is stored in the file format

An .xlsx or .xlsm file is a ZIP package of XML parts defined by ECMA-376 (Office Open XML). Worksheet protection is a single self-closing element inside the worksheet part, and workbook protection is its sibling in the workbook part. You can see this yourself: rename a protected fixture to .zip, open xl/worksheets/sheet1.xml, and find the <sheetProtection> record. File-open encryption is different: it wraps the whole package in a CFB container per MS-OFFCRYPTO, so there is no readable XML until the file is decrypted. Microsoft's own protection and security guidance draws the same line: worksheet protection is not a security feature, encryption is.

Verifying downloads

The canonical checksums live in manifest.json alongside the files. After downloading, compare:

# macOS / Linux
shasum -a 256 sales-orders.xlsx

# Windows
CertUtil -hashfile sales-orders.xlsx SHA256

Frequently Asked Questions

Related Tools