客户要求能导出多sheet的excel,这样就不用人工combine了。google一下,找到了一些solution。最后用了ActiveXObject的方案。原理是先把数据存在table里,再把table的数据装入excel。
要在Internet Options里把SecurityCustom level的Initialize and script ActiveX controls not marked as safe for scripting设为Prompt/Enable。
同时客户端要装excel:)    

function ExportToExcel()
      
{
            
var sHTML1,sHTML2,sHTML3,sHTML4,sHTML5,sHTML6,sHTML7,oExcel,oBook;
            sHTML1 
= document.all("TableSummary").outerHTML;
            sHTML2 
= document.all("TableToBeSubmitted").outerHTML;
            sHTML3 
= document.all("TableToBeCosted").outerHTML;
            sHTML4 
= document.all("TableToBeQuoted").outerHTML;
            sHTML5 
= document.all("TableToBeApproved").outerHTML;
            sHTML6 
= document.all("TableToBeSent").outerHTML;
            sHTML7 
= document.all("TableToBeDispositioned").outerHTML;
            
//Open excel application
             oExcel = new ActiveXObject("Excel.Application");
            
//the excel opened has already 3 sheets by default 
             oBook1 = oExcel.Workbooks.Add();
             
//Add 4 more sheets 
             oBook1.Worksheets.Add();
             oBook1.Worksheets.Add();
             oBook1.Worksheets.Add();
             oBook1.Worksheets.Add();
             
//Assign sheets to variables
             var sheet1,sheet2,sheet3,sheet4,sheet5,sheet6,sheet7;
             sheet1 
= oBook1.Worksheets(1);
             sheet2 
= oBook1.Worksheets(2);
             sheet3 
= oBook1.Worksheets(3);
             sheet4 
= oBook1.Worksheets(4);
             sheet5 
= oBook1.Worksheets(5);
             sheet6 
= oBook1.Worksheets(6);
             sheet7 
= oBook1.Worksheets(7);
             
//Set sheet name
             sheet1.Name = "Summary";
             sheet2.Name 
= "ToBeSubmitted";
             sheet3.Name 
= "ToBeCosted";
             sheet4.Name 
= "ToBeQuoted";
             sheet5.Name 
= "ToBeApproved";
             sheet6.Name 
= "ToBeSent";
             sheet7.Name 
= "ToBeDispositioned";
             
//Set content for each sheet
             oBook1.HTMLProject.HTMLProjectItems(3).Text = sHTML1;
             oBook1.HTMLProject.HTMLProjectItems(
4).Text = sHTML2;
             oBook1.HTMLProject.HTMLProjectItems(
5).Text = sHTML3;
             oBook1.HTMLProject.HTMLProjectItems(
6).Text = sHTML4;
             oBook1.HTMLProject.HTMLProjectItems(
7).Text = sHTML5;
             oBook1.HTMLProject.HTMLProjectItems(
8).Text = sHTML6;
             oBook1.HTMLProject.HTMLProjectItems(
9).Text = sHTML7;
             oBook1.HTMLProject.RefreshDocument();
             oExcel.Visible 
= true;
             oExcel.UserControl 
= true;
             
//optional,prompt to ask save when quit
             ////oExcel.ActiveWorkbook.SaveAs("C:\\TEST.XLS");
             //quit excel app 
             //oExcel.Application.Quit();
             //Close the excel.exe process 
             oExcel = null;  
      }
posted @ 2008-04-01 10:16 zhangz 阅读(55) | 评论 (0)编辑
       上周报名参加了WordCamp Beijing 2007,今天收到组织者的来信,通知我补上blog地址。
       其实我在大三上学期开始用一个免费空间,建了第一个 blog,当时用的是theAnswer,后来换成boblog,直到wordpress,坚持写了1年多,中间也换了一次空间。后来上班了,时间越来越少了,blog就一直没更新了。但是同样因为工作原因,对web2.0的关注一直没变,还是喜欢尝试各种新的应用。虽然类似的服务越来越多了,但wordpress一直发展的很好
       最近开始在cnblogs写这个blog,主要是想记录一些技术上的心得,要坚持下去,希望和大家多交流,共同进步。
posted @ 2007-08-18 11:15 zhangz 阅读(12) | 评论 (0)编辑
pownce用了一段时间了。很多blog都有介绍了。现在有一些邀请名额。要的请留言。
http://pownce.com

有6个邀请
http://www.popfly.ms
有5个邀请
posted @ 2007-08-18 10:56 zhangz 阅读(10) | 评论 (0)编辑