一、使用owc
什么是owc?
owc是office web compent的缩写,即microsoft的office web组件,它为在web中绘制图形提供了灵活的同时也是最基本的机制。在一个intr.net环境中,如果可以假设客户机上存在特定的浏览器和一些功能强大的软件(如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 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) '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 '居中 icol = icol + 1 next 'objfield 'display all of the data 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 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 icol = 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 "<html><body bgcolor='gainsboro' text='#000000'>已保存为excel文件. <a href='" & server.urlencode(excelpath) & "'>下载</a>" else response.write "在保存过程中有错误!" end if set objexcel = nothing objrs.close set objrs = nothing %> |
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器