Re: [請益] 請教輸出網頁至EXCEL時同時進行行列互될…

看板Web_Design作者 (Arrack Tseng)時間15年前 (2009/08/17 03:53), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
※ 引述《redhat1980 (家庭公用ID XD)》之銘言: : 如標題... : 不知道要如何做呢?還請版上高手指點小弟 謝謝 : (EXCEL中轉置功能我是知道 但使用者很懶的用Orz... 所以需要用程式控制直接轉置) : 感謝... JS控制EXCEL的方式,一般都是ActiveX,只能在IE上使用 是否有新的方式,這方面我沒有去查證 不過還真的讓我測試出了JS轉置貼上的方法 當然安全性的設定是一定要做,你曉得的 這次的測試告訴我,幾乎所有VBA能做的事情,在JAVASCRIPT上,都可以 標黃色的部分,要根據表格的內容手動修改,我就不在寫範例去偵測欄位數了 標綠色的部分,就是這次重點~~ 附帶一提,如果你的原始大小,是方形的,可以在第一格直接貼上 如果不是,就要在其他格貼上,再把原本資料刪掉 <script type="text/javascript"> function ExportToExcel(tableid) { var curTbl = document.getElementById(tableid); var oXL = new ActiveXObject("Excel.Application"); var oWB = oXL.Workbooks.Add(); //var oSheet = oXL.ActiveWorkbook.ActiveSheet; var oSheet = oWB.ActiveSheet; var sel = document.body.createTextRange(); sel.moveToElementText(curTbl); sel.select(); sel.execCommand("Copy"); oXL.Visible = true; oSheet.Paste(); try{ oXL.Selection.Copy(); oSheet.Range("l1").Select(); oXL.Selection.PasteSpecial(null, null, false, true); oSheet.Columns("a:k").Select(); oXL.Selection.Delete(); oSheet.Range("a1").Select(); }catch(e){ alert('Obj Error'+e); } /* oSheet.selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= False, Transpose:=True oSheet.columns("A:K").Select(); */ } ExportToExcel('table1'); </script> 完整程式請到 http://www.box.net/shared/0htcudo73i 既然有提到PHP,建議還是使用PHP來輸出 PHP輸出EXCEL,可以用TABLE來輸出,改個header即可,2003不會有警告 或可參考phpexcel,具有完整的操作 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.84.187.202 ※ 編輯: arrack 來自: 219.84.187.202 (08/17 04:00) ※ 編輯: arrack 來自: 219.84.187.202 (08/17 04:01)

08/19 21:13, , 1F
嘗試中 非常感謝arrack大大的熱心指導!!!!!!
08/19 21:13, 1F
文章代碼(AID): #1AY6F6eI (Web_Design)