首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

开源分享:根据模板导出Excel的类库(通用)

前言 最近项目上需要导出一个复杂的excel, 完全使用poi生成比较费时,也不易维护,所以本着偷懒的思维,实现了一套根据模板导出Excel的通用功能,现将它开源,与大家分享!...格式{{key}} 例如:在map里增加title的key,那么excel中所有{{title}}的占位符都会被文本替换成map中title对应的value。 动态替换....格式{{rowid.key}} , 我们只需要在excel里定义模板行这一行,生成时会根据实际rowid的list.size()动态生成N行,然后再对N行根据文本替换. ---- 快速上手 1、静态替换...以达到通用的目的。...2、动态替换 在静态替换的Excel模板文件基础上, 增加占位符{{p.id}}等,如下图 程序中会动态生成相关行,如下图 为了达到这个效果,我们还需要构建一个List:dynamicSourceList

1.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【C++】泛型编程 ⑧ ( 类模板继承语法 | 普通类 继承 类模板语法 | 类模板 继承 类模板语法 | 继承类模板必须指定具体的类型参数列表 | 继承 类模板 必须重写构造函数 )

    一、普通类 继承 类模板语法 1、普通类 继承 类模板语法 类模板 作为父类 , 子类 继承 类模板 父类 , 需要 指定 具体的类型参数列表 ; 需要 重写 构造函数 , 其中必须调用 类模板 具体类..., 类模板子类 与 普通类子类 区别就是 , 类模板子类 需要在尖括号中指定 具体的 类型参数列表 的 数据类型 ; 此时 , 在继承时 , 被继承的 类模板 必须 声明 类型参数列表 , 将具体的泛型类型写在尖括号中..., 调用 类模板 具体类 的构造函数 , 如果 子类 继承 类模板父类 , 如果 子类没有实现 构造函数 , // 类模板 继承时 , 需要具体化 类模板 // 也就是 指定 类模板 的 类型参数列表...二、类模板 继承 类模板语法 1、类模板 继承 类模板语法 普通类 继承 类模板时 , 需要指定 类模板 的具体 参数类型 , 下面代码中的 具体类型就是 int ; class Son : public...Father 类模板 继承 类模板 时 , 也需要 指定 父类类模板 的具体 泛型类型 , 只是这个泛型类型可以是 另外一个泛型 T ; 下面的代码 是 类模板 继承 类模板的 代码 , Son2

    1.2K31

    CacheManager:–个通用缓存接口抽象类库

    CacheManager是–个缓存通用接口抽象类库,它支持各种高速缓存提供者,例如Memcache,Redis,并且有许多先进的功能特性。...CacheManager设计目标就是简化程序员对各种复杂缓存场景的处理,通过CacheManager只需要几行的代码就可以支持多层的缓存,从进程内缓存到分布式的缓存。...通过CacheManager可以很容易在项目中更改缓存策略,它还提供一些更有价值的特性,例如高速缓存同步,并发更新,事件通知,性能计数器等等,这些都是我们程序员在使用缓存时经常要解决的。...CacheManager的最新版本是0.6,支持.Net 4.0, .Net 4.5, ASP.NET DNX 4.5.1 和Core,可以通过Nuget 安装,下面是CacheManager的相关的Nuget...,在作者网站和GitHub(https://github.com/MichaCo/CacheManager/tree/master/Articles)上都有很详细的文档:  Getting Started

    99970

    二分查找的通用模板

    二分查找适用于对于有序数组的精确查找,例如从一个有序数组中找到指定元素的索引,可将时间复杂度从普通枚举的 O(n) 降至 O(log n) ,前提是数组必须是有序的,否则是没有办法使用二分查找的。...本文想通过七个例题,约定一种规则或是模板,从此让写二分查找不再出现模棱两可的局面。...因为我们改变了模板,将2种结果合并返回了,这是值得注意的地方。...而套用模板,你只需思考每轮结束后,下一轮应该搜索的区间是什么,以及什么时候该返回结果,最后再想想有没有重复的判断可以抽离出来的(这一步实际上可有可无,毕竟除了让代码变少,对时间复杂度没有什么影响)。...注意:这里和二分查找指定元素是有区别的,二分查找指定元素是可以排除mid的,因为一开始就比较了nums[mid]和target是否相等,而这里并不能确定nums[mid]是否是最小值,只能将搜索范围从[

    91340

    模板类的友元

    它可以访问全局对象;可以使用全局指针访问非全局对象;可以创建自己的对象;可以访问独立对象的模板类 的静态数据成员。 如果要为友元函数提供械板类参数,可以如下所示来进行友元声明。...具体的说,为约束模板友元作准备,要使类的每一个基体 化都获得与友元匹配的基体化。...,这样每种T类型都有自己的友元函数count(); 非约束模板友元 友元的所有具体化都是类的每一个具体化的友元 上边说的约束模板友元函数是在类外面声明的模板的具体化。...通过在类内部声明模板,可以创建非约束友元函数,即每个函数具体化都是每个类具体化的友元。...(c++ 11) 如果能为类型指定别名,将很方便,在模板设计中尤其如此,可使用typedef 为模板具体化指定别名: typedef std::array arrd; type std

    1K70

    C++11模板:如何判断类中是否有指定名称的成员变量?

    https://blog.csdn.net/10km/article/details/51113805 如何判断类中有指定的成员函数,网上可以找到不少的文章,比如下面这两篇就写得很详细了...《C++11之美》 《C++模板,判断是否存在成员函数,实现差异化操作 》 我现在关心的是如何判断一个类中有成员变量?...成员变量有可能是数组,也可能是其他的类。...看了上面关于判断成员函数的文章,理解其原理后,判断是否成员变量,也是差不多的道理,实现起来非常简单: /* 模板函数,检查T是否有名为's'的成员 * value 为bool型检查结果 * type...std::is_void::value}; }; 上面这个模板是用来检查类中是否有名为s的成员, 以opencl中的cl_int2向量类型举例,下面是cl_int2的定义: /* ---

    4.2K10

    SpringBoot 的.yml配置文件通用模板

    Spring Boot的.yml配置文件通用模板 摘要: 本篇博客将提供一个通用的.yml配置文件模板,适用于Spring Boot项目中的各种配置需求。...为了方便开发,一个通用的配置文件模板可以帮助您快速启动新的项目,同时也可以保持一致的配置风格。本文将为您提供一个基本的.yml配置文件模板,适用于大多数Spring Boot项目。...配置方法: 方法一 以下是一个通用的.yml配置文件模板,您可以根据需要进行修改和扩展: server: port: 8080 spring: application: name: your-application-name...方法二 SpringBoot 的配置文件通用模板 application.yml 注意事项 在application.yml 文件书写注意:   1. 不同“等级” 用冒号隔开   2....根据项目需求,您可以在模板的基础上进行定制化的配置,以满足不同的业务需求。

    31810

    psrlog日志记录库的通用接口

    github.com/php-fig/fig… composer require psr/log 日志接口规范 本文制定了日志类库的通用接口规范。...本规范的主要目的,是为了让日志类库以简单通用的方式,通过接收一个 Psr\Log\LoggerInterface 对象,来记录日志信息。...框架以及CMS内容管理系统如有需要,可以对此接口进行扩展,但需遵循本规范, 这才能保证在使用第三方的类库文件时,日志接口仍能正常对接。...1.4 助手类和接口 Psr\Log\AbstractLogger 类使得只需继承它和实现其中的 log 方法,就能够很轻易地实现 LoggerInterface 接口,而另外八个方法就能够把记录信息和上下文信息传给它...Psr\Log\LogLevel 类装载了八个记录等级常量。 2. 包 上述的接口、类和相关的异常类,以及一系列的实现检测文件,都包含在 psr/log 文件包中。 3.

    83420

    类webpack模板的多页Vue项目模板

    这里写一下说明文件和心得体会 配置功能 最基本的功能为webpack3+Vue2的基础上引入了外部组件库elementUI 其实也可以灵活修改为别的,css的支持仅引入了less和sass,相信这两者用的人也是最多的...加入的axios库是本地业务所需,这个可以在生成脚手架时不选择,但这个作为Vue的推荐库,建议尽量用这个,坑比较少。...多页面入口的设置是参照element-starter来做的,特点是文件目录结构一定是要遵循上述规定,具体参考github中的README文档 项目的配置细节大部分都在config目录下,熟悉vue-cli.../webpack模板的应该都很容易看懂,因为只多了一项openPage其余基本相同 编写模板体会 通过双大括号来处理文本的渲染。...编写meta.js用于用户生成项目前的交互和提示。 webpack生成两份分别用于开发环境和打包环境的架构设计很合理。 配置文件单独列出,所有的配置与具体的webpack.conf文件解耦。

    2K60

    浅析JDBC常用的类和接口——JDBC的Driver接口、DriverManager类、Connection接口

    二、Driver接口 1.在JDBC中,每个驱动程序一般会提供一个实现Dirver接口的类。当你在加载某一个Driver类,它自己实例化并向DriverManager注册这个实例。...2.在上面介绍了Driver接口的基础知识点,接下来,小编通过一个案例带大家一起了解加载MySQL的驱动类的用法,代码如下所示: public class Example24 { public...3)static void registerDriver(Driver driver):用于向DriverManager注册指定的驱动程序。...七、总结 1.本文介绍了JDBC的Driver接口、DriverManager类、Connection接口。...2.介绍了Driver接口,当你在加载某一个Driver类,它自己实例化并向DriverManager注册这个实例。

    1.8K40

    根据路径获取指定类实例并执行指定的方法

    “ 最近在OA项目上和第三方做集成,我需要提供一些接口给供第三方调用,在这个过程中觉得自己测试接口很麻烦,所以想写一个JSP界面来界面化测试自己写的一些接口。” ?...在我的实际项目上,当我将接口部署到测试环境的时候,我们需要先自己测试一下接口,然后才会让第三方进行调用,这个时候测试就是一个很麻的事情,因为通常来说接口跟流程绑定,我们需要通过走流程去测试接口,自己觉得很麻烦...,不如自己写一个简单的测试界面,供自己测试使用,这里就需要用到类加载器和反射的相关知识了。...我传入了接口的路径,名称,方法,参数,点击提交时,后台逻辑首先根据路径,通过类加载器获取所有的Class的物理路径,然后通过File来将Class文件存入到集合,此时我们通过传入的名称取到对应Class...文件,紧接着再找到指定方法名执行对应方法,再将接口返回的数据展示到界面上。

    2.7K20

    二叉树的通用遍历模板

    根节点 本文将介绍递归、迭代、标记迭代以及莫里斯迭代四种方式的通用模板,对二叉树分别进行前中后序遍历,以及每种方式的特点。...当然也有直接迭代的方法,不过实现起来很复杂,本文只想介绍一种通用模板,所以并没有深究。 迭代的时间复杂度也是O(n),n为节点数。...如果节点从栈中弹出的时候状态是0,那么就将它的左右节点继续入栈,同时将它本身的状态设置为1;如果节点从栈中弹出的时候状态是1,那么就将该节点打印出来。...进栈顺序决定了下次要访问的节点,也就决定了输出顺序,而只有当出栈的节点是已标记过的才会将其输出。...它的时间复杂度依然是O(n),不过需要2倍的普通迭代的栈空间,空间复杂度依然可看作是O(logn)。

    24020

    999+套各色风格PPT模板,简约纯色通用PPT模板:好看的模板随意选择

    PPT模板是一种可重用的演示文稿设计工具,它可以为用户提供可视化的框架和风格,让用户在不必花费太多时间和精力的情况下创建出具有专业外观和品牌一致性的演示文稿。...以下是PPT模板的几个优势:提高工作效率 PPT模板可以减少用户在演示文稿设计方面的时间和精力投入,因为用户无需从零开始创建演示文稿的每个方面,只需要根据模板的设计进行修改即可。...统一品牌形象 PPT模板可以为一个公司或组织提供一致的品牌形象,因为模板中包含了公司或组织的标志、颜色和字体等元素,这些元素可以在演示文稿中重复使用,从而增强品牌识别度,让观众更容易记住和认同。...方便团队协作 PPT模板可以方便团队协作,因为多人可以基于同一个模板进行演示文稿的设计和修改,从而保证演示文稿在整个团队中保持一致的风格和品牌形象,同时也可以减少时间和精力的浪费。...适应不同的演讲需求 PPT模板可以适应不同的演讲需求,因为模板中包含了各种设计风格和布局,可以根据不同的演讲内容和主题进行选择和修改,从而满足不同的演讲需求,让演示文稿更具个性和创意。

    77000
    领券