Javascript在客户端导出multi-sheet excel
生活随笔
收集整理的這篇文章主要介紹了
Javascript在客户端导出multi-sheet excel
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
客戶要求能導(dǎo)出多sheet的excel,這樣就不用人工combine了。google一下,找到了一些solution。最后用了ActiveXObject的方案。原理是先把數(shù)據(jù)存在table里,再把table的數(shù)據(jù)裝入excel。
要在Internet Options里把Security的Custom level的Initialize and script ActiveX controls not marked as safe for scripting設(shè)為Prompt/Enable。
同時客戶端要裝excel:)????
??????{
????????????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;??
??????}
轉(zhuǎn)載于:https://www.cnblogs.com/zhangz/articles/1132294.html
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的Javascript在客户端导出multi-sheet excel的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [导入]C#正则表达式整理备忘
- 下一篇: 多租户数据库性能测试手册