1

나는 rendel file (http://railscasts.com/episodes/362-exporting-csv-and-excel) 렌더링에 관한 railscasts 튜토리얼을 따랐다. 이미 많은 코드가 있으므로 보석을 사용하여 다시 작성하는 것을 피하려고합니다. 어떻게하면 레일스/임시 디렉토리에 사용자가 그것을 다운로드하게하는 대신 쓸 수 있습니까? 생성 된 후에는 사용자에게 오랫동안 기다리는 대신 전자 메일에 첨부하여 사용자에게 보냅니다. 내 문제는 이제 임시 디렉터리에 작성하는 방법입니다.xls를 tmp 폴더에 쓰는 법

def mymethod 
    @products = Product.order(:name) 

    respond_to do |format| 
    format.xls 
    end 
end 

우리는 레일 3.2를 사용하고 있습니다.

+0

에 CSV를 작성하는 방법에 대한 매우 일반적인 예는? –

답변

0

이것은 당신이 여기에 대한 진전을 이룰 수 있었다 tmp 파일

require 'csv' 

def my_method 
    @products = Product.order(:name) 

    product_csv = CSV.generate do |csv| 
      #you have to add values to CSVs inside arrays 
      csv << %w(column_name1 coulmn_name2 column_name3) 

      @products.each do |pd| 
      csv << [pd.name, 
        pd.price, 
        pd.product_line] 
      end 
     end 

    File.open("tmp/product.xls", 'w:UTF-8') {|file| file.write(product_csv)} 
end 
관련 문제