日期:2014-05-19  浏览次数:20408 次

从数据库导出到客户端excel中,用的是邹建大哥的程序,如何让excel存储在客户端
执行完毕之后,excel文件时放在服务器端

我想在jsp页面中,或者java中调用这个存储过程
然后生成的excel存在客户端
请问怎么处理


以下是源程序
CREATE       proc       p_exporttb      
    @sqlstr       varchar(8000),   --查询语句,如果查询语句中使用了order       by       ,请加上top       100       percent      
    @path       nvarchar(1000),   --文件存放目录      
    @fname       nvarchar(250),   --文件名      
    @sheetname       varchar(250)= ' '   --要创建的工作表名,默认为文件名      
    as          
    declare       @err       int,@src       nvarchar(255),@desc       nvarchar(255),@out       int      
    declare       @obj       int,@constr       nvarchar(1000),@sql       varchar(8000),@fdlist       varchar(8000)      
       
    --参数检测      
    if       isnull(@fname, ' ')= ' '   set       @fname= 'temp.xls '      
    if       isnull(@sheetname, ' ')= ' '       set       @sheetname=replace(@fname, '. ', '# ')      
       
    --检查文件是否已经存在      
    if       right(@path,1) <> '\ '       set       @path=@path+ '\ '      
    create       table       #tb(a       bit,b       bit,c       bit)      
    set       @sql=@path+@fname      
    insert       into       #tb       exec       master..xp_fileexist       @sql      
       
    --数据库创建语句      
    set       @sql=@path+@fname      
    if       exists(select       1       from       #tb       where       a=1)      
    set       @constr= 'DRIVER={Microsoft   Excel   Driver   (*.xls)};DSN= ' ' ' ';READONLY=FALSE '      
                    + ';CREATE_DB= " '+@sql+ ' ";DBQ= '+@sql      
    else      
    set       @constr= 'Provider=Microsoft.Jet.OLEDB.4.0;Extended   Properties= "Excel   8.0;HDR=YES '      
    + ';DATABASE= '+@sql+ ' " '      
       
    --连接数据库      
    exec       @err=sp_oacreate       'adodb.con