Skip to content
TablePage.ai Open the app

Build a Data Table Readers Can Explore

Turn a spreadsheet into a public data table with clear rows, consistent columns, documented missing values and a practical publication checklist.

Share X in f
Wei Hu

To publish a spreadsheet readers can explore, start by defining what one row represents. Then give each column a clear meaning, remove worksheet-only material and check the published result against the source.

A data table organizes information into rows and columns. For a reusable dataset, a useful starting structure is one observation per row, one variable per column and one value per cell—the tidy-data principles described in R for Data Science.

The result should let readers answer a concrete question, such as: “How many visits did each library branch record each month?”

Start with a sample structure

This fictional example records one library branch in one month per row:

branch_id branch_name month visits reporting_status
B01 Central 2026-08 1240 Reported
B02 Riverside 2026-08 0 Reported
B01 Central 2026-09 1315 Reported
B02 Riverside 2026-09 Not reported

Here, branch_id and month together identify an observation. Repeating a branch across months is expected; repeating the same branch-month combination would require investigation.

The zero means a confirmed count of no visits. The blank means the count was not reported, as explained by reporting_status. Those are different statements: replacing the blank with zero would change the meaning of the dataset.

Excel terminology note: Excel also has a specific Data Table feature for What-If Analysis. It calculates formula outcomes while varying one or two inputs. That is different from the general-purpose dataset table covered here.

Prepare a clean publication copy

Keep the original workbook and make a separate release copy containing only information approved for public access. Do not upload sensitive records, private notes or a workbook containing confidential sheets.

For the release table:

  • Use one header row. Give every column a distinct name. Move titles, source notes and explanations outside the data rows.
  • Repeat labels instead of merging cells. Every observation should carry its own branch, period and other necessary context.
  • Keep totals separate. A “Total” row mixed with branch observations could be counted again when someone sums the column.
  • Keep column meanings consistent. Put visit counts in visits, not a mixture of counts, percentages and comments. Store exceptions in a separate status or notes column.
  • Preserve identifiers. A code is a label, even when it contains only digits. Check that leading zeros and long codes survive export.

For this example, keep month consistently formatted as YYYY-MM, and document that it represents a calendar month rather than a timestamp. For more complicated temporal fields, use the guide to dates and time zones in public data tables.

Add the context readers need

Place a short description beside the table. For the fictional example:

Monthly library visits, August–September 2026 — demonstration data. Each row represents one branch in one calendar month. Visits are counts. Zero is a reported count; a blank means not reported. All branch names and values are fictional.

For real data, also identify the source, coverage period, publication or update date, relevant exclusions and reuse terms. Distinguish when the observations occurred from when you published the file.

A web-table caption helps readers identify its content; a summary can explain a complex table’s organization. W3C’s table guidance distinguishes those roles. See the practical guide to writing captions and summaries if you are preparing the surrounding page.

Publish, then check the result

As of October 3, 2026, TablePage accepts CSV, TSV, XLSX and XLS uploads and generates a public dataset page with a shareable link and a filterable table. Readers can explore the page without signing up.

Upload the reviewed release file, then open the generated page. Before sharing the link, compare the published table with your release copy:

  1. Confirm the column names and total observation count.
  2. Spot-check identifiers, periods, numeric values, zeros and blanks.
  3. Filter to a known subset—for example, Riverside in September—and confirm the expected record appears.
  4. If sorting is available, check that counts sort numerically rather than alphabetically.
  5. Open the link as a reader and verify that the source, definitions and missing-value explanation are easy to find.

For the four-row sample, the expected result is four observations—not a fifth total row—and an unreported September count that remains distinct from August’s confirmed zero.