{"id":20332278,"url":"https://github.com/wavemaker/excel-connector","last_synced_at":"2026-02-07T08:31:49.864Z","repository":{"id":83515839,"uuid":"297572623","full_name":"wavemaker/excel-connector","owner":"wavemaker","description":null,"archived":false,"fork":false,"pushed_at":"2025-09-18T05:57:08.000Z","size":37,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-09-18T07:33:35.750Z","etag":null,"topics":["wavemaker-connector"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wavemaker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2020-09-22T07:39:43.000Z","updated_at":"2025-09-18T05:54:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"f86e8bd1-8114-46c3-92ff-4bc1ff60d714","html_url":"https://github.com/wavemaker/excel-connector","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/wavemaker/excel-connector","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavemaker%2Fexcel-connector","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavemaker%2Fexcel-connector/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavemaker%2Fexcel-connector/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavemaker%2Fexcel-connector/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wavemaker","download_url":"https://codeload.github.com/wavemaker/excel-connector/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wavemaker%2Fexcel-connector/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29190187,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T07:37:03.739Z","status":"ssl_error","status_checked_at":"2026-02-07T07:37:03.029Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["wavemaker-connector"],"created_at":"2024-11-14T20:25:49.278Z","updated_at":"2026-02-07T08:31:49.851Z","avatar_url":"https://github.com/wavemaker.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Connector  Introduction\n\nConnector is a Java based backend extension for WaveMaker applications. Connectors are built as Java modules \u0026 exposes java based SDK to interact with the connector implementation.\nEach connector is built for a specific purpose and can be integrated with one of the external services. Connectors are imported \u0026 used in the WaveMaker application. Each connector runs on its own container thereby providing the ability to have it’s own version of the third party dependencies.\n\n## Features of Connectors\n\n1. Connector is a java based extension which can be integrated with external services and reused in many Wavemaker applications.\n1. Each connector can work as an SDK for an external system.\n1. Connectors can be imported once in a WaveMaker application and used many times in the applications by creating multiple instances.\n1. Connectors are executed in its own container in the WaveMaker application, as a result there are no dependency version conflict issues between connectors.\n\n## About Excel Connector\n\n## Excel Connector Introduction\nExcel connector provides apis to parse the Excel files with tabular structures \u0026 returns the table data as java objects. \nThe return response can be directly mapped to entity classes that enable it to easily persist the entities into database tables directly.\n\n## Build\nYou can build this connector using following command\n```\nmvn clean install\n```\n\n## Deploy\nYou can import connector dist/excel-connector.zip artifact in WaveMaker Application using file upload option.\n\n## Using Excel Connector in WaveMaker Application\n\nThis connector will be exposing the following four api's \n##### readExcelAsMap(InputStream inputStream, boolean convertHeadersToFieldNames)\n- This method will convert file inputStream to ``List\u003cMap\u003cString, Object\u003e\u003e`` \n- convertHeaderToFieldNames if true it will convert headers in the Excel sheet to FieldNames \n    ``eg: Email address -\u003e emailAddress``\n```\nexample:\n      excelInput:\n      sno  name    EmailAddress\n      1    a       a@mail.com\n      2    b       b@mail.com\n     \n      output:\n        if convertHeadersToFieldNames is true\n            [{emailAddress=a@gmail.com, sno=1.0, name=a}, {emailAddress=b@gmail.com, sno=2.0, name=b}] \n        if convertHeadersToFileNames is false\n            [{Sno=1.0, Email address=a@gmail.com, Name=a}, {Sno=2.0, Email address=b@gmail.com, Name=b}] \n        we can observe that when convertHeadersToFieldNames is true we will be convering headers to fieldNames eg:Email address -\u003e emailAddress\n     \n```\n```\nInvocation snippet:\n\nList\u003cMap\u003cString, Object\u003e\u003e result = excelConnector.readExcelAsMap(getClass().getClassLoader().getResourceAsStream(\"sample.xlsx\"),\n                false);\n```\n\n##### readExcelAsMap(File file, boolean convertHeadersToFieldNames)\n- This method  is same as the previous method except that it takes ```Java.io.File``` as an input instead of ```Java.io.InputStream```\n```\nInvocation snippet:\n\nList\u003cMap\u003cString, Object\u003e\u003e employeeList = excelConnector.readExcelAsMap(new File(getClass().getClassLoader().getResource(\"sample.xlsx\").getPath()),\n                true);\n```\n##### readExcelAsObject(InputStream inputStream, Class\u003cT\u003e cls)\n- This method will convert file inputStream to ``List\u003cclsObjects\u003e`` \n- cls to target object to which entities to be casted\n```\nexample:\n      excelInput:\n      sno  name    EmailAddress\n      1    a       a@mail.com\n      2    b       b@mail.com\n      \n      cls Employee\n      output: [Employee1,Employee2]\n          \n```\n```\nInvocation snippet:\n\nList\u003cEmployee\u003e employeeList = excelConnector.readExcelAsObject(getClass().getClassLoader().getResourceAsStream(\"sample.xlsx\"),\n                Employee.class);\n```\n##### readExcelAsObject(File file, Class\u003cT\u003e cls)\n- This method  is same as the previous method except that it takes ```Java.io.File``` as an input instead of ```Java.io.InputStream```\n```\nInvocation snippet:\n\nList\u003cEmployee\u003e employeeList = excelConnector.readExcelAsObject(new File(getClass().getClassLoader().getResource(\"sample.xlsx\").getPath()),\n                Employee.class);\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwavemaker%2Fexcel-connector","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwavemaker%2Fexcel-connector","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwavemaker%2Fexcel-connector/lists"}