EBS多单页Excel动态报表开发过程

     <李>   

  前言   
  本文讲述的多单页EXCEL报表开发方式和开发HTML, PDF这类报表的方法大致是一致的,唯一不同的是该报表输出是一个XML文件,但是这种XML文件支持EXCEL直接打开。   
  这种方式有如下两点点非常明显的优点:   
  (1)灵活性。   
  如果客户对报表显示样式要求非常严格的话,那用这种方式就非常方便的了,就比如我这次项目的客户是个德国的人,对报表的显示样式要求极为苛刻,甚至严格到每个列的颜色,边框线,列宽,字体等。用这种方法就可以以类似CSS开发方式一样来编写EXCEL的显示样式代码,然后到输出数据的时候套用不同的样式即可。   
  (2)数据处理非常方便。   
  当报表对输出的数据要做大量的计算,分类汇总等操作时,如果在编写代码的时候直接进行计算,分类汇总等,一旦数据量大的时候会导致报表运行非常慢,很影响效率。而用这种方法,只需从系统里取出最基本的数据即可,然后写好各种计算和分类汇总等的公式,等报表跑出来后利用EXCEL自带的功能自动计算。这样做一方面可以提高报表的性能,另一方面可以使得整个报表的数据是动态,在报表里修改了基本数据后,那些通过计算和分类汇总等操作得出的数据也会联动改变。   
  
  3. excel电子表格   
  该报表输出文件是一个XML文件,该XML文件和我们常见的文件非常类似,只不过普通XML件是一个无格式的资源文件,而该XML文件是带格式的资源文件。就像我们打开任何一个excel文件,选择另存为“XML电子表格2003 (* . XML)”的格式。然后用记事本打开那个XML文件,就可以看到excel表格的庐山真面目。   
  
  下面对EXCEL表格的XML格式文件做个简单介绍。   
  
  3.1示例   
  (1)EXCEL文件以XML格式打开后可以看到其结构图如下:,,,,,   

  李      

  
  

  

   EBS多单页Excel动态报表开发过程”>
  </p>
  <p>
  <br/>
  </p>
  <p>
  (2)单个单页的结构图如下:
  </p>
  <p>
  ,
  <img src=之前   

  2. 工作簿   
  工作簿标签包住的就是整个电子表格,有点类似于HTML语言中的HTML标签。而工作表标签包住的就是其中的一个单页,有点类似于HTML语言中身体的标签,只不过在XML电子表格里可以有多个“身体”。   
  
  3 .“头”   
  我们可以看的到,从工作簿的开始标签到第一个工作表之间还有很多内容,其中包括DocumentProperties, OfficeDocumentSettings, ExcelWorkbook和风格四个标签。这些内容就相当于HTML语言中的头标签,对整个电子表格进行控制。前三者我们可以不去关注,其中ExcelWorkbook中的ActiveSheet标签决定XML电子表格打开时默认展现第几个单页。   
  
  4.风格   
  “头”中最重要的是风格标签。顾名思义,风格就是电子表格的样式.Style是风格的子标签,是单个样式.Styles里包含了整张电子表格需要用到的全部样式。   

  

  拿下面这个风格来看。   

  <前>   & lt; Style  ss: ID=爸行浴弊4恰?   ,,& lt; Borders>   ,,,& lt; Border  ss:位置=癇ottom", ss:线型=癈ontinuous", ss:重量=?“/比;   ,,,& lt; Border  ss:位置=癓eft", ss:线型=癈ontinuous", ss:重量=?“/比;   ,,,& lt; Border  ss:位置=癛ight", ss:线型=癈ontinuous", ss:重量=?“/比;   ,,,& lt; Border  ss:位置=癟op", ss:线型=癈ontinuous", ss:重量=?“/比;   ,,& lt;/Borders>   ,,& lt; Font  ss:字体名=八翁濉?x: CharSet=?34“, ss:大??1“,ss:颜色=? 000000“/比;   & lt;/Style>   之前   

  XML电子表格标记语言跟HTML语言比较类似。标签的各个属性之间用空格隔开,属性名称跟属性值间用“=绷?属性值都需要用双引号包住。不同的一点是,每个属性名称的前面都要加上一个“ss:”。   

EBS多单页Excel动态报表开发过程