仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 611|回复: 8
打印 上一主题 下一主题

[学习教程] ASP教程之用ASP将数据读数导出EXCEL文件的四种方...

[复制链接]
爱飞 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 23:34:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
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能做到,例如银行安全控件
柔情似水 该用户已被删除
沙发
发表于 2015-1-20 09:59:06 | 只看该作者
哪些内置对象是可以跳过的,或者哪些属性和方法是用不到的?
蒙在股里 该用户已被删除
板凳
发表于 2015-1-29 06:43:40 | 只看该作者
用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
莫相离 该用户已被删除
地板
发表于 2015-2-5 23:27:58 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
活着的死人 该用户已被删除
5#
发表于 2015-2-14 05:16:32 | 只看该作者
ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp),它可以看作是VC和Java的混合体吧。
简单生活 该用户已被删除
6#
发表于 2015-3-4 04:49:14 | 只看该作者
学习ASP其实应该上升到如何学习程序设计这种境界,其实学习程序设计又是接受一种编程思想。比如ASP如何学习,你也许在以前的学习中碰到过。以下我仔细给你说几点:
精灵巫婆 该用户已被删除
7#
发表于 2015-3-11 16:56:51 | 只看该作者
在平时的学习过程中要注意现学现用,注重运用,在掌握了一定的基础知识后,我们可以尝试做一些网页,也许在开始的时候我们可能会遇到很多问题,比如说如何很好的构建基本框架。
小魔女 该用户已被删除
8#
发表于 2015-3-19 02:26:43 | 只看该作者
我就感觉到ASP和一些常用的数据库编程以及软件工程方面的思想是非常重要的。我现在也在尝试自己做网页,这其中就用到了ASP,我想它的作用是可想而知的。
admin 该用户已被删除
9#
发表于 2015-3-27 05:10:27 | 只看该作者
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 09:49

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表