关于Server.CreateObject("OWC.Spreadsheet")问题,在线!

petiteturbo 2005-09-14 08:34:06
本人想将数据导入到Excel中,网上很多资料提示说用Server.CreateObject("OWC.Spreadsheet")
但是程序报错啊,说什么server对象中不可识别的字符串,后来改成Server.CreateObject("Excel.Application") 后提示说检查权限时,无法创建!!急啊!

有谁用过Server.CreateObject("OWC.Spreadsheet") 或者有什么其他的办法呀?
...全文
224 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
petiteturbo 2005-09-16
  • 打赏
  • 举报
回复
我查到资料了,微软的官方网站上说明了,最新的office2003并不支持owc,只有office2000和officeXP才可以使用,我正好用的是office2003,换成office2000后问题解决!
ok,谢谢帮助!
rainxiang 2005-09-16
  • 打赏
  • 举报
回复
说什么server对象中不可识别的字符串,后来改成Server.CreateObject("Excel.Application") 后提示说检查权限时,无法创建!!

//你文件夹的everyone的权限是否足够.
rainxiang 2005-09-16
  • 打赏
  • 举报
回复
我调试过了,可以通过~!
petiteturbo 2005-09-14
  • 打赏
  • 举报
回复
代码都是一样的,可是就是抱错,Set objSpreadsheet = Server.CreateObject("OWC.Spreadsheet")这一句就是过不去!
你调试通过了吗?郁闷!

==============================
++++++++++修身养性++++++++++++
==============================
rainxiang 2005-09-14
  • 打赏
  • 举报
回复
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
End Sub

Public Property Let ColumnOffset(iColOff)
If iColOff > 0 then
iColOffset = iColOff
Else
iColOffset = 2
End If
End Property

Public Property Let RowOffset(iRowOff)
If iRowOff > 0 then
iRowOffset = iRowOff
Else
iRowOffset = 2
End If
End Property

Sub GenerateWorksheet(objRS)
If objRS.EOF then Exit Sub
Dim objField, iCol, iRow
dim TempStr
iCol = iColOffset
iRow = iRowOffset
For Each objField in objRS.Fields
objSpreadsheet.Cells(iRow, iCol).Value = right(objField.Name,len(objField.Name)-1)
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
Next
Do While Not objRS.EOF
iRow = iRow + 1
iCol = iColOffset
For Each objField in objRS.Fields
If IsNull(objField.Value) then
objSpreadsheet.Cells(iRow, iCol).Value = ""
Else
TempStr=objField.Value
if instr(1,"日期",objField.name)>1 then
TempStr=Year(objField.Value) & "年" & month(objField.Value) & "月" & day(objField.Value) & "日"
end if
if instr(1,objField.name,"时间")>1 then
TempStr=Year(objField.Value) & "年" & month(objField.Value) & "月" & day(objField.Value) & "日 " & hour(objField.value) & "时" & minute(objField.value) & "分" & second(objField.value) & "秒"
end if
objSpreadsheet.Cells(iRow, iCol).Value = TempStr
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
iCol = iCol + 1
Next
objRS.MoveNext
Loop
End Sub

Function SaveWorksheet(strFileName)
On Error Resume Next
Call objSpreadsheet.ActiveSheet.Export(strFileName, 0)
SaveWorksheet = (Err.Number = 0)
End Function
End Class

ExcelPath = "Excel/" & SaveName & ".xls"
Set objExcel = New ExcelGen
objExcel.RowOffset = 1
objExcel.ColumnOffset = 1
Response.write "第一步:文件导出成功!"
objExcel.GenerateWorksheet(AdoRs)
dim Url
Url=ExcelPath
'Url=server.URLEncode(ExcelPath)
If objExcel.SaveWorksheet(Server.MapPath(ExcelPath)) then
response.write "第二步:文件保存成功!

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧