From fbf94582e4d46dd6872572c0b7eb0bf4f475332d Mon Sep 17 00:00:00 2001 From: Hiram Date: Wed, 10 Jul 2019 20:36:33 +0800 Subject: [PATCH] modify readme --- HiProtobuf/HiProtobuf.UI/bin/Debug/Config.xml | 6 --- Others/7U7wQbS0FP.png | Bin 0 -> 14002 bytes Others/VVbONwkevi.png | Bin 0 -> 11605 bytes Others/icZblwSnCx.png | Bin 0 -> 16541 bytes Others/qAn9ZhK3fO.png | Bin 0 -> 14912 bytes README.md | 41 +++++++++++++++++- 6 files changed, 40 insertions(+), 7 deletions(-) delete mode 100644 HiProtobuf/HiProtobuf.UI/bin/Debug/Config.xml create mode 100644 Others/7U7wQbS0FP.png create mode 100644 Others/VVbONwkevi.png create mode 100644 Others/icZblwSnCx.png create mode 100644 Others/qAn9ZhK3fO.png diff --git a/HiProtobuf/HiProtobuf.UI/bin/Debug/Config.xml b/HiProtobuf/HiProtobuf.UI/bin/Debug/Config.xml deleted file mode 100644 index c72a649..0000000 --- a/HiProtobuf/HiProtobuf.UI/bin/Debug/Config.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - D:\MyGit\github\HiProtobuf\Example\Export - D:\MyGit\github\HiProtobuf\Example\Excel - C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe - \ No newline at end of file diff --git a/Others/7U7wQbS0FP.png b/Others/7U7wQbS0FP.png new file mode 100644 index 0000000000000000000000000000000000000000..d085961e6802d360db8a606de6e622839915cd78 GIT binary patch literal 14002 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�R zHa?-WoBN*7&(=RqX^-?-6hHCqn|@c+zv}sU&1EP9UzJy~@5w5vc%^H(`r*{chQPF+ zmqg?XimdkVq!8EIlCfyhW}wO)o4d_>GyDZbx&PVCgQe<8TwGlF5rplD{kf;8sUEo_ zPNt2Pv?-*oswM8@zO6{FZG*gKg@b0Y<5z}N`B$?mb)FzaV99_4?6NZa0qM5{q@+Yq z6?;`m<)+<^F9BEIKO0F??U+`h;$|<2I+nC`CjBOqWv#k(%meOCSfkYU+9^~Ch z_^t{8HyyH1u3E~=;6lc-fCN_fw)fr4$W}iqyNJqPly4LGmk+AHn70cjf-tvMnm|z@ zhBVrUfC0=HbdP`}CNeaWeA6F(gp5zBsQ?g#Qko9}RFUvW+eDWxt=Mr``_~2hqdHkkdmCbY_at7!2bbuaTy>0 literal 0 HcmV?d00001 diff --git a/Others/VVbONwkevi.png b/Others/VVbONwkevi.png new file mode 100644 index 0000000000000000000000000000000000000000..303fb04923838241e67681bce94bad80f5fa31ba GIT binary patch literal 11605 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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 2fd138f..914241a 100644 --- a/README.md +++ b/README.md @@ -1 +1,40 @@ -# HiProtobuf \ No newline at end of file +# HiProtobuf + +## Excel转Protobuf + +#### 功能说明 +- 将Excel文件生成protobuf文件和protobuf数据 +- 目前支持生成五种语言C++(生成.cpp),C#(生成.cs和.dll),Golang(生成.go),Java(生成.java),Python(生成.py) + +#### 如何使用 +![VVbONwkevi](Others/VVbONwkevi.png) + +从此处下载: [https://github.com/hiramtan/HiProtobuf/releases](https://github.com/hiramtan/HiProtobuf/releases) +1. 选择导出文件的存放目录 +2. 选择Excel文件的存放目录 +3. 选择编译器csc.exe +4. 点击导出 + +#### 详细说明 +- 大多数Windows电脑上默认安装.Net Framework,编译器路径一般在C:\Windows\Microsoft.NET\Framework64.如果没有安装从此处下载安装 [https://dotnet.microsoft.com/download/dotnet-framework](https://dotnet.microsoft.com/download/dotnet-framework) +- 如果希望导出.go文件,需要额外做一些操作,具体参照官方介绍: [https://developers.google.cn/protocol-buffers/docs/gotutorial](https://developers.google.cn/protocol-buffers/docs/gotutorial) +- C#语言额外导出了一份.dll,可以使用.cs源码或者.dll文件 +- 会递归遍历Excel目录下的所有文件 +- 会在导出目录下自动生成三个目录: + - proto 存放.proto原始文件 + - language 存放各语言的生成文件(比如language/cpp/xx.cpp) + - dat 存放.dat protobuf序列化数据 +- 支持的数据类型有: "double", "float", "int32", "int64", "uint32", "uint64", "sint32", "sint64", "fixed32", "fixed64","sfixed32", "sfixed64", "bool", "string", "bytes" +- 支持对应的数组类型,数据分割用| + ![qAn9ZhK3fO](Others/qAn9ZhK3fO.png) +- Excel配置格式如下: + - 第一行为注释说明 + - 第二行为变量类型 + - 第三行为变量命名 + ![icZblwSnCx](Others/icZblwSnCx.png) +- 运行时使用如下: + ![7U7wQbS0FP](Others/7U7wQbS0FP.png) +- 扩展:源码里面的对象很容易生成其他语言(Lua/Ruby/PHP...)和数据(Json/Xml/Bin...) + +--------------------------------- +Support: hiramtan@live.com