# File lib/ruport/data/table.rb, line 804
  def Table(*args,&block)
    table=
    case(args[0])
    when Array
      opts = args[1] || {}
      Ruport::Data::Table.new(f={:column_names => args[0]}.merge(opts),&block)
    when /\.csv/
      return Ruport::Data::Table.load(*args,&block)
    when Hash
      if file = args[0].delete(:file)
        return Ruport::Data::Table.load(file,args[0],&block)
      elsif string = args[0].delete(:string)
        return Ruport::Data::Table.parse(string,args[0],&block)
      else
        return Ruport::Data::Table.new(args[0],&block)
      end
    else
       Ruport::Data::Table.new(:data => [], :column_names => args,&block)
    end             
    
    return table
  end