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
- File or pasted text, parsed with Papa Parse (
header: true) - Header names become field names
- Choose a target sheet (new or existing); optional overwrite of an existing sheet
Tips:
- Prefer UTF-8
- Quote fields that contain commas
- Name the host ID column
hostidif you plan to push host updates without editing templates
Import from Excel
Data → Import → Excel
- Accepts
.xls/.xlsx(SheetJS) - Load the workbook, pick which Excel sheets to import
- Each selected Excel sheet becomes a ZbxWizz sheet with the same name
- Optional: overwrite/reset existing sheets with the same names
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
- Export JSON of the sheet alone (use File → Save for a full workbook export)