私はcsv-Fileを作成するプログラムを書いています。最初は問題があります。 だから、私のコードは
def create_csv
destfile = Rails.root.join("public", "reports", "statistic_csv#{id}.csv")
csv_string = FasterCSV.generate do |out|
out << ["row", "of", "CSV", "data"]
end
FasterCSV.open(destfile, "w") do |csv|
csv << csv_string
end
end
私は思った、私は出力の4つの列を取得しますファイル、この行のようなsmth | of | csv | data。しかし、私が得るのは、1つのセルA1に「行、列、CSV、データ」です。どうすれば問題を解決できますか?前もって感謝します! PS。私は、ルビー1.8.7とFasterCSV 1.5.5を使用します
回答:
回答№1は2CSV文字列を2回エンコードしています。これはうまくいくはずです:
def create_csv
destfile = Rails.root.join("public", "reports", "statistic_csv#{id}.csv")
FasterCSV.open(destfile, "wb") do |csv|
csv << ["row", "of", "CSV", "data"]
end
end
カスタム列セパレータを指定することもできます。
FasterCSV.open(destfile, "wb", { :col_sep => "|" }) do |csv|
# ...
end
回答№2の場合は1
Excelでファイルを開くことはできませんが、Excelでファイルを検出していない可能性があります。Excelでファイルを開くのではなく、Excelブックにデータをインポートしてみてください。