网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > ASP.net > 正文

ASP教程之导出Excel数据的四种方法

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/01/07

我们有时候需要把数据导出来,作为参考等等。下面就为你介绍,ASP导出Excel书籍的四种方法。

一、使用OWC

什么是OWC?

OWC是office Web Compent的缩写,即Microsoft的office Web组件,它为在Web中绘制图形提供了灵活的同时也是最基本的机制。在一个intranet环境中,如果可以假设客户机上存在特定的浏览器和一些功能强大的软件(如IE5和office 2000),那么就有能力利用office Web组件提供一个交互式图形开发环境。这种模式下,客户端工作站将在整个任务中分担很大的比重。

以下为引用的内容:

  1. <%Option Explicit   
  2. Class ExcelGen   
  3. Private obJSPreadsheet   
  4. Private iColOffset  
  5.  
  6. Private iRowOffset   
  7. Sub Class_Initialize()   
  8. Set obJSPreadsheet = Server.CreateObject("OWC.Spreadsheet")   
  9. iRowOffset = 2   
  10. iColOffset = 2   
  11. End Sub  
  12.  
  13. Sub Class_Terminate()   
  14. Set obJSPreadsheet = Nothing ''Clean up   
  15. End Sub  
  16.  
  17. Public Property Let ColumnOffset(iColOff)   
  18. If iColOff > 0 then   
  19. iColOffiColOffset = iColOff   
  20. Else   
  21. iColOffset = 2   
  22. End If   
  23. End Property  
  24.  
  25. Public Property Let RowOffset(iRowOff)   
  26. If iRowOff > 0 then   
  27. iRowOffiRowOffset = iRowOff   
  28. Else   
  29. iRowOffset = 2   
  30. End If   
  31. End Property Sub GenerateWorksheet(objRS)   
  32. ''Populates the Excel worksheet based on a Recordset''s contents   
  33. ''Start by displaying the titles   
  34. If objRS.EOF then Exit Sub   
  35. Dim objField, iCol, iRow   
  36. iCol = iColOffset   
  37. iRow = iRowOffset   
  38. For Each objField in objRS.Fields   
  39. obJSPreadsheet.Cells(iRow, iCol).Value = objField.Name   
  40. obJSPreadsheet.Columns(iCol).AutoFitColumns   
  41. ''设置Excel表里的字体   
  42. obJSPreadsheet.Cells(iRow, iCol).Font.Bold = True   
  43. obJSPreadsheet.Cells(iRow, iCol).Font.Italic = False   
  44. obJSPreadsheet.Cells(iRow, iCol).Font.Size = 10   
  45. obJSPreadsheet.Cells(iRow, iCol).Halignment = 2 ''居中   
  46. iColiCol = iCol + 1   
  47. Next ''objField   
  48. ''Display all of the data   
  49. Do While Not objRS.EOF   
  50. iRowiRow = iRow + 1   
  51. iCol = iColOffset   
  52. For Each objField in objRS.Fields   
  53. If IsNull(objField.Value) then   
  54. obJSPreadsheet.Cells(iRow, iCol).Value = ""   
  55. Else   
  56. obJSPreadsheet.Cells(iRow, iCol).Value = objField.Value   
  57. obJSPreadsheet.Columns(iCol).AutoFitColumns   
  58. obJSPreadsheet.Cells(iRow, iCol).Font.Bold = False   
  59. obJSPreadsheet.Cells(iRow, iCol).Font.Italic = False   
  60. obJSPreadsheet.Cells(iRow, iCol).Font.Size = 10   
  61. End If   
  62. iColiCol = iCol + 1   
  63. Next ''objField   
  64. objRS.MoveNext   
  65. Loop   
  66. End Sub Function SaveWorksheet(strFileName)  
  67.  
  68. ''Save the worksheet to a specified filename   
  69. On Error Resume Next   
  70. Call obJSPreadsheet.ActiveSheet.Export(strFileName, 0)   
  71. SaveWorksheet = (Err.Number = 0)   
  72. End Function   
  73. End Class  
  74.  
  75. Dim objRS   
  76. Set objRS = Server.CreateObject("ADODB.Recordset")   
  77. objRS.Open "SELECT * FROM xxxx", "Provider=SQLOLEDB.1;Persist Security  
  78.  
  79. Info=True;User ID=xxxx;Password=xxxx;Initial Catalog=xxxx;Data source=xxxx;"   
  80. Dim SaveName   
  81. SaveName = Request.Cookies("savename")("name")   
  82. Dim objExcel   
  83. Dim ExcelPath   
  84. ExcelPath = "Excel\" & SaveName & ".xls"   
  85. Set objExcel = New ExcelGen   
  86. objExcel.RowOffset = 1   
  87. objExcel.ColumnOffset = 1   
  88. objExcel.GenerateWorksheet(objRS)   
  89. If objExcel.SaveWorksheet(Server.MapPath(ExcelPath)) then   
  90. ''Response.Write "<HTML><body bgcolor=''gainsboro'' text=''#000000''>已保存为Excel文件.  
  91. <a href=../../''" & server.URLEncode(ExcelPath) & "''>下载</a>"   
  92. Else   
  93. Response.Write "在保存过程中有错误!"   
  94. End If   
  95. Set objExcel = Nothing   
  96. objRS.Close   
  97. Set objRS = Nothing   
  98. %>  

二、用Excel的Application组件在客户端导出到Excel或word

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号