18 lines
510 B
TypeScript
18 lines
510 B
TypeScript
![]() |
import { parse } from "json2csv";
|
||
|
|
||
|
export function downloadCSV(
|
||
|
data: Record<string, unknown>[],
|
||
|
filename: string
|
||
|
): void {
|
||
|
const csv = parse(data);
|
||
|
const blob = new Blob([csv], { type: "text/csv;charset=utf-8;" });
|
||
|
const url = URL.createObjectURL(blob);
|
||
|
const link = document.createElement("a");
|
||
|
link.setAttribute("href", url);
|
||
|
link.setAttribute("download", filename);
|
||
|
link.style.visibility = "hidden";
|
||
|
document.body.appendChild(link);
|
||
|
link.click();
|
||
|
document.body.removeChild(link);
|
||
|
}
|