CSV Download not working

Hi there,

NeoDash has theoretically a feature to download a displayed table as CSV file using a button like in this picture:

This is similar to the download picture button, that also exists and works properly.

My problem is that download CSV doesn’t work. It doesn’t throw a message, it doesn’t put anything in the log file, it just doesn’t do anything. The only Error I could find is in the Browser:

ChartUtils.ts:167 Uncaught TypeError: Cannot use 'in' operator to search for 'low' in not specified
at ChartUtils.ts:167:20
at Array.forEach ()
at ChartUtils.ts:164:13
at Array.forEach ()
at _ (ChartUtils.ts:163:8)
at onClick (TableChart.tsx:300:17)
at onClick (IconButton.tsx:129:7)
at Object.He (react-dom.production.min.js:52:317)
at qe (react-dom.production.min.js:52:471)
at react-dom.production.min.js:53:35

I tried the same in another browser, but got same issue. Hier the error from Firefox

Uncaught TypeError: cannot use 'in' operator to search for "low" in "not specified"
_ ChartUtils.ts:167
_ ChartUtils.ts:164
_ ChartUtils.ts:163
onClick TableChart.tsx:300
onClick IconButton.tsx:129
React 11
unstable_runWithPriority scheduler.production.min.js:18
React 3

In Neo4j Browser I have no problem in exporting tables as CSV files. So why do I have this problem in NeoDash?

Is this a bug in NeoDash or am I missing something?

I am not an expert. Tried this query to generate a table with some dummy data:

return
1 as int,
"abc" as string,
[1.0,2.0,3.0] as mixed_array,
3.15 as float,
date() as date,
datetime() as datetime,
{a:1, b:2} as map
union return
1 as int,
"abc" as string,
[1,2,"abc"] as mixed_array,
null as float,
date() as date,
datetime() as datetime,
{a:1, b:2} as map

csv looks like this:
int, string, mixed_array, float, date, datetime1,"abc",[{"low":1,"high":0},{"low":2,"high":0},"abc"],"pi",{"year":{"low":2025,"high":0},"month":{"low":7,"high":0},"day":{"low":31,"high":0}},{"year":{"low":2025,"high":0},"month":{"low":7,"high":0},"day":{"low":31,"high":0},"hour":{"low":9,"high":0},"minute":{"low":12,"high":0},"second":{"low":56,"high":0},"nanosecond":{"low":913000000,"high":0},"timeZoneOffsetSeconds":{"low":0,"high":0}}1,"abc",[{"low":1,"high":0},{"low":2,"high":0},"abc"],3.14,{"year":{"low":2025,"high":0},"month":{"low":7,"high":0},"day":{"low":31,"high":0}},{"year":{"low":2025,"high":0},"month":{"low":7,"high":0},"day":{"low":31,"high":0},"hour":{"low":9,"high":0},"minute":{"low":12,"high":0},"second":{"low":56,"high":0},"nanosecond":{"low":913000000,"high":0},"timeZoneOffsetSeconds":{"low":0,"high":0}}

So, maybe you have something in your data that throws off the csv export, some weird characters… However, what I realised, is that the csv does not look nice for some data types. So maybe it is worth modifying the return clause of your query to format some values to strings in a way so it is overall more “export friendly”.

It would probably help track down the error if you could make a minimal dummy query like mine that re-produces the issue.

Well, the one table would only contain 2 columns of types string and integer.

When I export it from Neo4j it works fine. The issue is only when I try to export it from a Dashboard NeoDash.

I must also say that I only use the community edition.