Admin & Setup Lesson 8 of 63 ⏱ 9 min ▶ Video

Import Excel and CSV files

Lesson summary

Clean spreadsheet, one upload, app appears. Most of the work is data prep — the cleaner the file, the less you'll fix later.

By the end of this lesson

  • An app built from your spreadsheet
  • A refresh template you can re-upload to bring in new data

You'll need

  • Admin role in DashboardFox
  • A clean .xlsx file — one header row, data rows below, no merged cells or summary rows

Background

The Excel/CSV import path turns a spreadsheet into a DashboardFox app. You upload an .xlsx file (or a CSV); DashboardFox copies the data into its own internal storage, creates an app for you automatically, and you build reports on it like any other connected data source.

A few things worth knowing up front:

  • Excel is preferred over CSV. An Excel workbook can hold multiple worksheets — DashboardFox imports each one as a separate table. Excel also preserves data types (dates as dates, numbers as numbers), which CSV doesn't. If your data lives in a CSV, paste it into an Excel workbook before importing.
  • Sheet names and column headers flow into your app. If your sheet is called Sheet1, your table will be called Sheet1. Rename the sheet first.
  • The file you upload becomes your refresh template. Same file name, same sheet names, same column headers — that's how you'll re-upload to refresh the data later. The Update Excel data lesson covers refreshes.
  • This is the fastest path to a working app. If your data is in a database or a SaaS API, those usually pay off long-term. But for quick wins, prototypes, or genuinely file-based workflows, file imports are the fastest start.
New to file imports? The video at the top walks the full workflow — from prepping the spreadsheet to granting access on the auto-created app. About 9 minutes; reading the rest of this page after watching reinforces what you saw.

Stuck on prep or upload? Email [email protected] with what's not working. Real human, same business day.

Do it

  1. Open the import flow

    In DashboardFox, go to Settings → Integrations → Active Integrations → Create App. Pick Excel/CSV from the app type list.

    You'll get a form for the new app: friendly name, description, the file picker, and a "first row contains headers" toggle.

  2. Name the app and choose the file

    • App name — a friendly name your users will see in App Builder, Composer, and the Library. Examples: Q4 Financials, Customer Master. This is independent of your file name and you can change it later in Additional Settings.
    • Description (optional) — short note about what the data is and where it came from. Useful when the app shows up in someone else's app list.
    • File — pick your prepped .xlsx.
    • First row contains headers — leave on (matches your prep).

    Click Upload.

  3. Preview and adjust types

    DashboardFox shows a preview of each worksheet — the first ~100 rows of each tab. Click each column header to see the detected data type:

    • Date column should show datetime.
    • Number / currency column should show real number or integer.
    • Text column should show string.

    If anything looks wrong, you have two options. Cancel, fix the source spreadsheet, and re-upload — recommended for anything beyond a one-off correction. Or change the type inline here and continue. The inline change applies to this import only; if you cancel and start over, you'll redo it. Get it right in Excel once and you stop redoing it forever.

    If you have multiple worksheets in the workbook, the preview shows each as a separate tab — review every one before processing.

  4. Process the import

    Click Process. Even files with tens of thousands of rows finish in a few seconds — DashboardFox is loading them into local storage, not parsing on every query. When the green success appears, the app is created.

  5. Grant yourself access — the step that catches everyone

    Saving the app doesn't grant access to it — not even to you. Connecting and granting access are deliberately separate steps; that's what stops a new data source from being accidentally exposed before you've decided who should see it.

    Go to Settings → Security → Apps, find your new app, click Edit, and assign yourself the App Builder role. Click Save & Apply.

    Refresh the page; the app appears in App Builder, ready for the semantic-layer work in Module 3. To grant other users: Composer for people who'll build reports on this data, Agent for people who'll just run them. The Roles & permissions lesson covers the model in depth.

Make it real

The file you imported is now your refresh template

DashboardFox doesn't pull from your file — it copied the data on import. To update the data later, you re-upload the same workbook structure. That means three things stay locked: the file name (matters less, but consistency helps), the worksheet names, and the column headers. Change any of those after the first import and reports built on the original structure break.

Adding new columns is fine — they show up as new fields in App Builder, no breakage. The Update Excel data lesson goes deep on the rules and the strategic call between append vs replace updates.

Pick a permanent home for the template file

This file is now production. Move it out of Downloads. A shared-drive folder named after the app (e.g., /Reporting Templates/Q4 Financials/) is the cleanest pattern — single source of truth, anyone who can refresh knows where to find it. Bonus: keep a previous/ subfolder with the last 2-3 versions you uploaded, so you can roll back if a refresh goes wrong.

Plan multi-sheet workbooks deliberately

One workbook with multiple related sheets becomes one app with multiple tables — you can build joins between them in App Builder. That's powerful for related data (e.g., orders + customers + products in one workbook).

But: in update mode, append/replace is global to the workbook — you can't append rows to one sheet while replacing another. If your sheets refresh on different cadences (sales daily, customer list quarterly), they should be separate workbooks and separate apps, not one.

Naming conventions across teams

If multiple people in your organization import files, agree on a naming pattern early — even an informal one. Example: Department_Topic_Q4_2025.xlsx for the source file, with the app named Q4 2025 Sales Numbers. The first is for the file system; the second is what users see. Consistency makes "which app is this from?" answerable without DM threads.

Know when to graduate to a database

File imports are great for stable, slow-changing, or one-off datasets. But if you find yourself re-uploading every day, dealing with append-duplicate hassles, or maintaining a spreadsheet that's now 200,000 rows, the cost of curating the file starts to exceed the cost of moving the data into a database. The Data connectivity overview covers your options.

If you're stuck

The classic stumbles, in roughly the order they show up.

My title row is showing up as data

You left a title or descriptive row above the column headers. DashboardFox treats row 1 as headers; if row 1 is actually "Q4 2025 Financial Report" and the real headers are in row 2, every column gets named Q4 2025 Financial Report. Fix: open the source file, delete the title row(s), save, and re-upload from Settings → Integrations → Edit App → Update Data. Or fix it once in Excel and never have the problem again.

Dates are showing up as numbers (or as text)

Excel didn't have the column formatted as Date when you exported. Open the source workbook, select the column, Format Cells → Date, save, re-upload. This is the single most common prep miss — and the fix takes 30 seconds. Setting types correctly in Excel before the first import prevents this everywhere downstream.

My new app isn't showing in App Builder

Step 5 wasn't done — granting yourself the App Builder role. Settings → Security → Apps, edit the app, assign yourself App Builder, save. The app then appears. Creating an app and being granted access to it are deliberately separate steps; Roles & permissions covers why.

Only some of my worksheets came through

Worksheets with only a header row, or with no data, get skipped. Worksheets that don't follow the "row 1 = headers, row 2+ = data" structure may be skipped or imported with junk column names. Open the source workbook, confirm every sheet you wanted imported has data and a clean header row, fix and re-upload.

My import failed with an error about merged cells

Merged cells break the row-as-record assumption. Open the source, find the merged cells (Find & Select → Go To Special → Merged Cells in some Excel versions), unmerge them, fill the values down so each row is complete, save, re-upload.

None of these match my situation

Email [email protected] with the file (or a redacted version of it) and the error message. We'll trace it. Same business day.

7-day free trial — no credit card

Built lean. Priced fairly. Supported by humans.

Full access to all features. No credit card required.

Prefer no subscriptions & full control? Self-hosted from $4,995 one-time →

Click once to extend to 14 days — need more time? Just reach out.

25+ years building BI tools Support from the team that builds it Available in US & EU regions
DashboardFox mascot