WEB开发网
开发学院WEB开发ASP ASP利用FSO导出到CSV文件类 阅读

ASP利用FSO导出到CSV文件类

 2009-06-04 10:42:27 来源:WEB开发网   
核心提示:程序代码<%'=='将纪录输出为(.csv)文件'制作日期:2003年3月'作者 :塞北的雪'==Class Export_CSV PRivate fso '文件系统对象 private fExport dim Exp_Type private sub Class

程序代码

<%
'==========================================================
'将纪录输出为(.csv)文件
'制作日期:2003年3月
'作者     :塞北的雪
'==========================================================
Class Export_CSV
  PRivate fso '文件系统对象
  private fExport
  dim Exp_Type 

  private sub Class_Initialize()
    set FSO= Server.CreateObject("Scripting.FileSystemObject")  '建立文件系统对象实例
    Exp_Type=1  '导出类型  1为追加方式写入一个文件  2为新建一个新文件再写入
  end sub
 
  '关闭对象
  private sub Class_Terminate()
    fExport.Close
    set FSO=nothing
  end sub
 
  '导出主程序(用数组指定字段)
  public Function ExportFile(fullpath,rsset, HeaderArray)
     if Exp_type=1 then
       if not ExistFile(fullpath) then
         if CreateFile(fullpath) then
          WriteHeader HeaderArray
          WriteBody rsSet,HeaderArray
         else
          err_Show "创建文件时发生错误!"
         end if
       else
        
         if OpenFile(fullpath) then
          WriteBody rsSet,HeaderArray        
         else
          err_Show "打开文件时发生错误!"                 
         end if
       end if
     elseif Exp_type=2 then
       if ExistFile(fullpath) then
          err_Show "文件名冲突!"
       else
         if CreateFile(fullpath) then
          WriteHeader HeaderArray 
          WriteBody rsSet,HeaderArray
         else
          err_Show "创建文件时发生错误!"                 
         end if
       end if  
     end if
     if err=0 then
      ExportFile=true
     else
      ExportFile=false
     end if
  end function
 
  '指定的标题书写
  public sub WriteHeader( HeaderArray)
     sLine = ""
     for i=0 to ubound(HeaderArray,2)
       sLine=sLine & "," & HeaderArray(0,i)
     next
     if sLine<>"" then   
       sLine=right(sLine,len(sLine)-1)
       fExport.WriteLine(sLine)
     end if
  end sub

'记录集指定的字段信息输出
  public sub WriteBody(rsSet, HeaderArray)
   rsSet.movefirst
   Do Until rsSet.EOF
    sLine = ""
    for i=0 to ubound(HeaderArray,2)
      sLine=sLine & "," & rsSet(HeaderArray(1,i))
    next
   
    if sLine <> "" then
     sLine = right(sLine, Len(sLine)-1)
     fExport.WriteLine(sLine)
    end if
    rsSet.MoveNext
   Loop
  end sub
 
 
  '导出主程序(完全记录集)
   public Function ExportFile2(fullpath,rsSet)
     if Exp_type=1 then
       if not ExistFile(fullpath) then
         if CreateFile(fullpath) then
          WriteHeader2 rsSet
          WriteBody2 rsSet
         else
          err_Show "创建文件时发生错误!"
         end if
       else
        
         if OpenFile(fullpath) then
          WriteBody2 rsSet        
         else
          err_Show "打开文件时发生错误!"                 
         end if
       end if
     elseif Exp_type=2 then
       if ExistFile(fullpath) then
          err_Show "文件名冲突!"
       else
         if CreateFile(fullpath) then
          WriteHeader2 rsSet 
          WriteBody2 rsSet
         else
          err_Show "创建文件时发生错误!"                 
         end if
       end if  
     end if
     if err=0 then
      ExportFile2=true
     else
      ExportFile2=false
     end if
  end function
 
  '以字段名为标题书写
  public sub WriteHeader2(rsSet)
     sLine = ""
     for i=0 to rsSet.fields.count-1
       sLine=sLine & "," & rsSet.fields(i).name
     next
     if sLine<>"" then   
       sLine=right(sLine,len(sLine)-1)
       fExport.WriteLine(sLine)
     end if
  end sub

'输出记录集中信息
  public sub WriteBody2(rsSet)
   rsSet.movefirst
   Do Until rsSet.EOF
    sLine = ""
    for i=0 to rsSet.fields.count-1
      sLine=sLine & "," & rsSet.fields(i).value
    next
   
    if sLine <> "" then
     sLine = right(sLine, Len(sLine)-1)
     fExport.WriteLine(sLine)
    end if
    rsSet.MoveNext
   Loop
  end sub
 
  '输出错误信息
  private sub Err_Show(errDesc)
    Response.Write errDesc
    Response.End
  end sub
 
  '创建一个文件
  public Function CreateFile(fullpath)
     Set fExport = FSO.CreateTextFile(FullPath, false)
     if err=0 then
      CreateFile=true
     else
      CreateFile=false
     end if
  end function
 
  '打开一个文件
  public Function OpenFile(fullpath)
       set fExport=FSO.OpenTextFile(fullPath,8,false)
       if err=0 then
        OpenFile=true
       else
        OpenFile=false
       end if
  end function
 
 
  '判断指定文件名的文件是否存在
  public function ExistFile(fullpath)
    if FSO.FileExists(fullpath) then
      ExistFile=true
    else
      ExistFile=false
    end if 
  end function
   
end Class
%>

Tags:ASP 利用 FSO

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接