Apple Health's built-in Export All Health Data creates an XML archive. For a spreadsheet workflow, Health.md reads authorized data on your iPhone and writes CSV files that Excel can import. This guide uses those daily files; it does not convert an existing Apple XML archive or export an Excel workbook directly.

Get Health.md for iPhone

Health.md includes 5 free export actions, followed by a single lifetime unlock. You need desktop Excel for the import steps below. A Mac is not required to create the export on your iPhone.

1. Export one day before a longer range

  1. Install Health.md on the iPhone with your Apple Health data and authorize the metrics you need.
  2. Choose CSV and Summary for a compact daily view. Select Steps for this exercise, or Sleep if you want a sleep chart.
  3. Set the date format to YYYY-MM-DD for the date formula below. Preview a known day and save it to a writable folder in Files.
  4. Transfer the CSV to your computer using your chosen file destination or transfer method. For setup details, follow your first iPhone export.

A longer range produces one CSV file per day, not a combined workbook. Keep daily files separate from weekly or monthly rollups and from older copies of the same exports. Detailed Time-Series adds selected samples and intervals; do not add those readings to daily summary totals.

2. Import CSV into Excel without changing the raw values

Try the synthetic daily CSV sample first. It contains fictional measurements and metadata generated by the exporter. Save the downloaded file to your computer, then:

  1. In desktop Excel, start a blank workbook and choose Data → Get Data → From Text/CSV. Some Windows versions show From Text/CSV directly on Data. In Microsoft 365 for Mac, use Data → Get Data (Power Query) and the Text/CSV source.
  2. Choose the file. In the preview, set the delimiter to Comma and the file origin to UTF-8. Turn off automatic data type detection so all columns initially remain text.
  3. Choose Transform Data. Confirm the first row is used as headers, with these six columns in order: Date,Category,Metric,Value,Unit,Timestamp. If an automatic Changed Type step has already been added, remove it before loading.
  4. Keep the raw columns as text and load the query to a worksheet named Raw data. Save the workbook as .xlsx so you retain worksheets and formulas when you save your work.

Microsoft documents the Text/CSV import settings and Power Query availability by Excel version. Labels and available connectors vary by version; this walkthrough uses desktop Excel rather than the browser or iPhone app.

The Value column is mixed-type. Metadata, capture status, times, booleans, identifiers, and quoted JSON can appear alongside numbers. Do not convert the whole column to Number. Some summary rows omit the final Timestamp field; a CSV reader should leave that cell empty while keeping the other five columns aligned. Preserve quoted commas and newlines; do not split the file manually on commas.

3. Make a steps table from the matching rows

  1. Filter Raw data to Category = Activity, Metric = Steps, and Unit = count.
  2. Copy only the visible matching data rows, with all six columns and one header row, into a new worksheet called Steps. Do not copy hidden rows. Clear the raw sheet's filters when finished.
  3. Check that there is at most one daily total per Date. If the same date appears twice, investigate overlapping exports and keep the intended copy before continuing. Summing both would count the day twice.
  4. Add column G named Numeric value. In G2 enter the following and fill it down through the copied rows:
=IF(D2="","",NUMBERVALUE(D2,".",","))

This preserves an empty source cell instead of turning it into zero. The explicit decimal separator matches the export's numeric text. Conversion errors need inspection; do not replace them with zero. Microsoft explains NUMBERVALUE and its separator arguments. These formulas use English function names and comma argument separators; localized Excel installations may require localized names or semicolons.

Add column H named Calendar date. Because the raw Date column was imported as text in the specified YYYY-MM-DD format, use:

=DATE(LEFT(A2,4),MID(A2,6,2),RIGHT(A2,2))

Fill down and format H as Date. Check each result against the original Date column. If your files use another date format, re-export with YYYY-MM-DD or adapt the conversion before continuing. Add column I named Week starting:

=H2-WEEKDAY(H2,2)+1

Fill down and format I as Date. Each week label is its Monday. See Microsoft's date function reference for DATE and WEEKDAY.

With the synthetic sample, the Steps filter leaves one daily row: 2026-03-15, 12500 steps. Its Monday is 2026-03-09. One sample day verifies the setup; use multiple real dates for a meaningful trend.

4. Combine days, then build a weekly PivotTable

For a small range on either desktop platform, import each additional daily CSV into a temporary worksheet using the same text settings. Append its data rows to Raw data, keeping the six columns in order and only one header. Check for duplicate dates in the selected metric, then rebuild the Steps copy and fill the helper formulas through all dates.

For larger ranges in Excel for Windows, use Data → Get Data → From File → From Folder on a dedicated folder of daily CSV files. Filter the file list to the intended CSVs, then choose Combine & Transform Data. Inspect the generated sample-file transformation: promote the header once per file, preserve text types, and remove automatic type conversion before combining. Check the combined output for repeated headers and duplicate daily totals. Microsoft's folder import guide covers the connector. Keep the workbook itself and unrelated exports outside the source folder.

Microsoft's Mac connector table lists local-folder refresh but not local-folder import. Use the individual-file method above on Mac rather than assuming the Windows From Folder menu is available.

Once the Steps worksheet contains all intended dates:

  1. Select its populated range, including the helper columns and headers, and choose Insert → Table. Confirm the table has headers.
  2. With that table selected, choose Insert → PivotTable and place it on a new worksheet.
  3. Put Week starting in Rows and Numeric value in Values. In the value field settings, choose Average for average daily steps over recorded days, or Sum for recorded weekly totals. If Excel shows Count, check the numeric conversion and select the intended summary function. See Microsoft's PivotTable aggregation reference.
  4. To chart daily steps, select Calendar date and Numeric value from the Steps table and insert a line chart. Sort the rows by Calendar date first and label the value axis Steps.

A day absent from the export is missing data, not a zero-step day. A weekly average covers only the available numeric daily values; it does not establish a complete seven-day record.

When new files arrive, refresh the import query (or append the newly imported rows), rebuild the filtered Steps copy, extend its table and helper formulas, then refresh the PivotTable. Refreshing a raw query alone does not update a manually copied analysis sheet.

Use sleep instead of steps

Repeat the filtered-copy workflow with Category = Sleep, Metric = Total Duration, and Unit = seconds. After numeric conversion, add an Hours column with =IF(G2="","",G2/3600) and chart that column against Calendar date. The synthetic sample's 27900.0 seconds = 7.75 hours.

A sleep session belongs to the local date it started. For a night beginning Monday and ending Tuesday, select Monday. Stage rows are not extra daily totals. Follow the Apple Health sleep export guide for date selection, stages, and missing nights.

Fix common import problems

Where the files are stored

The core folder workflow needs no Health.md account. Health.md reads authorized data on the device and saves it to the folder you select, with no Health.md server copy by default. A synced folder, a workbook saved to OneDrive, or a file uploaded to Excel for the web follows that provider's storage and privacy rules.

The separate optional single-owner Health.md Cloud pilot retains only API exports intentionally uploaded to it. It has no public signup and no automatic device sync. This folder-to-Excel workflow does not upload files to that pilot. See retention and destination boundaries.

For the file contract and other spreadsheet apps, return to Apple Health to CSV. For Apple's native XML archive and other export methods, see how to export Apple Health data.