台灣最大程式設計社群網站
線上人數
493
 
會員總數:246203
討論主題:189776
歡迎您免費加入會員
討論區列表 >> ASP >> 匯出EXCEL
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
匯出EXCEL
價值 : 10 QP  點閱數:32053 回應數:13
樓主

chinpig
初學者
71 134
1435 185
發送站內信

請問
如果要將資料轉成EXCEL下載下來
那我要在ASP裡面怎麼寫呢??

例如我有一各BOTTEN 按一下之後 就可以把以下TABLE的資料轉成EXCEL下載

response.write "<table border=1>"
response.write "<tr>"
response.write "<td>你好嗎?"</td>
response.write "</tr>"
response.write "</table>"

那請問我要怎樣寫勒??
謝謝嚕

本篇文章發表於2005-02-07 22:31
1樓
不錯的參考

Bryan(不來ㄣ)
捐贈 VP 給 Bryan(不來ㄣ) 檢舉此回應
以下是在client端將網頁表格中的資料匯出至excel的示範
<html> 
<body> 
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="table1"> 
  <tr> 
    <td width="25%">學號</td> 
    <td width="25%">姓名</td> 
    <td width="25%">科目</td> 
    <td width="25%">成績</td> 
  </tr> 
  <tr> 
    <td width="25%">0001</td> 
    <td width="25%">王小明</td> 
    <td width="25%">國語</td> 
    <td width="25%">90</td> 
  </tr> 
  <tr> 
    <td width="25%">0002</td> 
    <td width="25%">李大名</td> 
    <td width="25%">國語</td> 
    <td width="25%">80</td> 
  </tr> 
  <tr> 
    <td width="25%">0003</td> 
    <td width="25%">趙中明</td> 
    <td width="25%">國語</td> 
    <td width="25%">70</td> 
  </tr> 
</table> 
<form name="f1"> 
  <input type="button" value="匯出至excel" name="B1" onClick="saveToExcel('table1');"> 
</form> 
</body> 
</html> 
<script language="JavaScript"> 
function saveToExcel(str) { 
   try { 
      var xls = new ActiveXObject("Excel.Application"); 
      xls.Visible = true; 
   } 
   catch(e) { 
      alert("開啟失敗,請確定你的電腦已經安裝excel,且瀏覽器必須允許ActiveX控件執行"); 
      return; 
   } 
   var objTable = document.getElementById(str); 
   var xlBook = xls.Workbooks.Add; 
   var xlsheet = xlBook.Worksheets(1); 
   for (var i=0;i<objTable.rows.length;i++) 
      for (var j=0;j<objTable.rows[i].cells.length;j++) 
         xlsheet.Cells(i+1,j+1).value = objTable.rows[i].cells[j].innerHTML; 
} 
</script>

本篇文章回覆於2005-02-07 22:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

chinpig
檢舉此回應
BUT 我有看過
Response.AddHeader "contentdisposition","attachment;filename="&g&".xls"
Response.ContentType="application/vnd.ms-excel"
類似這種寫法

這種要怎樣使用呢???
這各好像就不會用到Active X

在麻煩高手幫忙解答一下 謝謝嚕
本篇文章回覆於2005-02-07 22:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
<%
  Response.AddHeader "content-disposition","attachment; filename=ABC.xls"
  Response.Charset ="BIG5"
  Response.ContentType = "Content-Language;content=zh-tw" 
  Response.ContentType = "application/vnd.ms-excel"
%>
你的網頁內容
本篇文章回覆於2005-02-07 23:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

chinpig
檢舉此回應
不知為什我轉出來是空白的

因為我寫了一各 a.asp是抓資料庫資料的
然後a.asp show出納些資料之後 在最下方我寫了一各butten
那butten按下去之後會跑到b.asp

然後就把
Response.AddHeader "content-disposition","attachment; filename=ABC.xls"
  Response.Charset ="BIG5"
  Response.ContentType = "Content-Language;content=zh-tw" 
  Response.ContentType = "application/vnd.ms-excel"

這幾行貼在我b.asp的程式碼最前面
然後b.asp的程式是a.asp的照抄

是因為降子所以會出來是空白嗎??

????????奇怪說 THANK U
本篇文章回覆於2005-02-07 23:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
要不要寫在a.asp測試一下
本篇文章回覆於2005-02-07 23:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
最有價值解答

孤影
捐贈 VP 給 孤影 檢舉此回應
有個更簡單點的方法...
在button改成如下
<input type="button" name="SaveAs" value="轉存excel檔" onclick="javascript:executeCommand('檔名.xls');">
然後在header中加上以下的javascript
<SCRIPT LANGUAGE="JavaScript">
<!--
function executeCommand(strFname)
{
var testCommand = document.execCommand("SaveAs", true, strFname);
}
//-->
</SCRIPT>

我只有試過IE的瀏覽器,其他的不確定是不是可以.
本篇文章回覆於2005-02-08 04:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

chinpig
檢舉此回應
謝謝以上兩位高手的回覆,以上方法我有是過 也是可以低

我也知道為什麼
 Response.AddHeader "content-disposition","attachment; filename=ABC.xls"
  Response.Charset ="BIG5"
  Response.ContentType = "Content-Language;content=zh-tw" 
  Response.ContentType = "application/vnd.ms-excel"

然後匯出來是空白的
因為要在匯出文件的最後面加上一行
response.end

^________^
本篇文章回覆於2005-02-08 10:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

walker
檢舉此回應
請問一下 我的程式也是 select 資料後轉成execl 但execl會變成空白@@
可以幫我看一下 我哪寫錯嗎

表格內容與資料



匯出execl botten


本篇文章回覆於2010-09-07 09:12
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

老頑童
捐贈 VP 給 老頑童 檢舉此回應
你的程式是捉<table>堛爾禤釅bjTable.rows
但你設給它的是<div>的id
肯定是捉不出來,因div沒有rows這些屬性
本篇文章回覆於2010-09-07 09:48
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

walker
檢舉此回應
頑童大
不好意思 我大概懂你意思
所以我在第二行後有加id

可是還不行
不知要怎麼改比較好
是把<div>拿掉就好嗎
本篇文章回覆於2010-09-07 09:54
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

老頑童
捐贈 VP 給 老頑童 檢舉此回應
那你原本<div>的id有改掉嗎?
id是不能重覆的
若你<div>跟<table>都叫div2
那document.getElementById("div2")會不知道捉哪一個
本篇文章回覆於2010-09-07 10:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

walker
檢舉此回應
ok了

我太粗心了

忘記把<div>改掉
本篇文章回覆於2010-09-07 11:13
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

謝沛
檢舉此回應
想請問一下~如果是在js的環境下,能直接輸出Excel嗎?
我在function裡面寫入Table後,卻輸出空白的Excel
還跳了錯誤,在最後for條件裡面的row
還請大大指點指點,程式碼如下:
本篇文章回覆於2015-04-16 14:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.