ruby-on-rails - 如何在导出 Excel 时包含背景颜色而不在 Rails 中添加任何 Gem?

标签 ruby-on-rails excel

我看到这篇文章,它提供了一个简单的示例,介绍如何在 Rails 中不使用任何 gem 将数据导出到 Excel 工作表:

https://makandracards.com/makandra/31567-exporting-to-excel-from-rails-without-a-gem

我相信上述文章基于同一主题的 RailsCast 教程:

http://railscasts.com/episodes/362-exporting-csv-and-excel?view=asciicast

我想知道如何包含背景颜色和行边框(以及边框颜色)。请帮忙!

最佳答案

如果您使用“手动”XML 方法,一个好的开始方法是官方 Microsoft XML Spreadsheet Reference .

有很多可用选项,例如带边框的文档可能看起来像这样。

<?xml version="1.0"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
  xmlns:o="urn:schemas-microsoft-com:office:office"
  xmlns:x="urn:schemas-microsoft-com:office:excel"
  xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
  xmlns:html="http://www.w3.org/TR/REC-html40">
  <Styles> 
      <Style ss:ID="h1" ss:Name="First">
        <Borders>
          <Border ss:Position="Left" ss:LineStyle="Continuous" ss:Weight="1"/>
          <Border ss:Position="Top" ss:LineStyle="Continuous" ss:Weight="1"/>
          <Border ss:Position="Right" ss:LineStyle="Continuous" ss:Weight="1"/>
          <Border ss:Position="Bottom" ss:LineStyle="Continuous" ss:Weight="1"/>
        </Borders> 
      </Style>   
  </Styles> 

  <Worksheet ss:Name="Sheet1">
    <Table>
      <Row>
        <Cell ss:StyleID="h1"><Data ss:Type="String">ID</Data></Cell>
        <Cell ss:StyleID="h1"><Data ss:Type="String">Name</Data></Cell>
        <Cell ss:StyleID="h1"><Data ss:Type="String">Release Date</Data>    </Cell>
        <Cell ss:StyleID="h1"><Data ss:Type="String">Price</Data></Cell>
      </Row>
    </Table>
  </Worksheet>
</Workbook>

您可以在工作簿部分的开头定义不同的样式,然后将它们应用到不同的单元格。

关于ruby-on-rails - 如何在导出 Excel 时包含背景颜色而不在 Rails 中添加任何 Gem?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53202441/

相关文章:

ruby-on-rails - Jbuilder 将单个对象传递给部分对象

excel - CSV 日期和分隔符问题

Excel 如何比较 2 列范围

ruby-on-rails - ActiveRecord SQL 执行时间

ruby-on-rails - 是否有任何库来管理 Rails 应用程序的数据库字段中的 json 内容?

vba - Excel VBA 删除相邻字段中的数据重叠

vba - 如何根据VBA中的单元格值调用过程

VBA:如何根据条件删除接下来的三行?

ruby-on-rails - gem 安装异常 `OpenSSL::SSL::SSLErrorWaitReadable' 读取会阻塞

ruby-on-rails - 使用 nested_form 获取对象值