当前位置:首页 > 技术分析 > 正文内容

一个基于C#开发的Excel转Json工具

ruisui883个月前 (01-23)技术分析14

Json在程序开发中是非常常用的数据格式,对于程序员来说,阅读和编辑Json都没有什么问题,但其他人就不是那么方便了。比如配置游戏数据:游戏角色、技能、道具的名称,策划书往往都是通过Excel配置,这样比较方便设置。但在程序运行时就需要Excel转为Json。

项目简介

这是一个基于C#开发的Excel转Json工具,比通过Office Excel组件访问数据性能提升100倍,支持界面、命令模式。

技术架构

1、Visual Studio 2012、.Net Framework 4.0

项目结构

主要功能

  1. 支持读取 Excel 97-2003的 .xls格式和2007的 .xlsx格式;
  2. 支持多个表单导出;
  3. 把Excel表单转换成Json对象,并保存到一个文本文件中。支持将表中内容转换成Array,或者以第一列为ID的字典对象;
  4. 将表头信息生成 C# 结构体定义代码;
  5. 进阶特性
  6. 通过特定的前缀排除掉表单或者列
  7. 自动识别和转换单元格内的 Json 格式字符串,并转换成为 Json Array 或者 Json Object

使用方式

支持命令模式与界面操作模式

1、命令模式

命令行参数

  • -e, –excel Required. 输入的Excel文件路径.
  • -j, –json 指定输出的json文件路径.
  • -h, –header Required. 表格中有几行是表头.
  • -c, –encoding (Default: utf8-nobom) 指定编码的名称.
  • -l, –lowcase (Default: false) 自动把字段名称转换成小写格式.
  • -a 序列化成数组
  • -d, --date:指定日期格式化字符串,例如:dd / MM / yyy hh: mm:ss
  • -s 序列化时强制带上sheet name,即使只有一个sheet
  • -exclude_prefix: 导出时,排除掉包含指定前缀的表单和列,例如:-exclude_prefix #
  • -cell_json:自动识别单元格中的Json对象和Json数组,Default:false
@SET EXCEL_FOLDER=.\excel
@SET JSON_FOLDER=.\json
@SET EXE=.\excel2json.exe

@ECHO Converting excel files in folder %EXCEL_FOLDER% ...
for /f "delims=" %%i in ('dir /b /a-d /s %EXCEL_FOLDER%\*.xlsx') do (
    @echo   processing %%~nxi 
    @CALL %EXE% --excel %EXCEL_FOLDER%\%%~nxi --json %JSON_FOLDER%\%%~ni.json --header 3
)

2、界面模式


源码与安装包获取

私信回复:1038

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/492.html

分享给朋友:

“一个基于C#开发的Excel转Json工具” 的相关文章

Linux发行版Debian推出12.2及11.8版本,修复多个安全问题

IT之家 10 月 9 日消息,Debian 是最古老的 GNU / Linux 发行版之一,也是许多其他基于 Linux 的操作系统的基础,包括 Ubuntu、Kali、MX 和树莓派 OS 等,近日 Debian 推出了 12.2 和 11.8 版本,主要修复了多个安全问题。▲ 图源 Debia...

三、Uni-app + vue3 页面如何跳转及传参?

Vue 项目往往需要使用 vue-router 插件,刚开始入门 Uni-app + Vue3 项目的同学,会不会想着路由使用 vue-router V4 版本不就可以了吗?不怕大家笑话,我就是这样想的,毕竟我是第一次使用 Uni-app ,由于孕期记性贼差,所以我决定写成笔记,加深记忆。uni-a...

Vue实现动态路由

通常我们在vue项目中都是前端配置好路由的,但在一些项目中我们可能会遇到权限控制,这样我们就涉及到动态路由的设置了。动态路由设置一般有两种:(1)、简单的角色路由设置: 比如只涉及到管理员和普通用户的权限。通常直接在前端进行简单的角色权限设置(2)、复杂的路由权限设置: 比如OA系统、多种角色的权限...

vue开发微信小程序 - 登录组件

移动端登录功能抽象为通用组件,满足:不同移动端应用中一键登录功能复用支持多种登录:微信登录、H5、QQ登录登录组件使用//引用登录组件 import login from "../components/user/login.vue" export default { compone...

SpringBoot2.X+Vue+UniAPP,全栈开发医疗小程序

//xia仔のke:chaoxingit.com/208/全栈开发医疗小程序:利用Spring Boot 2.X、Vue和UniApp在当今数字化时代,医疗行业也在不断地迈向信息化和智能化的方向。开发一款医疗小程序,能够为用户提供便捷的医疗服务和信息查询,为医疗机构提供高效的管理和服务渠道。本文将介...

三勾商城(java+vue3)微信小程序商城+SAAS+前后端源码

项目介绍本系统功能包括: 前台展示+后台管理+SAAS管理端,包括最基本的用户登录注册,下单, 购物车,购买,结算,订单查询,收货地址,后台商品管 理,订单管理,用户管理等等功能,小伙伴一起来看看吧。三勾小程序商城基于springboot+element-ui+uniapp打造的面向开发的小程序商城...