{"id":19151008,"url":"https://github.com/hiram3512/exceltoprotobuf_csharp","last_synced_at":"2025-05-07T05:24:24.587Z","repository":{"id":41396873,"uuid":"194195040","full_name":"hiram3512/ExcelToProtobuf_csharp","owner":"hiram3512","description":"Excel to protobuf convert tool","archived":false,"fork":false,"pushed_at":"2023-10-13T01:48:01.000Z","size":24919,"stargazers_count":86,"open_issues_count":1,"forks_count":28,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-19T19:04:56.017Z","etag":null,"topics":["cpp","csharp","excel","java","json","lua","pb","proto","protobuf","python","unity","unreal","unreal-engine","unrealengine"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hiram3512.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2019-06-28T02:47:07.000Z","updated_at":"2025-02-19T10:25:51.000Z","dependencies_parsed_at":"2025-04-20T14:15:39.584Z","dependency_job_id":null,"html_url":"https://github.com/hiram3512/ExcelToProtobuf_csharp","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiram3512%2FExcelToProtobuf_csharp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiram3512%2FExcelToProtobuf_csharp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiram3512%2FExcelToProtobuf_csharp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hiram3512%2FExcelToProtobuf_csharp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hiram3512","download_url":"https://codeload.github.com/hiram3512/ExcelToProtobuf_csharp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252819528,"owners_count":21809036,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cpp","csharp","excel","java","json","lua","pb","proto","protobuf","python","unity","unreal","unreal-engine","unrealengine"],"created_at":"2024-11-09T08:13:34.910Z","updated_at":"2025-05-07T05:24:24.565Z","avatar_url":"https://github.com/hiram3512.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HiExcel2Protobuf(Excel转Protobuf工具)\n\n推荐使用python版本: [https://github.com/hiram3512/ExcelToProtobuf_python](https://github.com/hiram3512/ExcelToProtobuf_python)\n\n优势:\n- 跨平台支持(win,macOS)\n- 自定义proto作为规则\n- 不用再二次编译文件填充数据\n- 不用再依赖.Net Framework\n\n-----\n\n#### 功能说明\n- 将Excel文件生成protobuf文件和protobuf数据\n- 目前支持生成五种语言C++(生成.cpp),C#(生成.cs和.dll),Golang(生成.go),Java(生成.java),Python(生成.py)\n\n#### 如何使用\n![VVbONwkevi](Others/VVbONwkevi.png)\n\n从此处下载: [https://github.com/hiramtan/HiProtobuf/releases](https://github.com/hiramtan/HiProtobuf/releases)\n1. 选择导出文件的存放目录\n2. 选择Excel文件的存放目录\n3. 选择编译器csc.exe\n4. 点击导出\n\n#### 类型对应关系\n![EXCEL_5u9BDIL5mX](Others/EXCEL_5u9BDIL5mX.png)\n\n#### 详细说明\n- 大多数Windows电脑上默认安装.Net Framework,编译器路径一般在C:\\Windows\\Microsoft.NET\\Framework64.如果没有安装从此处下载安装 [https://dotnet.microsoft.com/download/dotnet-framework](https://dotnet.microsoft.com/download/dotnet-framework)\n- 如果希望导出.go文件,需要额外做一些操作,具体参照官方介绍: [https://developers.google.cn/protocol-buffers/docs/gotutorial](https://developers.google.cn/protocol-buffers/docs/gotutorial)\n- C#语言额外导出了一份.dll,可以使用.cs源码或者.dll文件\n- 会递归遍历Excel目录下的所有文件\n- 会在导出目录下自动生成三个目录:\n  - proto 存放.proto原始文件\n  - language 存放各语言的生成文件(比如language/cpp/xx.cpp)\n  - dat 存放.dat protobuf序列化数据\n- 支持的数据类型有: \"double\", \"float\", \"int32\", \"int64\", \"uint32\", \"uint64\", \"sint32\", \"sint64\", \"fixed32\", \"fixed64\",\"sfixed32\", \"sfixed64\", \"bool\", \"string\", \"bytes\"\n- 支持对应的数组类型,数据分割用|\n\n  ![qAn9ZhK3fO](Others/qAn9ZhK3fO.png)\n- Excel配置格式如下:\n  - 第一行为注释说明\n  - 第二行为变量类型\n  - 第三行为变量命名\n\n  ![icZblwSnCx](Others/icZblwSnCx.png)\n- 运行时使用如下:\n\n  ![7U7wQbS0FP](Others/7U7wQbS0FP.png)\n- 扩展:源码里面的对象很容易生成其他语言(Lua/Ruby/PHP...)和数据(Json/Xml/Bin...)\n\n---------------------------------\nSupport: hiramtan@live.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiram3512%2Fexceltoprotobuf_csharp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhiram3512%2Fexceltoprotobuf_csharp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhiram3512%2Fexceltoprotobuf_csharp/lists"}