Back to Integrations
SheetXAI logo
GraphHopper logo
GraphHopper · Excel Integration

How to Connect GraphHopper to Excel (4 Methods Compared)

The Problem With Getting Sheet Data In and Out of GraphHopper

You have an Excel workbook full of delivery stops, depot coordinates, or field-service locations. GraphHopper can do something valuable with that data — optimize routes, compute driving distances, generate isochrones, geocode address lists. But the distance between "data in Excel" and "GraphHopper API result in Excel" is a developer problem, not a spreadsheet problem.

GraphHopper is built for spatial computation. But its output is JSON, and Excel doesn't speak JSON natively. The default path for anyone who isn't writing API calls is to describe the need to an engineer, wait, and paste the results back in by hand.

Below are the four approaches teams reach for. The first three all have a ceiling.

Method 1: Manual Copy-Paste

The starting point for most people. Export addresses as a CSV, run them through GraphHopper's API playground or a REST client, copy the results out of the response, and paste them back into the workbook.

For five addresses, you're done in fifteen minutes.

But logistics coordinators don't work with five addresses. They have 50 or 80 stops per run, multiple vehicle profiles, and a route that changes every day. Each manual pass means opening the API explorer, reformatting the address list, re-running the call, and extracting the right values from a nested JSON structure into the right cells. The third time someone renames a column in the sheet, the whole paste ritual breaks and nobody realizes it until the routes look wrong.

Method 2: Power Automate

Microsoft's Power Automate has HTTP action support, which means you can, in principle, build a flow that reads from an Excel worksheet, calls the GraphHopper API, and writes results back.

Before the setup details: do you know what an HTTP action is? What it means to parse a JSON response with a dynamic expression? What a bearer token header looks like? If those feel like a foreign language, this isn't your fastest path. Skip to Method 3 or 4.

If you're still here, the pieces are real. You build a flow triggered by a new row or a schedule, configure the HTTP action to call the GraphHopper endpoint, set your authentication header, parse the response body, and map output fields back to cells.

The structural ceiling is that Power Automate is row-level.

GraphHopper's Matrix API returns a full N×N grid in a single call. There's no clean model for that inside a row-by-row flow — you'd be firing one API call per row and assembling the grid yourself in the flow logic. That's fragile, slow, and expensive at volume.

You probably just need the optimized route for tomorrow's run. You probably haven't built a Power Automate HTTP flow before. So you paste the requirement into a ticket, it lands in a backlog, and you're still manually ordering the stops at 6 AM because the flow isn't done yet.

Method 3: The Previous Generation — Connector Add-Ons

Until recently, the best option for repeatable workbook ↔ mapping-API workflows was a category of add-ins that let you configure an API call against a named range. You specified the address column, tagged the output cells, saved the setup, and clicked Run.

That was a meaningful step above doing it all by hand. Configurations were reusable, output was consistent, and a non-developer could run a refresh without touching any code.

But every field still had to be mapped manually upfront, authentication had to be maintained, and conditional logic — skip rows where the address is blank, only include stops in Zone 3 — was your responsibility to build. The add-in executed the call; the operator still carried all the cognitive weight of configuring it. And the moment the worksheet structure changed, the saved config silently broke.

This is the previous generation. It worked, but it asked a lot of the operator.

The Easy Way: Using SheetXAI in Excel

There is a different approach entirely. SheetXAI is an AI agent that lives inside your Excel workbook. It reads the workbook, understands the layout of what you're looking at, and through its built-in GraphHopper integration it can call routing, geocoding, matrix, or optimization endpoints on your behalf. No field mapping, no flow configuration, no JSON parsing. You just describe the task.

Example 1: Optimize a delivery route before the driver leaves

Take the 18 delivery addresses in column A and use GraphHopper VRP to find the optimal driving order — write the ranked stop list back to column B

SheetXAI reads the address list, calls the GraphHopper Route Optimization API, and writes the ordered sequence back into column B — ranked from first stop to last.

Example 2: Geocode a workbook full of customer addresses

Geocode every address in column A using GraphHopper and write the latitude into column B and longitude into column C — process all rows

The pattern: instead of running addresses through a geocoder one by one and pasting results back, you describe the input, the computation, and the output destination in one prompt. SheetXAI handles the entire pass.

Try It

Get the 7-day free trial of SheetXAI and open any Excel workbook with delivery addresses, store locations, or customer coordinates, then ask it to run a route, build a matrix, or geocode the list. The GraphHopper integration is included in every SheetXAI plan.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more