我正在使用csv_table_view(下面复制的代码)创建一个CSV文件。我想给CSV数据加上一些短信前缀。此消息应为红色且加粗。有什么方法可以在消息字符串中指定文本颜色和粗体属性。这是我的代码-
def render_csv(view)
ctv = CsvTableView.new(view)
csv = ctv.render
render_csv_content(csv, ctv)
end
def render_csv_content(csv, ctv)
headers['Content-Type'] = "application/vnd.ms-excel"
headers['Content-Length'] = csv.size
headers['Cache-Control'] = ''
headers['Content-Disposition'] = %{attachment; filename="#{ctv.filename}"; size=#{csv.size}}
render :text => csv
end
def render
@table.prepare(true)
@ret = []
@ret ="Hello this message should be red and bold \n"
@ret += @table.columns.map do |col|
col.split ? col.split.map { |c| "#{col.name} #{c}" }.join(",") : csv_escape(col.name)
end.join(",") + "\n" +
@table.all_rows.map { |row| row.map { |col| csv_escape(col)
}.join(",") }.join("\n")
end
我读过一篇文章,内容类型为 application / vnd.ms-excel ,我们无法在文本中添加格式。有什么想法吗?预先感谢。
答案 0 :(得分:2)
无法将格式添加到CSV文件。只能是文字。
您似乎想要一个excel文件。一种建议是使用spreadsheet gem。这允许格式化并输出为XLS文件。 guide对于查看如何执行此操作很有用。