惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Blog — PlanetScale
Blog — PlanetScale
博客园 - 司徒正美
Vercel News
Vercel News
F
Fortinet All Blogs
月光博客
月光博客
G
Google Developers Blog
博客园 - Franky
GbyAI
GbyAI
The Cloudflare Blog
I
InfoQ
雷峰网
雷峰网
WordPress大学
WordPress大学
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
T
The Blog of Author Tim Ferriss
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 聂微东
小众软件
小众软件
腾讯CDC
B
Blog
量子位
V
V2EX
S
SegmentFault 最新的问题
Google DeepMind News
Google DeepMind News

博客园 - 老头

简易OA漫谈之工作流设计(六,快捷表单和动态表单) 简易OA漫谈之工作流设计(五,直接上级) 简易OA漫谈之工作流设计(四,怎么支持会签) 简易OA漫谈之工作流设计(一个Demo),完成6年前的一个贴子 bom头 ERP产品价格成本计算的几个方法 简易OA漫谈之工作流设计(DB实现) 简易OA漫谈之工作流设计(DB) charindex使用一个异常记录思考 开发人员死得很惨的一个问题 程序员半夜泡奶粉,睡不着了 sql server 2005行列轉換 web效率14條規則(轉) Gridview小技巧-保存選擇狀態 SOA、反射+緩存 擴展Membership建立中小型WEB權限框架(一) 一个简单的WEB流程图组件[demo] 常用javascript 表達式驗證[綜合轉載] 数据表的设计原则(轉載)
使用mht格式做多sheet excel報表
老头 · 2008-09-20 · via 博客园 - 老头

用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時)做得太累.

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