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

tags: IT 技术

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

批量重命名模块

说明

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

  1. <config>
  2. <Columns>/Items/Item1;/Items/Item2;/Items/Item3</Columns>
  3. <Sheet>Sheet1</Sheet>
  4. <FirstRowAsTitle>1</FirstRowAsTitle>
  5. <Find>/Items/Item1</Find>
  6. <Body>/Items/Item2</Body>
  7. <Connection>/Items/Item3</Connection>
  8. </config>

主要功能分解

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

按照类别提取Excel模块

说明

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

  1. <FilterColumn>文件名称</FilterColumn>
  2. <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. Maven - 实例-1-手工创建Maven项目

    1- 根据包结构创建maven项目目录 TestMaven - src - src/main/java/anliven/testmaven01/HelloMaven.java - src/test/j ...

  2. Liferay7 BPM门户开发之3: Activiti开发环境搭建

    下载地址: http://activiti.org/download.html 源码: https://github.com/Activiti/Activiti 环境准备(检查项): JDK 1.7 ...

  3. postgresql-删除重复数据

      greenplum最终的方法是: delete from test where (gp_segment_id, ctid) not in (select gp_segment_id, min(ct ...

  4. 【PaddlePaddle】自然语言处理:句词预测

    前言 预测词汇的相关性算是自然语言中的HelloWolrd.本文主要根据百度PaddlePaddle示例word2vec,对句子中下一个单词的预测.该示例使用4个词语来预测下一个词. 1. 数据集以及 ...

  5. 写好Java代码的30条经验总结

    成为一个优秀的Java程序员,有着良好的代码编写习惯是必不可少的.下面就让我们来看看代码编写的30条建议吧. (1) 类名首字母应该大写.字段.方法以及对象(句柄)的首字母应小写.对于所有标识符,其中 ...

  6. java——IObufferedReader文件输入输出流

    package com.jredu.ch02_lianxi; import java.io.BufferedReader;import java.io.BufferedWriter;import ja ...

  7. 独享锁 & 共享锁

    独享锁(互斥锁):同时只能有一个线程获得锁.比如,ReentrantLock 是互斥锁,ReadWriteLock 中的写锁是互斥锁. 共享锁:可以有多个线程同时获得锁.比如,Semaphore.Co ...

  8. mysql表分区实战

    一,什么是数据库分区以mysql为例,mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面 (可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件 ...

  9. Nexus安装、使用说明 (转)

    1. 为什么使用Nexus 如果没有私服,我们所需的所有构件都需要通过maven的中央仓库和第三方的Maven仓库下载到本地,而一个团队中的所有人都重复的从maven仓库下 载构件无疑加大了仓库的负载 ...

  10. 区块链 + 大数据:EOS存储

    谈到区块链的存储,我们很容易联想到它的链式存储结构,然而区块链从比特币发展到今日当红的EOS,技术形态已经演化了10年之久.目前的EOS的存储除了确认结构的链式存储以外,在状态存储方面有了很大的进步, ...