{"id":39404735,"url":"https://github.com/eddyizm/flatfileexporter","last_synced_at":"2026-01-18T03:28:25.017Z","repository":{"id":45262008,"uuid":"441961506","full_name":"eddyizm/flatfileexporter","owner":"eddyizm","description":"Flat File Exporter - .Net desktop gui to pass a sql script or stored proc name to export a flat file, csv, txt, etc or an xlsx. Python backend can be used via CLI for automation.","archived":false,"fork":false,"pushed_at":"2025-05-13T05:04:18.000Z","size":296,"stargazers_count":1,"open_issues_count":9,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-13T06:19:31.538Z","etag":null,"topics":["automation","flat-file-exporter","pandas","python","sql-server","windows-desktop-app","wpf"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/eddyizm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-12-26T18:48:04.000Z","updated_at":"2025-05-04T20:59:23.000Z","dependencies_parsed_at":"2024-05-18T17:33:39.400Z","dependency_job_id":"a71fca68-1444-4015-b024-24df9f6a1ff4","html_url":"https://github.com/eddyizm/flatfileexporter","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/eddyizm/flatfileexporter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddyizm%2Fflatfileexporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddyizm%2Fflatfileexporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddyizm%2Fflatfileexporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddyizm%2Fflatfileexporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eddyizm","download_url":"https://codeload.github.com/eddyizm/flatfileexporter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eddyizm%2Fflatfileexporter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28528043,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","flat-file-exporter","pandas","python","sql-server","windows-desktop-app","wpf"],"created_at":"2026-01-18T03:28:24.915Z","updated_at":"2026-01-18T03:28:24.994Z","avatar_url":"https://github.com/eddyizm.png","language":"C#","funding_links":["https://ko-fi.com/L3L01HI5A"],"categories":[],"sub_categories":[],"readme":"# Flat File Exporter\n---\n[Home](README.md) | [Releases](https://github.com/eddyizm/flatfileexporter/releases) | [Issues](https://github.com/eddyizm/flatfileexporter/issues)\n\n---\n\n## Overview \n\nReads a sql script or calls a stored procedure and exports results to a csv, txt or excel file. The GUI is limited to a SQL script and currently exports to the same location where the SQL script is called from. The CLI allows more flexibility such as specifying the export directory, file name and the ability to call a stored procedure on the database.\n\nSupport  \n \n[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/L3L01HI5A)\n\n**CRITICAL NOTE**\nSQL scripts require   \n`SET NOCOUNT ON`  \nat the top of the script, else the python/pandas based engine will fail with the query results. \n\nOutput file will have date appended for GUI and CLI, eg.\n\u003e GUI  \n`FFE_OUTPUT_\u003cYYYYMMDD\u003e.\u003cEXT\u003e`\n\n\u003e CLI  \n`\u003cFILENAME_SUPPLIED\u003e_\u003cYYYYMMDD\u003e.\u003cEXT\u003e` \n\n\nSupported extensions: \n* txt\n* csv\n* xlsx\n  \nSupported delimiters:  \n* pipe ( | )\n* comma ( , )\n* tab ( )\n\n## Requirements \n\n* ODBC Driver 17 for SQL Server\n* Microsoft .NET Framework 4.6.1 \n\nIf you don't have it on your system, please install ODBC Driver 17 for SQL Server here:\nhttps://www.microsoft.com/en-us/download/details.aspx?id=56567  \n\nUpdate .Net Framework here:  \nhttps://www.microsoft.com/en-us/download/details.aspx?id=49981\n\n\n# GUI \n---\n![alt text](Docs/assets/ffe_01.png \"Flat File Exporter\") \n\nThe server and database has a dummy value, `Server1` and `DB1`. \nYou will need to specify your actual server by clicking on the plus and going to the Add A Server screen. \n\n![alt text](Docs/assets/ffe_02.png \"Add A Server\") \n\nAdd your databases...\n\n![alt text](Docs/assets/ffe_03.png \"Add A Database\") \n\n### Credentials\n\nBy default Flat File Exporter uses Microsoft's ODBC Driver 17 for SQL Server and the Trusted_Connection=yes setting, passing the credentials of the user along to the db. This is standard practice in Enterprise environments that relay on AD to manage permissions. If you enter credentials below then your default credentials will be ignored.\"\n\n![alt text](Docs/assets/ffe_04.png \"Credentials\") \n\n---\n# Command Line Interface (CLI)  \n\nThe CLI is far more powerful and allows passing a stored procedure. You can also call the exe directly to schedule file exports along with calling it programmatically to go through loops over large amounts of variables and data.\n\n#### Location\nThe CLI can be found in the Program folder, in the Resources folder\n\n\u003e [AppRoot]\\Resources\\flatfile_cli.exe\n\n### CLI usage\n\nSample calls\n\n`flatfile_cli.exe \u003cSERVER\u003e \u003cDATABASE\u003e \"C:\\Users\\BOB\\Desktop\" -csv -c -s \"C:\\Users\\BOB\\Desktop\\sample_query.sql\"`\n\n where \u003cSERVER\u003e and \u003cDATABASE\u003e is your system,   \n`\"C:\\Users\\BOB\\Desktop\"` -- The output directory  \n`-csv` specifies a .csv file  \n`-c` requests a comma delimited file  \n`-s` switch specifies a sql script and requires a path/file  \n`\"C:\\Users\\BOB\\Desktop\\sample_query.sql\"` requested above\n\n\nFull usage\n\n```\nusage: flatfile_cli.exe [-h] [-V] [-f FILENAME] [-u USERNAME] [-pass PASSWORD]\n                       (-csv | -txt | -xlsx) (-c | -t | -p)\n                       (-s SQLSCRIPT | -sp STOREDPROC)\n                       server db directory\n\nTakes sql script or stored proc to export csv, txt or excel file.\n\npositional arguments:\n  server                server to run query against.\n  db                    database to use on server.\n  directory             location to export flat file. do not specify\n                        extension.\n\noptional arguments:\n  -h, --help            show this help message and exit\n  -V, --version         show programs version number and exit\n  -f FILENAME, --filename FILENAME\n                        filename. Date will be appended.\n  -u USERNAME, --username USERNAME\n                        username for db connection.\n  -pass PASSWORD, --password PASSWORD\n                        use login/pass from instead of default Integrated\n                        Security (Trusted_Connection).\n  -csv, --csv           output file with csv extension.\n  -txt, --txt           output file with txt extension.\n  -xlsx, --xlsx         output excel file.\n  -c, --comma           use comma character for seperator.\n  -t, --tab             use tab for seperator.\n  -p, --pipe            use pipe character for seperator.\n  -s SQLSCRIPT, --sqlscript SQLSCRIPT\n                        full path of sql script *MUST HAVE* SET NO COUNT on\n                        script.\n  -sp STOREDPROC, --storedproc STOREDPROC\n                        instead of sql script, point to stored procedure on\n                        database. Wrap in double quotes with parameters eg.\n                        \"EXEC SAMPLE_SP '\u003cParam\u003e'\"\n```                        \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddyizm%2Fflatfileexporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feddyizm%2Fflatfileexporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feddyizm%2Fflatfileexporter/lists"}