公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

[轉(zhuǎn)帖]ASP導(dǎo)出Excel數(shù)據(jù)的四種方法

liguoquan
2023年5月20日 16:0 本文熱度 1013
:[轉(zhuǎn)帖]ASP導(dǎo)出Excel數(shù)據(jù)的四種方法

ASP導(dǎo)出Excel數(shù)據(jù)的四種方法  

  一、使用OWC


  什么是OWC?


  OWC是Office Web Compent的縮寫,即Microsoft的Office Web組件,它為在Web中繪制圖形提供了靈活的同時(shí)也是最基本的機(jī)制。在一個(gè)intranet環(huán)境中,如果可以假設(shè)客戶機(jī)上存在特定的瀏覽器和一些功能強(qiáng)大的軟件(如IE5和Office 2000),那么就有能力利用Office Web組件提供一個(gè)交互式圖形開發(fā)環(huán)境。這種模式下,客戶端工作站將在整個(gè)任務(wù)中分擔(dān)很大的比重。


<%Option Explicit

Class ExcelGen

Private objSpreadsheet

Private iColOffset


Private iRowOffset

Sub Class_Initialize()

Set objSpreadsheet = Server.createObject("OWC.Spreadsheet")

iRowOffset = 2

iColOffset = 2

End Sub


Sub Class_Terminate()

Set objSpreadsheet = Nothing 'Clean up

End Sub


Public Property Let ColumnOffset(iColOff)

If iColOff > 0 then

iColOffset = iColOff

Else

iColOffset = 2

End If

End Property


Public Property Let RowOffset(iRowOff)

If iRowOff > 0 then

iRowOffset = iRowOff

Else

iRowOffset = 2

End If

End Property Sub GenerateWorksheet(objRS)

'Populates the Excel worksheet based on a Recordset's contents

'Start by displaying the titles

If objRS.EOF then Exit Sub

Dim objField, iCol, iRow

iCol = iColOffset

iRow = iRowOffset

For Each objField in objRS.Fields

objSpreadsheet.Cells(iRow, iCol).Value = objField.Name

objSpreadsheet.Columns(iCol).AutoFitColumns

'設(shè)置Excel表里的字體

objSpreadsheet.Cells(iRow, iCol).Font.Bold = True

objSpreadsheet.Cells(iRow, iCol).Font.Italic = False

objSpreadsheet.Cells(iRow, iCol).Font.Size = 10

objSpreadsheet.Cells(iRow, iCol).Halignment = 2 '居中

iCol = iCol + 1

Next 'objField

'Display all of the data

Do While Not objRS.EOF

iRow = iRow + 1

iCol = iColOffset

For Each objField in objRS.Fields

If IsNull(objField.Value) then

objSpreadsheet.Cells(iRow, iCol).Value = ""

Else

objSpreadsheet.Cells(iRow, iCol).Value = objField.Value

objSpreadsheet.Columns(iCol).AutoFitColumns

objSpreadsheet.Cells(iRow, iCol).Font.Bold = False

objSpreadsheet.Cells(iRow, iCol).Font.Italic = False

objSpreadsheet.Cells(iRow, iCol).Font.Size = 10

End If

iCol = iCol + 1

Next 'objField

objRS.MoveNext

Loop

End Sub Function SaveWorksheet(strFileName)


'Save the worksheet to a specified filename

On Error Resume Next

Call objSpreadsheet.ActiveSheet.Export(strFileName, 0)

SaveWorksheet = (Err.Number = 0)

End Function

End Class


Dim objRS

Set objRS = Server.createObject("ADODB.Recordset")

objRS.Open "select * from xxxx", "Provider=SQLOLEDB.1;Persist Security


Info=True;User ID=xxxx;Password=xxxx;Initial Catalog=xxxx;Data source=xxxx;"

Dim SaveName

SaveName = Request.Cookies("savename")("name")

Dim objExcel

Dim ExcelPath

ExcelPath = "Excel/" & SaveName & ".xls"

Set objExcel = New ExcelGen

objExcel.RowOffset = 1

objExcel.ColumnOffset = 1

objExcel.GenerateWorksheet(objRS)

If objExcel.SaveWorksheet(Server.MapPath(ExcelPath)) then

'Response.Write "<html><body bgcolor='gainsboro' text='#000000'>已保存為Excel文件.


<a href='" & server.URLEncode(ExcelPath) & "'>下載</a>"

Else

Response.Write "在保存過(guò)程中有錯(cuò)誤!"

End If

Set objExcel = Nothing

objRS.Close

Set objRS = Nothing

%> 


  二、用Excel的Application組件在客戶端導(dǎo)出到Excel或Word


  注意:兩個(gè)函數(shù)中的“data“是網(wǎng)頁(yè)中要導(dǎo)出的table的 id


<input type="hidden" name="out_word" οnclick="vbscript:buildDoc" value="導(dǎo)出到word" class="notPrint">

<input type="hidden" name="out_excel" οnclick="AutomateExcel();" value="導(dǎo)出到excel" class="notPrint"> 


  導(dǎo)出到Excel代碼


<script LANGUAGE="javascript">

<!--

function AutomateExcel()

{

// Start Excel and get Application object.

var oXL = new ActiveXObject("Excel.Application");

// Get a new workbook.

var oWB = oXL.Workbooks.Add();

var oSheet = oWB.ActiveSheet;

var table = document.all.data;

var hang = table.rows.length;


var lie = table.rows(0).cells.length;


// Add table headers going cell by cell.

for (i=0;i<hang;i++)

{

for (j=0;j<lie;j++)

{

oSheet.Cells(i+1,j+1).value = table.rows(i).cells(j).innerText;

}


}

oXL.Visible = true;

oXL.UserControl = true;

}

//-->

</script> 


  導(dǎo)出到Word代碼


<script language="vbscript">

Sub buildDoc

set table = document.all.data

row = table.rows.length

column = table.rows(1).cells.length


Set objWordDoc = createObject("Word.Document")


objWordDoc.Application.Documents.Add theTemplate, False

objWordDoc.Application.Visible=True


Dim theArray(20,10000)

for i=0 to row-1

for j=0 to column-1

theArray(j+1,i+1) = table.rows(i).cells(j).innerTEXT

next

next

objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.insertBefore("綜合查詢結(jié)果集") //顯示表格標(biāo)題


objWordDoc.Application.ActiveDocument.Paragraphs.Add.Range.insertBefore("")

Set rngPara = objWordDoc.Application.ActiveDocument.Paragraphs(1).Range

With rngPara

.Bold = True //將標(biāo)題設(shè)為粗體

.ParagraphFormat.Alignment = 1 //將標(biāo)題居中

.Font.Name = "隸書" //設(shè)定標(biāo)題字體

.Font.Size = 18 //設(shè)定標(biāo)題字體大小

End With

Set rngCurrent = objWordDoc.Application.ActiveDocument.Paragraphs(3).Range

Set tabCurrent = ObjWordDoc.Application.ActiveDocument.Tables.Add(rngCurrent,row,column)


for i = 1 to column


objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.insertAfter theArray(i,1)

objWordDoc.Application.ActiveDocument.Tables(1).Rows(1).Cells(i).Range.ParagraphFormat.alignment=1

next

For i =1 to column

For j = 2 to row

objWordDoc.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.insertAfter theArray(i,j)

objWordDoc.Application.ActiveDocument.Tables(1).Rows(j).Cells(i).Range.ParagraphFormat.alignment=1

Next

Next


End Sub

</script> 


  三、直接在IE中打開,再存為EXCEL文件


  把讀出的數(shù)據(jù)用<table>格式,在網(wǎng)頁(yè)中顯示出來(lái),同時(shí),加上下一句即可把EXCEL表在客客戶端顯示。


<%response.ContentType ="application/vnd.ms-excel"%> 


  注意:顯示的頁(yè)面中,只把<table>輸出,最好不要輸出其他表格以外的信息。


  四、導(dǎo)出以半角逗號(hào)隔開的csv


  用fso方法生成文本文件的方法,生成一個(gè)擴(kuò)展名為csv文件。此文件,一行即為數(shù)據(jù)表的一行。生成數(shù)據(jù)表字段用半角逗號(hào)隔開。(有關(guān)fso生成文本文件的方法,在此就不做介紹了)


  CSV文件介紹 (逗號(hào)分隔文件)


  選擇該項(xiàng)系統(tǒng)將創(chuàng)建一個(gè)可供下載的CSV 文件; CSV是最通用的一種文件格式,它可以非常容易地被導(dǎo)入各種PC表格及數(shù)據(jù)庫(kù)中。


  請(qǐng)注意即使選擇表格作為輸出格式,仍然可以將結(jié)果下載CSV文件。在表格輸出屏幕的底部,顯示有 "CSV 文件"選項(xiàng),點(diǎn)擊它即可下載該文件。


  如果您把瀏覽器配置為將您的電子表格軟件與文本(TXT)/逗號(hào)分隔文件(CSV) 相關(guān)聯(lián),當(dāng)您下載該文件時(shí),該文件將自動(dòng)打開。下載下來(lái)后,如果本地已安裝EXCEL,點(diǎn)擊此文件,即可自動(dòng)用EXCEL軟件打開此文件。




該文章在 2023/5/20 16:00:16 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产av天堂无码一区二区三区 | 国产欧美丝袜小视频 | 91传媒在线观看 | 国产一区二区三区亚洲精选 | www亚洲精品少妇裸乳一区二区 | 91欧洲亚洲中日韩在线观看 | 91精品啪在线观看国产91 | 国产呦精品一区二区三区下载 | 国产主播一区二区三区在线观 | 国产精品毛片完整版视频 | 国产三级主播在线视频 | 国产高清av一级av毛片 | 国产原创巨作精品 | 国产区在线观看 | 国产亚洲欧洲ⅴ综合一区 | 国产av一区二区精品久久 | 精品国产免费第一区二区三区日韩 | 成人涩涩视频免费观看 | 国产原创日韩精品国产 | 国产极品高颜值美女在线 | 国产一级毛片久久久久久 | 白丝乳交| 成人午夜福利在线观看 | 2025国产精华国产精 | 国产在线一区二区观看 | 国产色欲av一区二区三区 | 国产成人aa精品一区在线播放 | 国产精品特级毛片一区二区 | 国产福利一区二区在线观看 | 国产成人免费午夜在线观看 | av少妇无码一区二区三区 | 国产91九色在线播放 | 91精品在线免费 | 国产精品va一级二级三级电影 | 国产成人亚洲精品播放器下载 | 国产毛片女人一级毛片 | 国产欧美日韩综合视频在线观看 | 91亚洲超碰无码中文字幕 | 国产无码在线观看免费在线 | 国产精品欧美91成人在线 | 国产精品麻豆久久va精品 |