【C】@程序员,我们送给你一个成熟的Excel导入导出组件

程序员的显著特点

有一天跟一位同事跟我闲聊,讨论起过去若干年软件行业的感受,他问了个问题:你觉得一个好的软件工程师最显著的特点是什么?我想了一会,说:大概是坐得住吧。

某种意义上来说,在互联网技术飞速发展的今天,信息的洪流总是无声无息间把我们掩埋,一不小心,可能就感觉自己似乎已经out了。当然,信息有良种,也有莠子,有的信息能够让我们收获颇多,但是大部分信息其实都是八卦信息,与大家的关系并不大。然而我们依然容易沉迷于八卦信息之中,总觉得能够收获什么。其实往往就是虚度光阴,哪怕是那些专注于技术领域的大群们,也难免在某段时间过后,变成一个个水群,然后兴趣平平,不了了之。

造轮子,优秀开发者的共同之选

技术群里经常讨论的话题大概是某些开源轮子。

尤其是 .net 的群,有时候遇到问题,就会有人说,要是造个某某轮子就好了,同样的东西隔壁 java 就有;或者是某某轮子出了个 bug ,然后集体声讨会开始,说作者连这么简单的问题都没考虑到;又或者像 ngnix 卖了大价钱了,有人说,这东西我很多年前就有这个想法,要是当时就做了,那这个发财的一定就是我了。

长沙互联网社区的胡子哥有一句口头禅特别有用:"你别想这想那,想那么多什么用都没有,你倒是干啊,别老想干失败了啊,万一干成功了呢?"所以在这个时代冷静的思考、时刻保持学习的态度,能够坐得住,大概是成为专业开发者的第一步。

而成为专业开发者之后,通过一个开源项目来练手,一定是一个非常不错的选择,在gayhub之上,许多不同技术类型的开发者都借助平台开创了自己的品牌,他们做了一个个优秀的开源组件,既成就了自己的价值,更是帮助了大量对组件有需求的开发者。

前有vue尤雨溪,后有涛思数据陶老师,他们就是中国开发者圈子中的英雄伟人。好吧,要撸一个vue.js是真的不容易,要做一个TEngine更是难上加难,那能不能挑个看起来简单的小轮子,例如excel的导入导出吧。额,看起来很简单的东西,哪里有那么简单呢?

造轮子容易么?

造一个轮子,开头容易做好难。首先你得开始干,其次你得把事情干好,再次,你还得坚持。然后你得做个每一个单元测试,还得考虑各种极限情况,现在开发者很挑剔啦,不仅要求功能齐全,还得性能优异(虽然大部分客户不一定用的到),还得考虑多种数据格式,你还得经常解决 issues 上大家提出的反馈并及时的修复 bug ,好吧,能够把这一趟水梭完已经很不容易了。

把你的轮子推送到了 gayhub 上,难免会在一些群里做一些推广。于是你会遇到键盘侠们,他们都在吐槽说你干的这个东西:这么简单的东西,一个实习生就会干了。。当然,要让他们来干,除了从网上抄现成的代码,要自己撸,估计那几个单词怎么拼,都要花百度一下,正儿八经要把轮子造出来,估计得等十年也憋不出来了。。

有一位老师说得很有道理:中国不缺喷子,不缺那些所谓有想法的,缺的是能够把想法转化成现实的人。

Magicodes.IE是什么,是怎么来的?

例如,长沙 .NET 社区的重要参与者李文强大佬和他的团队,就是这样一个善于把想法转换成现实的人。实际上这几个月来他们特别忙,基本上天天得特别晚才能回去,尤其是作为公司创始人的李文强,更是几乎天天都会加班到特别晚。他说他大概是一个想法特别多的人,经常会碰出许多想法,但是由于时间实在是有限,许多开源组件都开始设计得挺不错,但由于开局太大、定制能力要求太高等众多原因逐渐的无法维护,最终不了了之。这次他改变了想法,先设计一个比较易于拆卸的小轮子,实现一些基本功能,然后经过一波测试,获得了非常不错的反响,并获得了社区的认同,然后这个轮子也有幸得以成为 NCC 中的一个小组件。

Magicodes.IE:导入导出通用库,通过导入导出DTO模型来控制导入和导出,支持Excel、Word、Pdf和Html。

这确实是个非常灵巧的小轮子,虽然看起来很简单,但是他的功能还是很实用的,我相信大部分企业级应用开发者都值得拥有。赶紧抛弃你们从网上下载的那些不靠谱的代码,把你们的Excel导入功能合并到这个小轮子上来吧!

下载地址:https://github.com/dotnetcore/Magicodes.IE

记住这个名字Magicodes.IE,Fork 一波,然后Star一波。。人生精彩从这里开始!。。


https://github.com/dotnetcore

打赏一杯酒,削减三分愁。
跟着我们走,脱发包你有。

组织打赏账户为柠檬的账户,请标注「NCC」,并留下您的名字,以下地址可查看收支明细:https://github.com/dotnetcore/Home/blob/master/Statement-of-Income-and-Expense.md

OpenNCC,专注.NET技术的公众号

https://www.dotnetcore.xyz

微信ID:OpenNCC

长按左侧二维码关注

欢迎打赏组织

给予我们更多的支持

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/312472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SummerBoot,将SpringBoot的先进理念与C#的简洁优雅合二为一

哈哈哈哈,大家好,我就是高产似母猪的三合,好久没写博客了,因为最近几个月在不断的加班,加班时长平均每个月120小时以上。今天是2020年的第一天,作为一条程序汪,觉得不做点啥好像对不起这个特别有…

树的度,结点,叶子结点,二叉树

设树T的度为4,其中度为1、2、3、4的结点个数分别为4、2、1、1。则T中有多少个叶子结点? A.4 B.6 C.8 D.10 一棵含有n个结点的树,有n-1个分支,即 n 14 22 31 41 1 16; 又由于 n n0 n1 n2 n3 n4 n0 8; n0 8 16&#…

C#刷遍Leetcode面试题系列连载(6):No.372 - 超级次方

点击蓝字“dotNET匠人”关注我哟加个“星标★”,每日 7:15,好文必达!前文传送门:C# 刷遍 Leetcode 面试题系列连载(1) - 入门与工具简介C#刷遍Leetcode面试题系列连载(2): No.38 - 报数C#刷遍Le…

堆 最大堆 最小堆

堆是特殊的队列 从堆中取出元素是依照元素的优先级大小,而不是元素进入队列的先后顺序 堆最常用的结构是二叉树表示,不特指的话,它是一棵完全二叉树 因为高度为h的完全二叉树有结点2(h-1) 到2h-1个,且结点排布及其规律&#xff…

使用 Postman 测试你的 API

使用 Postman 测试你的 APIIntro最近想对 API 做一些自动化测试,看了几个工具,最后选择了 postman,感觉 postman 的设计更好一些,我们可以在请求发送之前和请求获取到响应之后都可以自定义脚本,很灵活。而且 postman 的…

散列查找 散列表(哈希表)

哈希表的平均查找长度是()的函数。 A.哈希表的长度 B.哈希表的装填因子 C.哈希函数 D.表中元素的多少 装填因子 关键字个数 / 表长 符号表:是 “名字(Name)–属性(Attribute)”对的集合 符号表…

使用 postman 给 API 写测试

使用 postman 给 API 写测试Intro上次我们简单介绍了 使用 postman 测试 API,这次主要来写一些测试用例以检查请求的响应是否符合我们的预期以及如何使用脚本测试使用 postman 内置的随机变量postman 内置的有一些产生随机值的变量,在发送请求时随机生成…

图 无向图 有向图

若无向图G (V,E)中含7个顶点,要保证图G在任何情况下都是连通的,则需要的边数最少是: A.6 B.15 C.16 D.21 (n-1)*(n-2)/21 6 * 5/2116 设无向图的顶点个数为N,则该图最多有多少条边?…

Excel催化剂回顾2019年产出(文章合集),展望2020年

一年结束,大家都对自己一年辛勤耕耘作一个总结,Excel催化剂也不落俗,也来一篇文章合集式的梳理,方便大家对Excel催化剂的产出有一个宏观全局的认识。不断创新中前行Excel催化剂从2018年开波以来,累计到如今已有114个大…

朗文3000词汇表带音标_英语零基础音标语法都不会词汇量3000 学雅思到6/6.5分 需要多久 该如何做?...

谢邀~题主好!看来题主的零基础非常纯正。你现在测试的单词量是3000,只能大概展示出你的一些基础,但其实真正的还是要看你会使用,真正理解用法、语境的词汇有多少,而不是为了看起来有多少的那个数字。那么首先题主最好的…

选择排序 插入排序 交换排序

动图演示: https://www.runoob.com/w3cnote/bubble-sort.html 选择排序 简单选择排序 在未排序的序列中,选出最小的元素和序列的首位元素交换,接下来在剩下的未排序序列中,再选出最小元素与序列的第二位元素交换,以此…

ASP.NETCore编程实现基本认证

HTTP基本认证在HTTP中,HTTP基本认证(Basic Authentication)是一种允许浏览器或其他客户端程序使用(用户名,口令)请求资源的身份验证方式,不要求cookie,session identifier、login page等标记或载…

计算机原理(计算机系统漫游)

计算机五大组成部件:运算器(ALU),控制器,存储器,输入部件,输出部件 1.控制器 2.运算器 逻辑运算(判断事物的对与错) 数学运算(11) 控制器运算器中央处理器(CP…

使用ASP.NET Core 3.x 构建 RESTful API - 4.2 过滤和搜索

向Web API传递参数数据可以通过多种方式来传给API。 Binding Source Attributes 会告诉 Model 的绑定引擎从哪里找到绑定源。 共有以下六种 Binding Source Attributes: [FromBody] 请求的 Body [FromForm] 请求的 Body 中的 form数据 [FromHeader] 请求的 Header […

360浏览器linux版本_360安全浏览器崩溃解决方案

360安全浏览器崩溃解决方案方案一:打开360安全浏览器,按键盘上的F1调出浏览器医生界面,点击一键修复即可。如图所示:方案二:360浏览器打开了太多标签占用内存,并且随着浏览器开着的时间越长,占用…

.NET 开源软件开发BIM工具包xBIM

一、xBIM 简介BIM(Building Information Modelling)建筑信息模型,xBIM(eXtensible Building Information Modelling)可扩展的建筑信息模型。它是一个.NET 开源软件开发BIM工具包,支持BuildingSmart数据模型…

< meta name=“viewport“ content=“width=device-width, initial-scale=1.0“>的解释

< meta name“viewport” content“widthdevice-width, initial-scale1.0”> meta是html语言head区的一个辅助性标签&#xff0c;位于文档的头部&#xff0c;不包含任何内容 标签的属性定义了与文档相关的名称/值对 meta元素可提供相关页面的元信息&#xff0c;比如针对…

<meta name=“robots“ content=“index,follow“>的解释

为了让搜索引擎禁止抓取本页面 此标签必须放在< head >和< /head >之间 content中的值决定允许抓取的类型&#xff0c;必须同时包含两个值&#xff1a;是否允许索引&#xff08;index&#xff09;和是否跟踪链接&#xff08;follow&#xff0c;也可以理解为是否允…

2019(dotNet全栈开发)公众号回顾

2019年已经过去&#xff0c;人口红利已经逐渐消失&#xff0c;也许这是这10年互联网史上最糟糕的一年&#xff0c;也可能这是未来10年互联网史上最好的一年关于公众号&#xff0c;我其实很早就开始注册了&#xff0c;只是一直没怎么运营&#xff08;ps&#xff1a;不知道怎么推…