Ruby on rails Axlsx-设置单元格内文本的格式

Ruby on rails Axlsx-设置单元格内文本的格式,ruby-on-rails,ruby,axlsx,Ruby On Rails,Ruby,Axlsx,我似乎找不到任何关于是否可以用多个格式选项填充单个单元格的信息 例如,我希望单元格A1中填充以下文本: “你好世界,这里是excel” 这可能吗?如果可能的话,我用什么语法来做这件事?我想你说的是这个gem 看起来你不能: 然而,这是一个旧线程,可能从那时起就已经实现了。在该页面的第一篇帖子中尝试这种方法:海报抱怨它不起作用,但值得一试 实际上,再往下看,似乎有人添加了一个RichText格式选项,应该允许这样做。不过我不知道该怎么做,请把文档翻出来。对于内联样式,请使用富文本 如果您只是

我似乎找不到任何关于是否可以用多个格式选项填充单个单元格的信息

例如,我希望单元格A1中填充以下文本: “你好世界,这里是excel”


这可能吗?如果可能的话,我用什么语法来做这件事?

我想你说的是这个gem

看起来你不能:

然而,这是一个旧线程,可能从那时起就已经实现了。在该页面的第一篇帖子中尝试这种方法:海报抱怨它不起作用,但值得一试


实际上,再往下看,似乎有人添加了一个RichText格式选项,应该允许这样做。不过我不知道该怎么做,请把文档翻出来。

对于内联样式,请使用富文本


如果您只是想将多个样式应用于一个单元格,则需要使用差异样式。有两种选择:

首先,手动操作。基本上,您的样式类型是
:dxf
。默认值为
:xf
。其他一切都一样

第二,使用宝石。它使应用多种样式变得非常容易

  p = Axlsx::Package.new
  p.use_shared_strings = true
  wb = p.workbook
  wrap_text = wb.styles.add_style({:alignment => {:horizontal => :center, :vertical => :center, :wrap_text => true}}  )
  rt = Axlsx::RichText.new
  rt.add_run('I\'m bold, ', :b => true)
  rt.add_run('I\'m italic, ', :i => true)
  rt.add_run('I\'m strike' + "\n", :strike => true)
  rt.add_run('I\'m bold, italic and strike' + "\n", :b => true, :i => true, :strike => true)
  rt.add_run('I\'m style-less :D')
  wb.add_worksheet(:name => "RichText") do | sheet |
    sheet.add_row [rt], :style => wrap_text
  end
  p.serialize 'rich_text.xlsx'
p = Axlsx::Package.new
wb = p.workbook
ws = wb.add_worksheet

# define your styles
profitable = wb.styles.add_style(:bg_color => "FFFF0000",
                           :fg_color=>"#FF000000",
                           :type => :dxf)

ws.add_row ["Genreated At:", Time.now], :styles=>[nil, date_time]
ws.add_row ["Previous Year Quarterly Profits (JPY)"], :style=>title
ws.add_row ["Quarter", "Profit", "% of Total"], :style=>title
ws.add_row ["Q1", 4000, 40], :style=>[title, currency, percent]
ws.add_row ["Q2", 3000, 30], :style=>[title, currency, percent]
ws.add_row ["Q3", 1000, 10], :style=>[title, currency, percent]
ws.add_row ["Q4", 2000, 20], :style=>[title, currency, percent]

ws.add_conditional_formatting("A1:A7", { :type => :cellIs, :operator => :greaterThan, :formula => "2000", :dxfId => profitable, :priority => 1 })
f = File.open('example_differential_styling', 'w')
p.serialize(f)