Javascript匯出Excel – 1

來源:互聯網
上載者:User

利用用戶端匯出為excel的方法對用戶端有很多的要求,不推薦使用

轉自:

http://bavnnsym.javaeye.com/blog/259963

http://zhidao.baidu.com/question/104369456.html

使用JavaScript中的ActiveXObject填充並設定Excel格式

1建立

var XLObj = new ActiveXObject("Excel.Application" );
var xlBook = XLObj.Workbooks.Add; //新增活頁簿
var ExcelSheet = xlBook.Worksheets(1); //建立工作表

2.儲存表格

ExcelSheet.SaveAs("C://TEST.XLS" );

3.使 Excel 通過 Application 對象可見

ExcelSheet.Application.Visible = true;

4.列印

xlBook.PrintOut;
或者:
ExcelSheet.PrintOut;

5.關閉

xlBook.Close(savechanges=false);
或者:
ExcelSheet.Close(savechanges=false);

6.結束進程

ExcelSheet.Application.Quit();
或者:
XLObj.Quit();
XLObj=null;

7.版面設定

ExcelSheet.ActiveSheet.PageSetup.LeftMargin= 2/0.035;
//頁面邊界 左2厘米
ExcelSheet.ActiveSheet.PageSetup.RightMargin = 3/0.035;
//頁面邊界右3厘米
ExcelSheet.ActiveSheet.PageSetup.TopMargin = 4/0.035;
//頁面邊界上4厘米
ExcelSheet.ActiveSheet.PageSetup.BottomMargin = 5/0.035;
//頁面邊界下5厘米
ExcelSheet.ActiveSheet.PageSetup.HeaderMargin = 1/0.035;
//頁面邊界頁首1厘米
ExcelSheet.ActiveSheet.PageSetup.FooterMargin = 2/0.035;
//頁面邊界頁尾2厘米
ExcelSheet.ActiveSheet.PageSetup.CenterHeader = "頁首中部內容";
ExcelSheet.ActiveSheet.PageSetup.LeftHeader = "頁首左部內容";
ExcelSheet.ActiveSheet.PageSetup.RightHeader = "頁首右部內容";
ExcelSheet.ActiveSheet.PageSetup.CenterFooter = "頁尾中部內容";
ExcelSheet.ActiveSheet.PageSetup.LeftFooter = "頁尾左部內容";
ExcelSheet.ActiveSheet.PageSetup.RightFooter = "頁尾右部內容";

8.對儲存格操作,帶*部分對於行,列,地區都有相應屬性

ExcelSheet.ActiveSheet.Cells(row,col).Value = "內容";
//設定儲存格內容
ExcelSheet.ActiveSheet.Cells(row,col).Borders.Weight = 1;
//設定儲存格邊框*()
ExcelSheet.ActiveSheet.Cells(row,col).Interior.ColorIndex = 1;
//設定儲存格底色*(1-黑色,2-白色,3-紅色,4-綠色,5-藍色,6-黃色,7-粉紅色,8-天藍色,9-醬土色..可以多做嘗試)
ExcelSheet.ActiveSheet.Cells(row,col).Interior.Pattern = 1;
//設定儲存格背景樣式*(1-無,2-細網格,3-粗網格,4-斑點,5-橫線,6-豎線..可以多做嘗試)
ExcelSheet.ActiveSheet.Cells(row,col).Font.ColorIndex = 1;
//設定字型顏色*(與上相同)
ExcelSheet.ActiveSheet.Cells(row,col).Font.Size = 10;
//設定為10號字*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Name = "黑體";
//設定為黑體*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Italic = true;
//設定為斜體*
ExcelSheet.ActiveSheet.Cells(row,col).Font.Bold = true;
//設定為粗體*
ExcelSheet.ActiveSheet.Cells(row,col).ClearContents;
//清除內容*
ExcelSheet.ActiveSheet.Cells(row,col).WrapText=true;
//設定為自動換行*
ExcelSheet.ActiveSheet.Cells(row,col).HorizontalAlignment = 3;
//水平對齊枚舉* (1-常規,2-靠左,3-置中,4-靠右,5-填充 6-左右對齊,7-跨列置中,8-分散對齊)
ExcelSheet.ActiveSheet.Cells(row,col).VerticalAlignment = 2;
//垂直對齊枚舉*(1-靠上,2-置中,3-靠下,4-左右對齊,5-分散對齊)

行,列有相應操作:
ExcelSheet.ActiveSheet.Rows(row).
ExcelSheet.ActiveSheet.Columns(col).
ExcelSheet.ActiveSheet.Rows(startrow+":"+endrow).
//如Rows("1:5" )即1到5行
ExcelSheet.ActiveSheet.Columns(startcol+":"+endcol).
//如Columns("1:5" )即1到5列

地區有相應操作:
XLObj.Range(startcell+":"+endcell).Select;
//如Range("A2:H8" )即A列第2格至H列第8格的整個地區
XLObj.Selection.

合併儲存格
XLObj.Range(startcell+":"+endcell).MergeCells = true;
//如Range("A2:H8" )即將A列第2格至H列第8格的整個地區合并為一個儲存格
XLObj.Range("A2",XLObj.Cells(8,8)).MergeCells = true;

9.設定行高與列寬

ExcelSheet.ActiveSheet.Columns(startcol+":"+endcol).ColumnWidth = 22;
//設定從firstcol到stopcol列的寬度為22
ExcelSheet.ActiveSheet.Rows(startrow+":"+endrow).RowHeight = 22;
//設定從firstrow到stoprow行的寬度為22

Automation server can't create object , AUTOMATION伺服器無法建立對象

方法一:
開始-運行:regsvr32 scrrun.dll

方法二:
請將以下語句複製到記事本中,另存新檔尾碼為.cmd的檔案,並運行。當然在命令列下一句句運行也沒問題。
echo 正在修複,這個過程可能需要幾分鐘,請稍候……
rundll32.exe advpack.dll /DelNodeRunDLL32 %systemroot%/System32/dacui.dll
rundll32.exe advpack.dll /DelNodeRunDLL32 %systemroot%/Catroot/icatalog.mdb
regsvr32 /s comcat.dll
regsvr32 /s asctrls.ocx
regsvr32 /s oleaut32.dll
regsvr32 /s shdocvw.dll /I
regsvr32 /s shdocvw.dll
regsvr32 /s browseui.dll
regsvr32 /s browseui.dll /I
regsvr32 /s msrating.dll
regsvr32 /s mlang.dll
regsvr32 /s hlink.dll
regsvr32 /s mshtml.dll
regsvr32 /s mshtmled.dll
regsvr32 /s urlmon.dll
regsvr32 /s plugin.ocx
regsvr32 /s sendmail.dll
regsvr32 /s mshtml.dll /i
regsvr32 /s scrobj.dll
regsvr32 /s corpol.dll
regsvr32 /s jscript.dll
regsvr32 /s msxml.dll
regsvr32 /s imgutil.dll
regsvr32 /s cryptext.dll
regsvr32 /s inseng.dll
regsvr32 /s iesetup.dll /i
regsvr32 /s cryptdlg.dll
regsvr32 /s actxprxy.dll
regsvr32 /s dispex.dll
regsvr32 /s occache.dll
regsvr32 /s iepeers.dll
regsvr32 /s urlmon.dll /i
regsvr32 /s cdfview.dll
regsvr32 /s webcheck.dll
regsvr32 /s mobsync.dll
regsvr32 /s pngfilt.dll
regsvr32 /s licmgr10.dll
regsvr32 /s hhctrl.ocx
regsvr32 /s inetcfg.dll
regsvr32 /s trialoc.dll
regsvr32 /s tdc.ocx
regsvr32 /s MSR2C.DLL
regsvr32 /s msident.dll
regsvr32 /s msieftp.dll
regsvr32 /s xmsconf.ocx
regsvr32 /s ils.dll
regsvr32 /s msoeacct.dll
regsvr32 /s wab32.dll
regsvr32 /s wabimp.dll
regsvr32 /s wabfind.dll
regsvr32 /s oemiglib.dll
regsvr32 /s directdb.dll
regsvr32 /s inetcomm.dll
regsvr32 /s msoe.dll
regsvr32 /s oeimport.dll
regsvr32 /s msdxm.ocx
regsvr32 /s dxmasf.dll
regsvr32 /s laprxy.dll
regsvr32 /s l3codecx.ax
regsvr32 /s acelpdec.ax
regsvr32 /s mpg4ds32.ax
regsvr32 /s danim.dll
regsvr32 /s Daxctle.ocx
regsvr32 /s lmrt.dll
regsvr32 /s datime.dll
regsvr32 /s dxtrans.dll
regsvr32 /s dxtmsft.dll
regsvr32 /s wshom.ocx
regsvr32 /s wshext.dll
regsvr32 /s vbscript.dll
regsvr32 /s scrrun.dll mstinit.exe /setup
regsvr32 /s msnsspc.dll /SspcCreateSspiReg
regsvr32 /s msapsspc.dll /SspcCreateSspiReg
echo.
echo.
echo 修複成功!任意鍵退出!
pause>nul

如果是組件的註冊問題,用這種方法解決了。

方法三:
我的機器用了上面的方法沒有解決問題,用下面的方法解決了問題,大家不妨可以試試:開啟Internet Explorer “工具”功能表列中的“選項”一欄,單擊“安全”欄中的“自訂層級”選項卡,將第三項“對沒有標記為安全的activex控制項進行初始化和指令碼運行”設定成“啟用”即可。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.