ASP教程之用ASP将数据读数导出EXCEL文件的四种方...
asp可以轻松地实现对页面内容的动态控制,根据不同的浏览者,显示不同的页面内容。而浏览者一点觉察不出来,就像为他专门制作的页面一样。使用各种各样的组件,asp可以完成无比强大的功能。excel|导出excel|数据tonny出自:伟网动力http://www.weiw.com/如需转载,请写明出处。
作者序:这类常识点,在网上有良多,在此自己只是做一个总结。
1、用OWC
甚么是OWC?
OWC是OfficeWebCompent的缩写,即Microsoft的OfficeWeb组件,它为在Web中绘制图形供应
了天真的同时也是最基础的机制。在一个intranet情况中,假如能够假定客户机上存在特定的扫瞄器和一
些功效壮大的软件(如IE5和Office2000),那末就有才能使用OfficeWeb组件供应一个交互式图形开
发情况。这类形式下,客户端事情站将在全部义务平分担很年夜的比重。
有关的具体先容也可在本站找到。
<%OptionExplicit
ClassExcelGen
PrivateobjSpreadsheet
PrivateiColOffset
PrivateiRowOffset
SubClass_Initialize()
SetobjSpreadsheet=Server.CreateObject("OWC.Spreadsheet")
iRowOffset=2
iColOffset=2
EndSub
SubClass_Terminate()
SetobjSpreadsheet=NothingCleanup
EndSub
PublicPropertyLetColumnOffset(iColOff)
IfiColOff>0then
iColOffset=iColOff
Else
iColOffset=2
EndIf
EndProperty
PublicPropertyLetRowOffset(iRowOff)
IfiRowOff>0then
iRowOffset=iRowOff
Else
iRowOffset=2
EndIf
EndPropertySubGenerateWorksheet(objRS)
PopulatestheExcelworksheetbasedonaRecordsetscontents
Startbydisplayingthetitles
IfobjRS.EOFthenExitSub
DimobjField,iCol,iRow
iCol=iColOffset
iRow=iRowOffset
ForEachobjFieldinobjRS.Fields
objSpreadsheet.Cells(iRow,iCol).Value=objField.Name
objSpreadsheet.Columns(iCol).AutoFitColumns
设置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
NextobjField
Displayallofthedata
DoWhileNotobjRS.EOF
iRow=iRow+1
iCol=iColOffset
ForEachobjFieldinobjRS.Fields
IfIsNull(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
EndIf
iCol=iCol+1
NextobjField
objRS.MoveNext
Loop
EndSubFunctionSaveWorksheet(strFileName)
Savetheworksheettoaspecifiedfilename
OnErrorResumeNext
CallobjSpreadsheet.ActiveSheet.Export(strFileName,0)
SaveWorksheet=(Err.Number=0)
EndFunction
EndClass
DimobjRS
SetobjRS=Server.CreateObject("ADODB.Recordset")
objRS.Open"SELECT*FROMxxxx","Provider=SQLOLEDB.1;PersistSecurity
Info=True;UserID=xxxx;Password=xxxx;InitialCatalog=xxxx;Datasource=xxxx;"
DimSaveName
SaveName=Request.Cookies("savename")("name")
DimobjExcel
DimExcelPath
ExcelPath="Excel"&SaveName&".xls"
SetobjExcel=NewExcelGen
objExcel.RowOffset=1
objExcel.ColumnOffset=1
objExcel.GenerateWorksheet(objRS)
IfobjExcel.SaveWorksheet(Server.MapPath(ExcelPath))then
Response.Write"<html><bodybgcolor=gainsborotext=#000000>已保留为Excel文件.
<ahref="&server.URLEncode(ExcelPath)&">下载</a>"
Else
Response.Write"在保留过程当中有毛病!"
EndIf
SetobjExcel=Nothing
objRS.Close
SetobjRS=Nothing
%>
2、用Excel的Application组件在客户端导出到Excel或Word
注重:两个函数中的“data“是网页中要导出的table的id
<inputtype="hidden"name="out_word"onclick="vbscript:buildDoc"value="导出到word"class="notPrint">
<inputtype="hidden"name="out_excel"onclick="AutomateExcel();"value="导出到excel"class="notPrint">
导出到Excel代码
<SCRIPTLANGUAGE="javascript">
<!--
functionAutomateExcel()
{
//StartExcelandgetApplicationobject.
varoXL=newActiveXObject("Excel.Application");
//Getanewworkbook.
varoWB=oXL.Workbooks.Add();
varoSheet=oWB.ActiveSheet;
vartable=document.all.data;
varhang=table.rows.length;
varlie=table.rows(0).cells.length;
//Addtableheadersgoingcellbycell.
for(i=0;i<hang;i++)
{
for(j=0;j<lie;j++)
{
oSheet.Cells(i+1,j+1</p>优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件 哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的? 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。 学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点: 在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。 我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。 另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
页:
[1]