一个基于C#开发的Excel转Json工具使用教程

目录
  • 前言
  • 项目简介
  • 技术架构
  • 项目结构
  • 主要功能
  • 使用方式
    • 1、命令模式
    • 2、界面模式
  • 总结

前言

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、界面模式

项目地址:https://github.com/neil3d/excel2json

总结

到此这篇关于一个基于C#开发的Excel转Json工具的文章就介绍到这了,更多相关C#开发Excel转Json工具内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • c#学习教程之JSON文件及解析实例

    目录 一.JSON文件介绍 二.JSO语法规则 三.引入JSON库文件 四.利用JSON.Mapper去解析JSON文件 4.1 JSON为数组 4.2 JSON为数组,使用实体类 五.利用Json.MApper结合泛型去解析JSON文件 5.1JSON为数组 5.2JSON为数组,使用集合去解析 5.3JSON为对象 5.4复杂的JSON文件解析 六.字符串转化为JSON 七.JSON常用工具 1.JSON格式校验工具 2.JSON数据生成c#实体类 总结 一.JSON文件介绍 JSON是存储

  • C#纯技术之Class写入Json

    目录 C# Class写入Json C# 操作JSON几种方式 第一种方式:JavaScriptSerializer 第二种方式:JSON.NET 总结 C# Class写入Json /// <summary> /// 写入json文件 /// </summary> /// <param name="obj"></param> /// <param name="savePath"></param>

  • C#如何处理JSON

    目录 C#如何处理JSON 第一种 第二种 总结 C#如何处理JSON C#中总共有两种方式处理JSON. 第一种 右击项目->添加->引用 这里重点介绍第二种方式. 第二种 使用NuGet包,对没错,是Json.Net 需要引入的命名空间是: 这种方式直接使用工具,不需要进行new. 生成JSON文件 对于序列化和反序列化的理解: 反序列化:从外部(磁盘或者网络)读入的文件反序列化之后读入内存. 序列化:   内存中的内容序列化之后输出. 从上面最后一行代码可知:写入到了Output.jso

  • 一个基于C#开发的Excel转Json工具使用教程

    目录 前言 项目简介 技术架构 项目结构 主要功能 使用方式 1.命令模式 2.界面模式 总结 前言 Json在程序开发中是非常常用的数据格式,对于程序员来说,阅读和编辑Json都没有什么问题,但其他人就不是那么方便了.比如配置游戏数据:游戏角色.技能.道具的名称,策划书往往都是通过Excel配置,这样比较方便设置.但在程序运行时就需要Excel转为Json. 项目简介 这是一个基于C#开发的Excel转Json工具,比通过Office Excel组件访问数据性能提升100倍,支持界面.命令模式

  • 基于NPOI用C#开发的Excel以及表格设置

    本文为大家分享了基于NPOI用C#开发的Excel以及表格设置,供大家参考,具体内容如下 最近在项目中需要导出Excel.在这里做个记录.在网上查阅了一些资料.将自己最终的代码分享在这里,以供自己日后查阅,如果能给陌生的你带来方便,那便更好. 开发的过程中也遇到了一个问题,设置字体会导致打开Excel时报错(错误:此文件中的某些文本格式可能已经更改,因为它已经超出最多允许的字体数),并且设置失败.这个问题产生的原因是因为频繁的创建字体,这个在我参考的代码中是有问题,我做了些改善.如果你有更优的方

  • Python基于Tkinter开发一个爬取B站直播弹幕的工具

    简介 使用Python Tkinter开发一个爬取B站直播弹幕的工具,启动后在弹窗中输入房间号即可,弹幕内容会保存在脚本文件同级目录下的.log扩展名的文件中 开发工具 python 3.7.9 pycharm 2019.3.5 实现代码 import threading import time import tkinter.simpledialog # 使用Tkinter前需要先导入 from tkinter import END, messagebox import requests # 全

  • 基于localStorge开发登录模块的记住密码与自动登录实例

    关于这个模块功能模块的由来,这是鸟大大的处女秀,为什么这么说呢?一天在群里,一个哥们说有私活,开发一个****模块,我那天手痒痒就和他聊了两句,然后,就决定给她做这个模块了,和他谈了谈交付时间,他说最迟两天,然后谈了谈加个,最后达成,500¥!!!这个模块其实第一天晚上我就开发出来了,那时我给他微信说,功能模块开发ok了,要不要远程查看一下,没问题的话就交了,一会他回我,好了就发过来,然后微信就转过来500¥,当时很诧异,毕竟是处女秀,然后就把项目交给他了,并且是完美交付,在客户那里,也没有出现

  • 基于python实现在excel中读取与生成随机数写入excel中

    具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再生成随机数作为学生的考试成绩. 首先要用到的数据库有:xlwt,xlrd,random这三个数据库. 命令如下: import xlwt import xlrd import random 现有一份表格内容如下图: 现在我们需要提取这其中的B1-C14. (提示:在对这份电子表格进行操作的时候,要使用到这个电子表格的地址,即表格的储存位置.) excel=xlrd.open_w

  • 基于vue开发的在线付费课程应用过程

    使用 vux UI组件库 使用 vue-navigation 缓存页面,此库实现了前进刷新后退读缓存的功能,像原生APP导航一样.用子路由的方式实现tabbar有bug,用vuex解决了. 使用 lib-flexible 解决移动页面适配 来一个清单 "dependencies": { "fastclick": "^1.0.6", "lib-flexible": "^0.3.2", "lodash

  • 从零开始搭建一个react项目开发

    本文介绍了从零开始搭建一个react项目开发,分享给大家,具体如下: 1.npm init 生成 package.json 文件. 2.安装各种需要的依赖: npm install  --save react - 安装React. npm install  --save react-dom 安装React Dom,这个包是用来处理virtual DOM.这里提一下用React Native的话,这里就是安装react-native. npm install  --save-dev webpack

  • 基于Python开发chrome插件的方法分析

    本文实例讲述了基于Python开发chrome插件的方法.分享给大家供大家参考,具体如下: 谷歌Chrome插件是使用HTML.JavaScript和CSS编写的.如果你之前从来没有写过Chrome插件,我建议你读一下这个.在这篇教程中,我们将教你如何使用Python代替JavaScript. 创建一个谷歌Chrome插件 首先,我们必须创建一个清单文件:manifest.json. { "manifest_version": 2, "name": "Py

  • 基于$.ajax()方法从服务器获取json数据的几种方式总结

    一.什么是json json是一种取代xml的数据结构,和xml相比,它更小巧但描述能力却很强,网络传输数据使用流量更少,速度更快. json就是一串字符串,使用下面的符号标注. {键值对} : json对象 [{},{},{}] :json数组 "" :双引号内是属性或值 : :冒号前为键,后为值(这个值可以是基本数据类型的值,也可以是数组或对象),所以 {"age": 18} 可以理解为是一个包含age为18的json对象,而[{"age":

  • 如何用vue-cli3脚手架搭建一个基于ts的基础脚手架的方法

    忙里偷闲,整理了一下关于如何借助 vue-cli3 搭建 ts + 装饰器 的脚手架,并如何自定义 webpack 配置,优化. 准备工作 @vue/cli@4.1.1 vue 2.6 node v12.13.0 安装 node 安装 node 全局安装 nrm,npm 的镜像源管理工具. npm i nrm -g // 安装 nrm ls // 查看可用源,及当前源,带*的是当前使用的源 nrm use taobao // 切换源,使用源 nrm add <registry> <url

随机推荐