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

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

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

- End -

专注分享编程知识、热门有用有趣的开源项目

相关文章
|
14天前
|
物联网 数据处理 C#
C#实现上位机开发,串口通信,读写串口数据并处理16进制数据
C#实现上位机开发,串口通信,读写串口数据并处理16进制数据。在自动化、物联网以及工业控制行业中,上位机开发是一项重要的技能。本教程主要介绍使用C#进行上位机开发,重点在于串口通信和数据处理。
195 82
|
2月前
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
224 9
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
4月前
|
人工智能 Python
读取excel工具:openpyxl | AI应用开发
`openpyxl` 是一个 Python 库,专门用于读写 Excel 2010 xlsx/xlsm/xltx/xltm 文件。它是处理 Excel 文件的强大工具,可以让你在不需要安装 Excel 软件的情况下,对 Excel 文件进行创建、修改、读取和写入操作【10月更文挑战第3天】
125 0
|
19小时前
|
分布式计算 大数据 数据处理
从Excel到大数据:别让工具限制你的思维!
从Excel到大数据:别让工具限制你的思维!
109 85
|
2月前
|
人工智能 自然语言处理 JavaScript
Univer:开源全栈 AI 办公工具,支持 Word、Excel、PPT 等文档处理和多人实时协作
Univer 是一款开源的 AI 办公工具,支持 Word、Excel 等文档处理的全栈解决方案。它具有强大的功能、高度的可扩展性和跨平台兼容性,适用于个人和企业用户,能够显著提高工作效率。
178 8
Univer:开源全栈 AI 办公工具,支持 Word、Excel、PPT 等文档处理和多人实时协作
|
2月前
|
缓存 算法 安全
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
85 12
|
3月前
|
前端开发 JavaScript 安全
C#一分钟浅谈:Blazor WebAssembly 开发
Blazor WebAssembly 是一个客户端框架,允许开发者使用C#和Razor语法构建Web应用。本文介绍了Blazor WebAssembly的基本概念、常见问题及解决方案,包括路由配置、数据绑定、异步操作、状态管理和性能优化等方面的内容,并分享了一些易错点及如何避免的方法。希望这些内容能帮助你在Blazor WebAssembly开发中少走弯路,提高开发效率。
149 51
|
2月前
|
程序员 C# 数据库
C# 比较对象新思路,利用反射技术打造更灵活的比较工具
中途接手的项目,碰到需要在更新对象信息时比较并记录差异的需求,最变态的还有附加要求,怎么办?有没有既能满足需求又能对项目影响最小的方法呢?分享这个我封装的方法,一个利用反射技术打造的更灵活的比较工具
|
3月前
|
数据可视化 数据挖掘 项目管理
打破协作壁垒,Excel多人协同编辑工具带来翻天覆地的变化!
在现代办公中,团队协作和信息共享至关重要。Excel的多人协同编辑功能显著提升了工作效率,避免了版本冲突和重复劳动。市场上的Google Sheets、Airtable、板栗看板和Zoho Sheet等工具也提供了类似功能。以其清晰的界面和强大的数据分析能力,特别适合项目管理和进度追踪,帮助团队高效协作,达成目标。
|
3月前
|
开发框架 缓存 .NET
C# 一分钟浅谈:Blazor Server 端开发
Blazor Server 是基于 ASP.NET Core 的框架,允许使用 C# 和 Razor 语法构建交互式 Web 应用。本文介绍 Blazor Server 的基本概念、快速入门、常见问题及解决方案,帮助开发者快速上手。涵盖创建应用、基本组件、数据绑定、状态管理、跨组件通信、错误处理和性能优化等内容。
166 1