zoukankan      html  css  js  c++  java
  • 使用mht格式做多sheet excel報表

    用excel做報表是最常用的形式,文員MM們都用熟了,你叫他們看網頁,人家不習慣嘛!沒辦法,只好挖空心思,誰叫我們好呆是個男人呢!

    關于使用mime 等方法做excel園子里有很多論述,如http://www.cnblogs.com/birdshome/archive/2005/07/14/mime_excel_sheets.html,他們研究的太仔細.其實我覺得最多的應用過程是:用excel生成模板,用C#處理模板,加入數據.處理的方法大家很多用xsl,比較規則,我覺得直接用文本處理也是可以的:

    1、先用excel做好一個模板,當然可是有多sheet,也可以有圖表等,另存為單一網頁格式.mht;

    2、找到每個sheet放數據的表格行,如一般是這個樣子:

    Code

    我們把它做上特殊標記:

    Code

     其中{~a~}中的a表示字段名,到時我們就對應把它替換為數據.

    好,寫一個處理函數:

    Code

    原理簡單,就是找到{@模板@}這個東西,把一行一行數據填進去,組裝起來,然後替換.

    具體使用,讀出模板數據text,讀出table,調用這個函數就可以把數據插入後寫成以擴展名.xls的文件就行,當然這里以"{@"為其中的一個sheet,其他的sheet可以以其他特殊符號標記,無非是為了找到替換而已.如果有圖表,只用excel打開就會變化,用其他的就不行啦,所以最好做成缺省是excel打開的文件.

    這個方法跟birdshome比就是想讓MM直接編輯模板,不能讓我們做模板(多sheet時)做得太累.

    覺悟:有時找這個格式,有時找那個格式,發現直接處理文本是最簡單的格式.

  • 相关阅读:
    Centos7 禁止firewalld并使用iptables 作默认防火墙
    在Kibana上格式化字段,更好的在dashboard上展示
    利用 ELK系统分析Nginx日志并对数据进行可视化展示
    Nginx 服务器开启status页面检测服务状态
    Linux 上通过binlog文件 恢复mysql 数据库详细步骤
    Linux 为FTP 服务器添加iptables规则--案例分析
    NUMA架构的CPU -- 你真的用好了么?
    Linux 上利用Nginx代理uWSGI处理Flask web应用
    Linux 之不同运维人员共用root 账户权限审计
    Strategy
  • 原文地址:https://www.cnblogs.com/wangxiaohuo/p/1294777.html
Copyright © 2011-2022 走看看