    protected function toCsvString(array $data): string
    {
        $f = fopen('php://temp', 'wb');
        $this->putCsv($f, array_keys(current($data)));
        array_walk($data, function ($row) use (&$f) {
            $this->putCsv($f, $row);
        });
        rewind($f);
        $csv = stream_get_contents($f);
        fclose($f);
        return ! \is_bool($csv) ? $csv : '';
    }