Javascript實(shí)現(xiàn)把網(wǎng)頁中table的內(nèi)容導(dǎo)入到excel中的幾種方法
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
一、直接拷貝整個(gè)表格到EXCEL中 二、通過遍歷表格,給EXCEL中相應(yīng)的單元格賦值。 三、把表格中的內(nèi)容提取出來,利用IE的另存為.csv的格式。 各方法的好處: 1. 直接拷貝表格,能夠保留表格中的原有的格式,比如,列,行的合并,對(duì)齊方式,底色等等, 2. 通過遍歷表格,比較靈活,可以遍歷表格某些需要部分的內(nèi)容。 3. 利用IE的另存為,不用創(chuàng)建ActiveXObject對(duì)象,可以處理表格合并方面的問題。 各方法的缺點(diǎn): 1. 可能彈出腳本錯(cuò)誤:Automation不能創(chuàng)建對(duì)象。 解決方法:?jiǎn)⒂?SPAN>IE安全設(shè)置中的:對(duì)沒有標(biāo)記為安全的ActiveX控件進(jìn)行初始化和腳本運(yùn)行。 由于整個(gè)表格復(fù)制到EXCEL中,給表格加個(gè)標(biāo)題,并加入到EXCEL中可能會(huì)遇到麻煩。 解決方法:首先在表格中加入第一行 <tr><td colspan="x" align="center">&</td></tr> X,表示整個(gè)表格的列數(shù),復(fù)制完整個(gè)表格后,加如下代碼,oSheet為當(dāng)前活動(dòng)的sheet. oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(1, x)).value = "表格標(biāo)題";//設(shè)置標(biāo)題 oSheet.Rows(1).Font.Size = 16; //設(shè)置文字大小 oSheet.Rows(1).Font.Name = "宋體";//設(shè)置文字字體 注:以下屬性我沒用著,可能有用,也可能會(huì)報(bào)錯(cuò) oSheet.Range(oSheet.Cells(1,1), oSheet.Cells(1,14)).mergecells=true; //合并單元格 oSheet.Range(oSheet.Cells(1,1), oSheet.Cells(1,14)).Interior.ColorIndex=6;//設(shè)置底色? oSheet.Range(oSheet.Cells(1,1), oSheet.Cells(1,14)).Font.ColorIndex=5;//設(shè)置字體色? oSheet.Rows(1).RowHeight=20; //設(shè)置列高 oSheet.Cells(iRow,iCol).Halignment=’2’//設(shè)置字體居中 2. 可能彈出腳本錯(cuò)誤:Automation不能創(chuàng)建對(duì)象(解決方法如上)。 表格內(nèi)容寫入到EXCEL中無表格線(未解決) 且有單元格合并時(shí)會(huì)有問題,解決方法:合并單元格后再寫數(shù)據(jù)。 oSheet.Range(oSheet.Cells(1,1), oSheet.Cells(1,14)).mergecells=true; //合并單元格 3. 表格內(nèi)容寫入到EXCEL中無表格線(未解決) 表格格式復(fù)雜時(shí),會(huì)有問題,(rowspan>1 or colspan>1),解決方法:一般都是表頭格式比較復(fù)雜,可先把表頭寫死,然后再循環(huán)寫其他數(shù)據(jù)。 該文章在 2010/8/18 1:00:42 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |