{"id":37034324,"url":"https://github.com/pkokki/documentcreator","last_synced_at":"2026-01-14T04:01:33.143Z","repository":{"id":38573840,"uuid":"251441834","full_name":"pkokki/DocumentCreator","owner":"pkokki","description":"An opinionated solution for creating documents from JSON objects (API payloads) based on Word templates and Excel formula configuration.","archived":false,"fork":false,"pushed_at":"2023-01-07T18:54:18.000Z","size":5576,"stargazers_count":1,"open_issues_count":44,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-21T23:03:35.299Z","etag":null,"topics":["document-generation","excel-formula","expression-evaluator","math-expression-evaluator"],"latest_commit_sha":null,"homepage":"https://doc-creator.azurewebsites.net/","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pkokki.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.TXT","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-03-30T22:22:39.000Z","updated_at":"2023-06-28T17:16:55.000Z","dependencies_parsed_at":"2023-02-07T21:47:12.106Z","dependency_job_id":null,"html_url":"https://github.com/pkokki/DocumentCreator","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/pkokki/DocumentCreator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkokki%2FDocumentCreator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkokki%2FDocumentCreator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkokki%2FDocumentCreator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkokki%2FDocumentCreator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pkokki","download_url":"https://codeload.github.com/pkokki/DocumentCreator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pkokki%2FDocumentCreator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28408956,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T01:52:23.358Z","status":"online","status_checked_at":"2026-01-14T02:00:06.678Z","response_time":107,"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":["document-generation","excel-formula","expression-evaluator","math-expression-evaluator"],"created_at":"2026-01-14T04:01:32.307Z","updated_at":"2026-01-14T04:01:33.134Z","avatar_url":"https://github.com/pkokki.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Document Creator\n\nAn opinionated solution for creating documents from JSON objects (API payloads) based on Word templates and Excel formula configuration.\n\n[![.NET Core](https://github.com/pkokki/DocumentCreator/workflows/.NET%20Core/badge.svg)](https://github.com/pkokki/DocumentCreator/actions?query=workflow%3A%22.NET+Core%22)\n[![GitHub tag (latest by date)](https://img.shields.io/github/v/tag/pkokki/DocumentCreator)](https://github.com/pkokki/DocumentCreator/releases) \n[![GitHub commits since latest release (by date including pre-releases)](https://img.shields.io/github/commits-since/pkokki/DocumentCreator/0.3.0-alpha/master?include_prereleases)](https://github.com/pkokki/DocumentCreator/commits/master) \n[![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/pkokki/DocumentCreator)](https://github.com/pkokki/DocumentCreator) \n[![GitHub issues](https://img.shields.io/github/issues/pkokki/DocumentCreator)](https://github.com/pkokki/DocumentCreator/issues)\n\n## Getting Started\n\nCreate Word documents and HTML pages by combining Word templates (documents with content controls) and JSON data via transformations defined as Excel formulas. \n\n* Try the [quickstart](https://doc-creator.azurewebsites.net/#/) to create a document in four steps.\n* View the [API documentation](https://doc-creator.azurewebsites.net/swagger/)\n\n## Transformation examples\n\n[![Nuget](https://img.shields.io/nuget/v/JsonExcelExpressions)](https://www.nuget.org/packages/JsonExcelExpressions/)\n\nGiven the data\n\n```json\n{\n    \"x1\": 10,\n    \"x2\": 2,\n    \"x3\": { \"firstname\": \"john\", \"surname\": \"smith\" },\n    \"x4\": [100, 200, 300, 400],\n    \"x5\": {\n        \"y1\": \"A quick brown fox jumps over the lazy dog\",\n        \"y2\": \"brown\",\n        \"y3\": \"#red#\",\n        \"y4\": [ 1, 2, 3]\n    }\n}\n```\n\nwe can evaluate the following expressions\n\n| expression | result (in el-GR culture) |\n| --- | --- | \n| `8 / 2 * (2 + 2)` | 16 |\n| `x1 * x2 - x1 / x2` | 15 |\n| `CONCATENATE(x3.firstname, \" \", x3.surname)` | john smith |\n| `SUM(x4) * 24%` | 240,00 |\n| `x4` | ['100','200','300','400'] |\n| `PROPER(REPLACE(x5.y1, SEARCH(x5.y2, x5.y1), LEN(x5.y2), x5.y3))` | A Quick #Red# Fox Jumps Over The Lazy Dog |\n| `IF(x1 + IFNA(missing.path, x2) \u003e 10, \"\u003e10\", \"\u003c=10\")` | \u003e10 |\n| `DATE(2020, 4, 28) + x5.y4[1]` | 30/4/2020 |\n| `IF(__A1 \u003e __A2, UPPER(__A3), \"?\")` | JOHN SMITH |\n\nSee the [full list](https://github.com/pkokki/DocumentCreator/wiki/Supported-Excel-Functions) of supported Excel functions. Suggest the implementation of missing functions by [opening an issue](https://github.com/pkokki/DocumentCreator/issues/new).\n\nYou can test it live [here](https://doc-creator.azurewebsites.net/#/expressions). \n\n## Installation\n\nTBD\n\n## Built with\n\n### API\n\n* [ASP.NET Core](https://github.com/dotnet/aspnetcore) \n* [Open XML SDK](https://github.com/OfficeDev/Open-XML-SDK) - to generate documents and extract content from Word and Excel files\n* [Open XML PowerTools](https://github.com/EricWhiteDev/Open-Xml-PowerTools) - to convert Word documents to HTML/CSS\n\n### Web client\n\n* [Angular](https://github.com/angular/angular)\n* [Angular Material](https://github.com/angular/components)\n\n### Tests\n\n* [xUnit.net](https://github.com/xunit/xunit)\n* [Moq](https://github.com/moq/moq4)\n\n## Contributing\n\nContributions are welcome. Please contact the [project maintainer](https://github.com/pkokki).\n\n## Versions\n\nFor the versions available, see the [tags on this repository](https://github.com/pkokki/DocumentCreator/tags). \n\n## Authors\n\n* **Panos** - *Initial work* - [pkokki](https://github.com/pkokki)\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.TXT](LICENSE.TXT) file for details\n\n## Credits\n* Tim Hall, [JSON conversion and parsing for VBA](https://github.com/VBA-tools/VBA-JSON)\n* E. W. Bachtal, [Excel Formula Parsing in C#](https://ewbi.blogs.com/develops/2007/03/excel_formula_p.html)\n* Eric White, [Open XML PowerTools](https://github.com/EricWhiteDev)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkokki%2Fdocumentcreator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpkokki%2Fdocumentcreator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpkokki%2Fdocumentcreator/lists"}