0

gemや複雑なものを使用せずにレール2.3.5でxlsをエクスポートする方法や例はありますか?

私が選択したejectuve_idによる条件でxlsにエクスポートしようとしています私はこのコードを持っています

 *********It s in my controller********  
      @search_ejecutive = params[:search_ejecutive].to_i
      @search_status = params[:status_id].to_i
      @list_ejecutives_comision = Ejecutive.find(:all)
      ejecutive_ids = []

      obj_user.ejecutives.each do |ejecutive|
        @list_ejecutives_comision << Ejecutive.find(ejecutive.id)
      end

      @list_policies_search = Policy.deleted_is(0)

      if params[:search_ejecutive].to_i!=0
        @list_policies_search = @list_policies_search.ejecutive_id_is(@search_ejecutive)
      end

      ejecutive_ids = []
      obj_user.ejecutives.each do |ejecutive|
         ejecutive_ids << ejecutive.id
      end

      if !ejecutive_ids.blank?
          @list_policies_search = @list_policies_search.ejecutive_id_in(ejecutive_ids)
      end 

     @list_policies_search = @list_policies_search.deleted_is(0)
     @list_policies = @list_policies_search.paginate(:page => params[:page], :per_page => 10)

そして、ここに私が試したリンクを示しています

    <% form_remote_tag :url=>{:action=>"generate_print_ejecutive_comercial"},:before=>"load_close('loading_search')",:success=>"load_off('loading_search')" do -%>


    <label>Ejecutivo:</label>
    <%= select_tag 'search_ejecutive',"<option value=\"\">Seleccione</option>"+options_for_select(@list_ejecutives_comision.collect {|t| [t.name.to_s+" "+t.lastname1.to_s,t.id]})%>

   <input name="Buscar" value="Buscar" type="submit" /><span id="loading_search"></span>
<% end %>
  <%= link_to("xls","http://localhost:3000/policy_management/policy/generate_print_ejecutive/generate_print_ejecutive.xls")%>

  <%= link_to "xls", :controller=>"policy_management/policy",:action=>"generate_print_ejecutive",:format=>"xls" ,:search => params[:search_ejecutive],:page => params[:page]    %>

  <%= link_to 'Imprimir', :controller=>"policy_management/policy",:action=>"generate_print_ejecutive", :format=>"pdf" %>
   <div id="table">
<%= render :partial=>"table2" %>

私の :partial table2 は @list_policies の結果です 私の先生は私に秘密を明かしたくないので、そのトリックは

@list_policies

手動でエクスポートしようとしましたが、これを試しました

@list_policies.find(:all,:conditions=>"ejecutive id = 1")

誰かがこれで私を助けることができます、私の先生は私がエクスポートする必要があると私に言いました

私はすべての助けに感謝します

4

1 に答える 1

0

xls の最新の形式を xml で表す方法があります。詳細については、こちらを参照してください

したがって、コントローラーは.xlsリクエストに応答でき、次のgenerate_print_executive.xls.erbようなビューを作成できます。

<?xml version="1.0"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
          xmlns:o="urn:schemas-microsoft-com:office:office"
          xmlns:x="urn:schemas-microsoft-com:office:excel"
          xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
          xmlns:html="http://www.w3.org/TR/REC-html40">
  <Worksheet ss:Name="Sheet1">
    <Table>
      <% @list_policies.each do |policy| %>
        <Row>
          <Cell>
            <Data ss:Type="String"><%= policy.column_data %></Data>
          </Cell>
        </Row>
      <% end %>
    </Table>
  </Worksheet>
</Workbook>

これは、gem を使用せずに を生成する方法のダミーの例にすぎないことに注意.xlsしてください。投稿に必要なものを理解できませんでした。主に投稿のタイトルに答えています :P

于 2013-09-13T23:35:24.907 に答える