title: MagicApp说明
date: 2017-12-06 05:41:00

tags: IT 技术

MagicApp是日常处理的程序,协助进行日常工作处理

批量重命名模块

说明

该模块是根据指定Excel中的指定三列,以某一列为条件查找第二列的文件名称,并在指定的文件夹中查找文件,文件夹中的文件名称格式为column1.colum2,找到文件后重命名为column3+column2
列可以在config.xml文件中设置:

<config>
<Columns>/Items/Item1;/Items/Item2;/Items/Item3</Columns>
<Sheet>Sheet1</Sheet>
<FirstRowAsTitle>1</FirstRowAsTitle>
<Find>/Items/Item1</Find>
<Body>/Items/Item2</Body>
<Connection>/Items/Item3</Connection>
</config>

主要功能分解

  • 选择文件夹
  • 选择Excel文件
  • 读取“序列号”列
  • 读取“文件名称”列
  • 读取“流程编号”列
  • 合成column1.colum2文件名称
  • 在文件夹中查找column1.colum2
  • 重命名为column3+column2

按照类别提取Excel模块

说明

该功能类似Excel筛选功能,筛选完成后自动将同一类数据拷贝到一个单独的sheet页中。筛选的列允许用户自行设置,用户需要设置以下几项

<FilterColumn>文件名称</FilterColumn>
<FilterSheet>Sheet1</FilterSheet>

程序会根据选定的列去自动筛选并合并数据导单独的sheet中。

主要功能分解

  • 选择文件(人机交互)
  • 加载文件
  • 获取指定列中的所有类别
  • 在所有数据中查找某一类别的数据
  • 创建新的表格
  • 基于前一步创建新的sheet并写入,直至所有类别完成
  • 要求所有类别的总数不能超过255

扩展设计

由于表格文件的列可能存在不确定的顺序,因此要求可以根据后续需要指定列,因此使用了config.xml中的扩展。

开发环境

  • SharpDevelop 5.1
  • .NET 4.0
  • NPOI

MagicApp说明的更多相关文章

  1. Air test ios类使用

    1.iOS手机的滑动 相关代码 #python class IOS(Device): ... @property #获取屏幕的尺寸 def display_info(self): if not sel ...

随机推荐

  1. 机器学习基石笔记:13 Hazard of Overfitting

    泛化能力差和过拟合: 引起过拟合的原因: 1)过度VC维(模型复杂度高)------确定性噪声: 2)随机噪声: 3)有限的样本数量N. 具体实验来看模型复杂度Qf/确定性噪声.随机噪声sigma2. ...

  2. iOS开发笔记(Swift)-针对Swift调用PPiFlatSegmentedControl项目的一些修改

    PPiFlatSegmentedControl项目是一个很流行的开源iOS控件库,提供了扁平化风格(Flat style)的SegmentedControl,可以自定义segment的颜色,图标.大小 ...

  3. OC学习2——C语言特性之函数

    1.OC是在C语言的基础上进行扩展的,在OC中直接用C语言进行coding也是可以通过编译的.因此,函数定义的语法格式如下: 函数返回值类型 函数名(形参列表) { //由零条或多条可执行性语句组成的 ...

  4. centos安装守护进程工具supervisor

    安装命令 yum install supervisor 启动守护进程 supervisord -c /etc/supervisord.conf 切换至/etc/supervisord.d目录下 写一个 ...

  5. 项目初始化以后出现:Unable to load script from assets 'index.android.bundle

    Mac中真机测试React Native project时出现Unable to load script from assets 'index.android.bundle' 2018年01月21日 ...

  6. python3中的range函数返回的是列表吗?

    注意,这里说的Python3里面的range函数,和Python2是不同的,返回的不是列表,是可迭代对象. 在python3中,如果执行下面的语句 print(range(10)) 得到结果是 ran ...

  7. leetcode — regular-expression-matching

    /** * Source : https://oj.leetcode.com/problems/regular-expression-matching/ * * Created by lverpeng ...

  8. 原生js格式化json工具

    json格式化小工具,原生js编写,直接上代码: <!DOCTYPE html> <html lang="en"> <head> <met ...

  9. ZooKeeper概念与应用

    Zookeeper是开源的分布式协调服务,提供了分布式数据一致性的解决方案. Zookeeper 可用作配置中心和分布式锁服务,在 Dubbo.Kafka.Spark等分布式集群上得到广泛应用. ZN ...

  10. C++ 重载运算符简单举例

    我们可以重定义或重载大部分 C++ 内置的运算符.这样,就能使用自定义类型的运算符. 重载的运算符是带有特殊名称的函数,函数名是由关键字 operator 和其后要重载的运算符符号构成的.与其他函数一 ...