Добавление форматирования текста в текст файла CSV - PullRequest
0 голосов
/ 31 мая 2019

Я создаю один CSV-файл, используя csv_table_view (код скопирован ниже).Я хочу добавить префикс 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 мы не можем добавить форматирование к тексту.Есть идеи по этому поводу?Заранее спасибо.

1 Ответ

2 голосов
/ 31 мая 2019

Нет способа добавить форматирование в файл CSV. Это может быть только текст.

Похоже, вы хотите файл Excel. Одно из предложений - использовать таблицу . Это позволяет форматировать и выводить как файл XLS. Руководство полезно узнать, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...