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

一、使用OWC
什么是OWC?
OWC是office Web Compent的缩写,即Microsoft的office Web组件,它为在Web中绘制图形提供了灵活的同时也是最基本的机制。在一个intranet环境中,如果可以假设客户机上存在特定的浏览器和一些功能强大的软件(如IE5和office 2000),那么就有能力利用office Web组件提供一个交互式图形开发环境。这种模式下,客户端工作站将在整个任务中分担很大的比重。
以下为引用的内容:
- <%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
 - iColOffiColOffset = iColOff
 - Else
 - iColOffset = 2
 - End If
 - End Property
 - Public Property Let RowOffset(iRowOff)
 - If iRowOff > 0 then
 - iRowOffiRowOffset = 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
 - '设置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 '居中
 - iColiCol = iCol + 1
 - Next 'objField
 - 'Display all of the data
 - Do While Not objRS.EOF
 - iRowiRow = 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
 - iColiCol = 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 "已保存为Excel文件.
 - 下载"
 - Else
 - Response.Write "在保存过程中有错误!"
 - End If
 - Set objExcel = Nothing
 - objRS.Close
 - Set objRS = Nothing
 - %>
 
二、用Excel的Application组件在客户端导出到Excel或word
以下为引用的内容:
注意:两个函数中的“data“是网页中要导出的table的 id
导出到Excel代码
- 导出到word代码
 
三、直接在IE中打开,再存为Excel文件
以下为引用的内容:
把读出的数据用