forked from vidmantas/csv_builder
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
60 lines (39 loc) · 1.7 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
= CSV Builder
The CSV Builder Rails plugin provides a simple templating system for serving
dynamically generated CSV files from your application.
== Requirements
CSV Builder requires Rails v2.1.
It also depends upon the FasterCSV gem http://fastercsv.rubyforge.org,
which you can install with
$ sudo gem install fastercsv
Encoding conversions are done with Iconv, so make sure you have it on your
development/production machine.
== Example
CSV template files are suffixed with '.csv.csvbuilder', for example
'index.csv.csvbuilder'
Add rows to your CSV file in the template by pushing arrays of columns into the
csv object.
# First row
csv << [ 'cell 1', 'cell 2' ]
# Second row
csv << [ 'another cell value', 'and another' ]
# etc...
You can set the default filename for that a browser will use for 'save as' by
setting <tt>@filename</tt> instance variable in your controller's action method
e.g.
@filename = 'report.csv'
You can set the input encoding and output encoding by setting
<tt>@input_encoding</tt> and <tt>@output_encoding</tt> instance variables.
These default to 'UTF-8' and 'LATIN1' respectively. e.g.
@output_encoding = 'UTF-8'
You can set <tt>@csv_options</tt> instance variable to define options for
FasterCSV generator. For example:
@csv_options = { :force_quotes => true, :col_sep => ';' }
You can also attach a csv file to mail sent out by your application by
including a snippet like the following in your mailer method
attachment "text/csv" do |attachment|
attachment.body = render(:file => 'example/index.csv.csvbuilder')
attachment.filename = 'report.csv'
end
Copyright (c) 2008 Econsultancy.com and 2009 Vidmantas Kabošis, released under
the MIT license.