Re: [請益] 請教輸出網頁至EXCEL時同時進行行列互될…
※ 引述《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
08/19 21:13, 1F