程序化EXCEL输入输出,数据处理,进入市场部做数据支撑,顺便搞个小工具
先放出SVN地址:https://workweatherpro.googlecode.com/svn/trunk/ExcelWorkbook5
没什么技术含量
就用到了点EXCEL输入输出的东西
基本上就是把EXCEL数据导入到数据库中,进行处理分类,然后再输出。
主要用了NPOI和Gembox来完成,NPOI进行数据的读取,gembox进行数据的输出,采用两种不同的方案,主要是gembox的输出还是比较方便的。
先看看大概的效果图吧:


采用配置文件驱动程序的运行,只要给出相关关键内容就可以了,但局限性也是比较大的,就是这些数据之前就要有分类标志。
公司的数据库要通过审计平台进入,无法直接连接,唯一的接口就可以把数据以EXCEL的方式从ORACLE中copy出来。
数据量小还好,问题是数据量很多,分类太多,大多数时间都浪费在了copy和paste上面了。
于是乎,只能想办法来解决问题,自己搞出个工具来,还要通用,因为数据报表随时在变化,数据格式都是基本上的datatype,datavalue模式
只要预先定义好EXCEL的报表格式,将数据填充上去就好了。
用上了工具之后,每天只要在审计平台上将存储过程运行,将产生的数据导入到一张特定的表中就可以了,而后将数据表中数据导出到excel中,再应用工具将数据导入到本地数据库,完成相关的数据分析就完工。
大大的降低了工作量,90%的时间被节省下来去做一些深层次的数据分析/挖掘方面的事情。
配置文件也被配置成了excel表格式的数据输出方式,轻松的应对各种变化,只需要你完成配置和最终输出到的EXCEL的模板的设计。
好了,今天就写这些吧。
<?xml version="1.0" encoding="utf-8" ?>
<configuration xmlns="Moops.Info" >
<TaskList>
<TaskInfo>
<TaskID>0</TaskID>
<Key>datatime</Key>
<DataType>datatype</DataType>
<TaskTemplate>zhigong_template.xls</TaskTemplate>
<TaskName>直供通报</TaskName>
<SheetArea name="清单">
<DataArea>
<data datatype="zg_6000001" start_column="A1" end_column="F1" column_name="号码,发送短信条数,机构,入网时间,梦网金额,余额" data_column_name="DATA_EXPAND_1,DATA_EXPAND_2,DATA_EXPAND_3,DATA_EXPAND_4,DATA_EXPAND_5,DATA_EXPAND_6"></data>
</DataArea>
</SheetArea>
<SheetArea name="当月data">
<DataArea>
<data datatype="zg_1000001" start_column="E1" end_column="F1" column_name="前一天放号量" data_column_name="DATAEXP,DATAVALUE"></data>
<data datatype="zg_1000002" start_column="C1" end_column="D1" column_name="前两天放号量" data_column_name="DATAEXP,DATAVALUE"></data>
<data datatype="zg_1000003" start_column="A1" end_column="B1" column_name="前三天放号量" data_column_name="DATAEXP,DATAVALUE"></data>
<data datatype="zg_3000001" start_column="G1" end_column="H1" column_name="累计" data_column_name="DATAEXP,DATAVALUE"></data>
<data datatype="zg_5000001" start_column="I1" end_column="J1" column_name="欠费" data_column_name="DATAEXP,DATAVALUE"></data>
</DataArea>
</SheetArea>
<SheetArea name="上月data">
<DataArea>
<data datatype="zg_2000003" start_column="A1" end_column="B1" column_name="前三天放号量" data_column_name="DATAEXP,DATAVALUE"></data>
<data datatype="zg_2000002" start_column="C1" end_column="D1" column_name="前两天放号量" data_column_name="DATAEXP,DATAVALUE"></data>
<data datatype="zg_2000001" start_column="E1" end_column="F1" column_name="前一天天放号量" data_column_name="DATAEXP,DATAVALUE"></data>
<data datatype="zg_4000001" start_column="G1" end_column="H1" column_name="累计" data_column_name="DATAEXP,DATAVALUE"></data>
</DataArea>
</SheetArea>
</TaskInfo>
</TaskList>
</configuration>

浙公网安备 33010602011771号