程序化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>
posted @ 2011-04-24 23:00  massinger  阅读(1202)  评论(0)    收藏  举报