Import & export

Bring data into sheets, then export CSV or Excel, or chart frequencies. Writing back to Zabbix is covered in Zabbix operations.

Menu paths below match the app: Data → Import → … and Data → Export → …. An empty sheet also exposes the same four import shortcuts as buttons.


Import from Zabbix

Data → Import → From Zabbix

Fetches via {resource}.get and loads the result into the active sheet (replacing its current data).

Field Description
Resource API resource from the dropdown (host, hostgroup, template, trigger, item, problem, event, … — any Zabbix object type the API exposes)
Request editor JSON params only (not a full JSON-RPC envelope)
Templates Save/load named requests (localStorage)
Preview Compiles the template; green = valid JSON/JS, red = error

Use the ? control next to the resource (where available) to open the matching Zabbix API docs.

Safety limit

If the params omit a numeric limit, ZbxWizz injects limit: 5 on every *.get. When the result length equals the applied limit, you get a warning so you know there may be more data. Set an explicit limit whenever you need a larger page.

Example requests

Five hosts with tags:

{"limit": 5, "selectTags": ["tag", "value"]}

Hosts in a host group:

{
  "groupids": ["YOUR_GROUP_ID"],
  "selectTags": ["tag", "value"],
  "selectInterfaces": ["interfaceid", "ip", "port", "type"],
  "limit": 100
}

Items for a host:

{
  "hostids": ["YOUR_HOST_ID"],
  "selectTags": ["tag", "value"],
  "limit": 100
}

See the Zabbix API reference for select* options and filters.

How imported data is stored

Location Contents
Table cells (flds / cols) Flat string values; nested objects JSON-stringified
data.csv Original API object for that row (immutable sidecar for transforms)
data.{label} Results attached later by Pull

Import from CSV

Data → Import → CSV

Tips:


Import from Excel

Data → Import → Excel

Useful for round-trips with Excel, or for onboarding inventories maintained as spreadsheets.


Import from JavaScript

Data → Import → From JavaScript

Write a script body that returns an array of objects. Keys of the first object become columns:

return [
  { hostid: "10001", name: "web-01", note: "production" },
  { hostid: "10002", name: "web-02", note: "staging" }
];

Or generate rows:

return Array.from({length: 10}, (_, i) => ({
  hostid: String(10000 + i),
  name: "test-host-" + i,
  status: "0"
}));

Use this for synthetic test data or reshaping sources before they hit the table. For cross-sheet logic, prefer transforms / the script editor after import — this importer evaluates a plain function body and loads the returned array. Named scripts can be saved like other request templates (importJSTpl*).


Export to CSV

Data → Export → CSV

Option Rows included
All records Every row in the sheet
Only selected Checked rows
Only visible Rows passing all filters

You can also restrict which columns are exported. Output uses Papa Parse (quoted fields, header row). Values export as shown in the table (string form). CSV always exports the active sheet only.


Export to Excel

Data → Export → Excel

Builds a single .xlsx workbook (SheetJS) with one Excel worksheet per selected ZbxWizz sheet:

Option Behaviour
Sheets Multi-select; all sheets selected by default
All / selected / visible records Same row filters as CSV, applied per sheet

All columns of each sheet are included (header row even if a sheet has no rows). Sheet names are sanitized to Excel limits (31 characters; invalid characters replaced). Download name: export.xlsx.


Chart data

Data → Chart data (under Export)

Builds a Chart.js view of the active sheet:

Control Behaviour
Records Visible (default), selected, or all
Category column Frequency of values — top 20 as bar or pie
Clock column (optional) Unix seconds or ms → histogram by hour of day or calendar day

Empty category values appear as (empty). Unparseable clocks are counted in the chart meta line.

Export PNG downloads the rendered chart(s) as images (chart-category.png, and chart-time.png when a clock column is set). Export CSV downloads the aggregated series (value/count and optional time buckets).

Typical use after importing problem / event history: filter noise, then chart top problem names and busy hours. See Examples.


Request templates

In Import, Pull, and Push dialogs you can save the current editor content as a named template. Templates persist in localStorage and appear in the dropdown.

Dialog Storage key prefix
Import from Zabbix importReqTpl_
Import from JavaScript importJSTpl*
Pull pullReqTpl_
Push pushReqTpl_

Select a template and remove it from the dialog when you no longer need it.


Not yet available

Edit this page on GitHub

← All documentation