着急,asp导出为excel,为什么保存了但是没有生成excel文件呢?现在只是在我本机上执行的。谢谢
因为一个项目,学习了网上一位前辈的asp导出为excel,为什么最后没有文件呢?着急,在线求助!谢谢!
server.scripttimeout=100000 '处理时间较长,设置值应大一点
On Error Resume Next
set objExcelApp = createObject("Excel.Application")
objExcelApp.DisplayAlerts = false
objExcelApp.Application.Visible = false
Dim straddr
straddr= server.mappath(".")
objExcelApp.WorkBooks.add
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objSpreadsheet = objExcelBook.Sheets(1)
Dim Conn
Dim Connstr
Dim DB
DB="people.mdb" '这里选择数据库
Set conn = Server.createObject("ADODB.Connection")
Connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DB)
Conn.Open Connstr
Dim objRS
Set objRS = Server.createObject("ADODB.Recordset")
objRS.Open "select * FROM people",conn,1,3 '这里用sql语句查询需要导出的内容
'response.write("'"&objRS.RecordCount&"'")
If objRS.EOF then
response.write("Error")
respose.end
End if
Dim objField, iCol, iRow
iCol = 1 '取得列号
iRow = 1 '取得行号
objSpreadsheet.Cells(iRow, iCol).Value = "用ASP将Access中的数据导入到Excel文件" '单元格插入数据
'objSpreadsheet.Columns(iCol).ShrinkToFit=true '设定是否自动适应表格单元大小(单元格宽不变)
'设置Excel表里的字体
'objSpreadsheet.Cells(iRow, iCol).Font.Bold = True '单元格字体加粗
'objSpreadsheet.Cells(iRow, iCol).Font.Italic = False '单元格字体倾斜
'objSpreadsheet.Cells(iRow, iCol).Font.Size = 20 '设置单元格字号
'objSpreadsheet.Cells(iRow, iCol).ParagraphFormat.Alignment=1 '设置单元格对齐格式:居中
'objspreadsheet.Cells(iRow,iCol).font.name="宋体" '设置单元格字体
'objspreadsheet.Cells(iRow,iCol).font.ColorIndex=2 '设置单元格文字的颜色,颜色可以查询,2为白色
'objSpreadsheet.Range("A1:F1").merge '合并单元格(单元区域)
'objSpreadsheet.Range("A1:F1").Interior.ColorIndex = 1 '设计单元络背景色
'objSpreadsheet.Range("A2:F2").WrapText=true '设置字符回卷(自动换行)
iRow=iRow+1
For Each objField in objRS.Fields
objSpreadsheet.Columns(iCol).ShrinkToFit=true
objSpreadsheet.Cells(iRow, iCol).Value = objField.Name
'设置Excel表里的字体
objSpreadsheet.Cells(iRow, iCol).Font.Bold = True
objSpreadsheet.Cells(iRow, iCol).Font.Italic = False
objSpreadsheet.Cells(iRow, iCol).Font.Size = 20
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 = 1
For Each objField in objRS.Fields
response.write(objField.Value)
If IsNull(objField.Value) then
objSpreadsheet.Cells(iRow, iCol).Value = ""
Else
objSpreadsheet.Columns(iCol).ShrinkToFit=true
objSpreadsheet.Cells(iRow, iCol).Value = objField.Value
objSpreadsheet.Cells(iRow, iCol).Halignment = 2
objSpreadsheet.Cells(iRow, iCol).Font.Bold = False
objSpreadsheet.Cells(iRow, iCol).Font.Italic = False
objSpreadsheet.Cells(iRow, iCol).Font.Size = 10
'objSpreadsheet.Cells(iRow, iCol).Halignment = 2
objSpreadsheet.Cells(iRow, iCol).ParagraphFormat.Alignment=1
End If
iCol = iCol + 1
Next 'objField
objRS.MoveNext
Loop
Dim SaveName
SaveName="people"
Dim objExcel
Dim ExcelPath
'ExcelPath = "" & SaveName & ".xls"
ExcelPath = "c:\people.xls"
If objExcelBook.SaveAs (server.mappath(ExcelPath)) then
Response.Write "<html><body bgcolor='gainsboro'text='#000000'>已保存为Excel文件. <a href='"&server.URLEncode(ExcelPath) & "'>下载</a>(右键,目标另存为,能保存下来)"
Else
Response.Write "在保存过程中有错误!"
End If
objExcelApp.Quit
set objExcelApp = Nothing
%>
<%server.scripttimeout=100000 '处理时间较长,设置值应大一点
On Error Resume Next
set objExcelApp = createObject("Excel.Application")
objExcelApp.DisplayAlerts = false
objExcelApp.Application.Visible = false
Dim straddr
straddr= server.mappath(".")
objExcelApp.WorkBooks.add
set objExcelBook = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objSpreadsheet = objExcelBook.Sheets(1)
Dim Conn
Dim Connstr
Dim DB
DB="people.mdb" '这里选择数据库
Set conn = Server.createObject("ADODB.Connection")
Connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DB)
Conn.Open Connstr
Dim objRS
Set objRS = Server.createObject("ADODB.Recordset")
objRS.Open "select * FROM people",conn,1,3 '这里用sql语句查询需要导出的内容
'response.write("'"&objRS.RecordCount&"'")
If objRS.EOF then
response.write("Error")
respose.end
End if
Dim objField, iCol, iRow
iCol = 1 '取得列号
iRow = 1 '取得行号
objSpreadsheet.Cells(iRow, iCol).Value = "用ASP将Access中的数据导入到Excel文件" '单元格插入数据
'objSpreadsheet.Columns(iCol).ShrinkToFit=true '设定是否自动适应表格单元大小(单元格宽不变)
'设置Excel表里的字体
'objSpreadsheet.Cells(iRow, iCol).Font.Bold = True '单元格字体加粗
'objSpreadsheet.Cells(iRow, iCol).Font.Italic = False '单元格字体倾斜
'objSpreadsheet.Cells(iRow, iCol).Font.Size = 20 '设置单元格字号
'objSpreadsheet.Cells(iRow, iCol).ParagraphFormat.Alignment=1 '设置单元格对齐格式:居中
'objspreadsheet.Cells(iRow,iCol).font.name="宋体" '设置单元格字体
'objspreadsheet.Cells(iRow,iCol).font.ColorIndex=2 '设置单元格文字的颜色,颜色可以查询,2为白色
'objSpreadsheet.Range("A1:F1").merge '合并单元格(单元区域)
'objSpreadsheet.Range("A1:F1").Interior.ColorIndex = 1 '设计单元络背景色
'objSpreadsheet.Range("A2:F2").WrapText=true '设置字符回卷(自动换行)
iRow=iRow+1
For Each objField in objRS.Fields
objSpreadsheet.Columns(iCol).ShrinkToFit=true
objSpreadsheet.Cells(iRow, iCol).Value = objField.Name
'设置Excel表里的字体
objSpreadsheet.Cells(iRow, iCol).Font.Bold = True
objSpreadsheet.Cells(iRow, iCol).Font.Italic = False
objSpreadsheet.Cells(iRow, iCol).Font.Size = 20
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 = 1
For Each objField in objRS.Fields
response.write(objField.Value)
If IsNull(objField.Value) then
objSpreadsheet.Cells(iRow, iCol).Value = ""
Else
objSpreadsheet.Columns(iCol).ShrinkToFit=true
objSpreadsheet.Cells(iRow, iCol).Value = objField.Value
objSpreadsheet.Cells(iRow, iCol).Halignment = 2
objSpreadsheet.Cells(iRow, iCol).Font.Bold = False
objSpreadsheet.Cells(iRow, iCol).Font.Italic = False
objSpreadsheet.Cells(iRow, iCol).Font.Size = 10
'objSpreadsheet.Cells(iRow, iCol).Halignment = 2
objSpreadsheet.Cells(iRow, iCol).ParagraphFormat.Alignment=1
End If
iCol = iCol + 1
Next 'objField
objRS.MoveNext
Loop
Dim SaveName
SaveName="people"
Dim objExcel
Dim ExcelPath
'ExcelPath = "" & SaveName & ".xls"
ExcelPath = "c:\people.xls"
If objExcelBook.SaveAs (server.mappath(ExcelPath)) then
Response.Write "<html><body bgcolor='gainsboro'text='#000000'>已保存为Excel文件. <a href='"&server.URLEncode(ExcelPath) & "'>下载</a>(右键,目标另存为,能保存下来)"
Else
Response.Write "在保存过程中有错误!"
End If
objExcelApp.Quit
set objExcelApp = Nothing
%>
...全文
相关推荐
ASP导出生成Excel
在本场景中,我们关注的是如何使用ASP技术来导出数据并生成Excel文件,尤其是涉及与数据库交互的情况。这在数据分析、报表生成或者用户需要下载结构化数据时非常实用。1.
Stimulsoft Reports实战:.NET报表设计集成与常见坑解析
在企业信息化项目中,报表开发往往因模板设计、数据渲染与格式导出三个环节割裂而成为长期维护的痛点。报表组件作为连接业务数据与可视化呈现的关键工具,其选型直接决定开发效率与交付质量。Stimulsoft Reports凭借独立设计器、跨平台支持及稳定的PDF/Excel导出能力,在.NET生态中提供了从模板绘制到代码集成的完整解决方案。其核心思路是以.mrt模板承载排版逻辑,通过StiReport类统一管理加载、注册数据、编译与展示流程,从而降低业务人员的上手成本,并保持工程实现的灵活性。无论是WinForms
ASP.NET Core 导入导出Excel xlsx 文件实例
>导出Excel</a>```当用户点击这个链接时,会触发`Export`操作并下载生成的Excel文件。
asp.net+Ajax实现Excel文件导出
**服务器端代码**:在ASP.NET的后台代码中,我们需要编写一个方法来处理Ajax请求。这个方法会生成Excel文件,然后将其作为HTTP响应的附件返回。
ASP.NET导出EXCEL超高兼容
**保存和响应**:完成数据填充和格式设置后,我们需要将Workbook保存到OutputStream,然后在ASP.NET中通过Response对象将其作为文件流返回给客户端,让用户下载。7.


