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
61
62
63
|
# File 'lib/docxify/element/table_cell.rb', line 21
def to_s
xml = "<w:tc>"
xml << "<w:tcPr>"
xml << %Q(<w:tcW w:type="dxa" w:w="#{DocXify.cm2dxa(@width_cm)}"/>)
if !@colspan.nil? && @colspan.to_i > 1
xml << %Q(<w:gridSpan w:val="#{@colspan}"/>')
end
if borders.any?
xml << "<w:tcBorders>"
xml << (borders.include?(:top) ? '<w:top w:color="auto" w:space="0" w:sz="4" w:val="single"/>' : '<w:top w:val="nil"/>')
xml << (borders.include?(:bottom) ? '<w:bottom w:color="auto" w:space="0" w:sz="4" w:val="single"/>' : '<w:bottom w:val="nil"/>')
xml << (borders.include?(:left) ? '<w:left w:color="auto" w:space="0" w:sz="4" w:val="single"/>' : '<w:left w:val="nil"/>')
xml << (borders.include?(:right) ? '<w:right w:color="auto" w:space="0" w:sz="4" w:val="single"/>' : '<w:right w:val="nil"/>')
xml << "</w:tcBorders>"
end
if @valign != :top
xml << %Q(<w:vAlign w:val="#{@valign}"/>)
end
if @nowrap
xml << "<w:noWrap/>"
end
if @content.nil?
@content = "" end
if @rowspan
xml << '<w:vMerge w:val="restart"/>'
elsif @content == ""
xml << "<w:vMerge/>"
end
xml << "</w:tcPr>"
xml << DocXify::Element::Paragraph.new(@content, document: @document, font: @font, size: @size, color: @color, align: @align).to_s
xml << "</w:tc>"
xml
end
|