John Geldart logoJohn Geldart
Back to Blog
#qlik#chrome-extension#javascript#opensource#sysadmin

Building QMC Exporter for Qlik Sense Admin Work

Why I built an open source Chrome extension to export Qlik Sense Management Console tables as CSV, JSON, or XML.

As a sysadmin working across multiple Qlik environments, I kept running into the same annoyance: there was no clean way to export data from tables in the Qlik Sense Management Console (QMC).

That sounds minor until you live in the QMC every day. Those tables are often exactly what you need for follow-up reporting, environment review, cleanup work, or one-off analysis. Users, tasks, apps, reload history, streams, licenses, connections, whatever the job happens to be. The data is sitting there in the UI, but once you want to take it elsewhere, you hit a wall.

There are other ways to get similar data, and many of them involve going directly to the Qlik APIs. That works, but it is not always what I want. In practice, I often prefer shaping the data inside the QMC first by filtering, sorting, and navigating to the exact table view I need. Once I have the table on screen in the form I care about, I want to export that result directly instead of rebuilding the same view through an API workflow.

That is why I built QMC Exporter.

You can install it from the Chrome Web Store and review the source on GitHub.

Why This Exists

This project started as a utility for me and my teammates. We needed a faster way to get operational data out of the QMC and into formats we could reuse later.

The missing piece was not access to data in a theoretical sense. Qlik already exposes plenty of information if you are willing to script against APIs. The missing piece was convenience at the point of use. I wanted the workflow to look like this:

  1. Open the QMC.
  2. Navigate to the exact table I care about.
  3. Apply whatever filters or sorting make sense in the UI.
  4. Export the visible dataset.

That is a much better fit for day-to-day admin work than stopping to write or adjust an API script every time I need a snapshot from the console.

What It Does

QMC Exporter is a Chrome extension that detects tables in the Qlik Sense Management Console and lets you download them as:

  1. CSV
  2. JSON
  3. XML

The goal is simple: take the table you are already looking at and make it portable.

That makes it useful for ad hoc reporting, handing data to other teams, keeping records outside the platform, or doing quick comparison work in whatever tooling you already use.

How It Works

The interesting part of this build was not the export formats. CSV, JSON, and XML are straightforward. The harder part was reliably extracting structured data from the QMC itself.

The QMC does not present every table in a clean, simple HTML structure. One of the main problems I had to handle was the split between header and body markup. If you have worked with enterprise web apps long enough, you know the pattern: what looks like one table in the UI is often stitched together from multiple DOM structures.

So the extension works by scraping the DOM and reconciling those pieces back into a single dataset:

  1. It detects when you are on a QMC page.
  2. It scans the page for supported table/grid structures.
  3. It maps headers and rows back together, even when they are rendered separately.
  4. It normalizes the extracted values.
  5. It exports the result in the format you choose.

That split table/header design was one of the core implementation challenges, and it is really the heart of the extension. Without solving that part cleanly, the rest of the tool is not very useful.

The Less Obvious Problem

One issue I ran into had nothing to do with export logic and everything to do with site detection.

Chrome extension URL matching sounds simple until you apply it to real Qlik environments. QMC URLs are not always consistent. Depending on how an environment is configured, you might have virtual proxy prefixes, no prefix at all, and variations between deployments that make overly strict URL filtering break quickly.

That meant I had to be careful about how the extension identifies QMC pages and when it should activate. Too narrow, and it misses valid environments. Too loose, and it risks behaving in places it should ignore.

That compatibility work was a meaningful part of making the extension practical instead of just technically functional on one environment.

Why I Open Sourced It

This site is effectively an extended resume, so part of the reason is simple: I like building useful things, and I want that work to be visible.

But there is also a practical reason to open source a tool like this. If other Qlik admins use it, they should be able to inspect what it does, raise issues, suggest improvements, and contribute fixes. Utility tools get better when the people who rely on them can help shape them.

I would also like to extend the idea further over time, especially toward Qlik Cloud support in the future.

Closing Thoughts

QMC Exporter came from a very normal admin problem: I had data in front of me and no convenient way to take it with me.

Building around the QMC UI instead of jumping straight to the API made the workflow much more practical for the kind of work my team and I actually do. If you live in Qlik environments and have ever wanted to export what the console is already showing you, that was exactly the gap I was trying to close.

Install it from the Chrome Web Store or inspect the code on GitHub.