# ExcelToProtobuffer **Repository Path**: kongfu/excel-to-protobuffer ## Basic Information - **Project Name**: ExcelToProtobuffer - **Description**: 把excel配置表转换成二进制格式,其中配置表的每一行是protobuf格式 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-11-15 - **Last Updated**: 2025-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ExcelToProtobuffer #### 介绍 把excel配置表转换成二进制格式,其中配置表的每一行是protobuf格式 #### 软件架构 暂无 #### 安装教程 1. xxxx 2. xxxx 3. xxxx #### 使用说明 exportSetting.json说明 { "usePB":true, //导出数据是protobuff格式(true),还是常规二进制格式 "forceGen"true, //是否每次运行都合并一次配置 "excelRoot":"configExcels", //存放要被导出的excel文件目录 "protoRoot":"protos", //导出.proto文件的目录 "configModule":"config", //导出.proto文件和最终.pb文件的名称 也是py模块名称前缀 "md5MetaFile":"metas/configmd5.meta", //保存excel文件md5的meta文件,通过对比增量式导出 "configMetaFile":"metas/configTable.meta", //保存所有表格名称的meta文件 "outPut":"data",//导出.pb文件的目录 "msgTemp":"message.temp", //proto文件的message结构体模板文件 "protoTemp":"proto.temp", //proto文件格式定义的模板文件 "excelExt":[".xlsx",".xls"] //需要导出的excel文件后缀 } 最终保存的数据格式: 4个字节写入文件头 head;当 usePB=true 时 head=0xff,否则 head=0xfe 4个字节掩码 mask:0xee 4个字节写入 sheet 表格个数 N : 循环 N 写入: 2个字节(无符号)写入表名长度: 写入表名,字符串 4个字节写入单个sheet表格数据总长度 4个字节的总行数(int)M 2个字节无符号整型写入主键长度(大于0表示有主键) 有主键则写入主键字段名字符串,多个用下划线拼接;例如:id_level 当 usePB = false 时才写入: 2个字节无符号整型写入字段长度 写入用英文逗号(,)隔开的字段字符串;例如:id,name,icon 2个字节无符号整型写入字段数据类型信息长度 写入用英文逗号(,)隔开字段数据类型字符串;例如:int,string,int 循环 M 写入表格数据 4个字节写入单行数据长度 当 usePB = true 时: 写入一行PB格式的二进制数据(真实的PB格式数据) 当 usePB = false 时: 写入根据字段数据类型把数据写二进制数据 写入文件尾 tail = head^mask 可以做简单的验证 #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)