利用asp將資料寫入到新的excel檔案中

來源:互聯網
上載者:User

很多人都在罈子裡問這個問題,因為代碼比較長,很多人給出的答案都不是很完整,導致一些剛接觸的人走了不少的彎路,這裡總結一下產生的過程以及原理,希望能給大家一個參考和協助

1.首先產生一個excel檔案,需要瞭解這種檔案的格式,比如檔案頭的資訊,檔案體(body部分) ,檔案底資訊;我們可以通過這樣的方式來探測一個excel檔案的結構,先建立excel檔案,開啟後另存新檔網頁形式,這樣就獲得了excel在網頁中的全部代碼 其中把一些檔案頭的資訊和檔案底資訊,我們儲存在兩個固定的檔案中,比如tou.txt 和di.txt 這樣以後我們產生excel的時候,讀取這兩個檔案內容就可以了  ,然後檔案體資訊,因為我們輸出的內容會根據我們的查詢產生不同的內容,所以這個在寫一個程式的時候直接寫就可以了,(內容部分我們完全可以按照我們打好的表格,來控制我們輸出的內容的結構)

註:將excel儲存為網頁後,我們直接再把副檔名改為.xls,系統仍然是可以開啟訪問的。所以有了這些內容,我們既可以產生.htm的excel檔案,也可以直接產生.xls的excel檔案

2.實際產生的過程。
asp程式模組-----》讀取檔案頭資訊-----》組建檔案體資訊-------》讀取檔案底資訊----》然後把這三個內容通過fso產生一個擴張名為.xls或者.htm的試算表檔案。

3。例子
檔案頭:tou.txt
檔案底:di.txt

產生部分:
sub toexcel(filename)  

 'TOEXCELLR變數儲存檔案體資訊,大家可以看一下,我這裡結構都是用表格控制,
  
  TOEXCELLR="<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr align='center'> "
  
  TOEXCELLR=TOEXCELLR&"<td>公司名稱</td>"
  TOEXCELLR=TOEXCELLR&"<td>公司英文名稱</td>"
  TOEXCELLR=TOEXCELLR&"<td>出國任務通知書主送單位</td>"
  TOEXCELLR=TOEXCELLR&"<td>出國任務通知書所需份數</td>"
 TOEXCELLR=TOEXCELLR&"</tr><tr>"
   
  TOEXCELLR=TOEXCELLR&"<td>七月網路</td>"
  TOEXCELLR=TOEXCELLR&"<td>julyweb</td>"
  TOEXCELLR=TOEXCELLR&"<td>七月網路</td>"
  TOEXCELLR=TOEXCELLR&"<td>1</td>"
   
 
  TOEXCELLR=TOEXCELLR&" </tr>"
 
 
  toexcellr=toexcellr&"</table>"
  tou=readtext("tou.txt")
  di=readtext("di.txt")
  toexcellr=tou&toexcellr&di
  call savetext(filename,toexcellr)
end sub

'---------------輔助的函數,一個讀取檔案的函數,一個寫入檔案的函數

function ReadText(FileName)  '這是一個用於讀出檔案的函數
  'response.write server.MapPath(FileName)
  'response.end
set adf=server.CreateObject("Adodb.Stream")
with adf
.Type=2
.LineSeparator=10
.Open
.LoadFromFile (server.MapPath(FileName))
.Charset="GB2312"
.Position=2
ReadText=.ReadText
.Cancel()
.Close()
end with
set ads=nothing
end function

sub SaveText(FileName,Data)  '這是一個用於寫檔案的函數
 set fs= createobject("scripting.filesystemobject")
    set ts=fs.createtextfile(server.MapPath(FileName),true)
    ts.writeline(data)
    ts.close
    set ts=nothing
    set fs=nothing
end sub

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.