write_xlsx 1.08.1 → 1.09.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +10 -0
- data/Changes +17 -0
- data/README.md +1 -1
- data/examples/background.rb +19 -0
- data/examples/ignore_errors.rb +39 -0
- data/examples/keep_leading_zeros.rb +17 -0
- data/lib/write_xlsx/chart/axis.rb +3 -3
- data/lib/write_xlsx/chart/scatter.rb +0 -15
- data/lib/write_xlsx/chart/series.rb +1 -1
- data/lib/write_xlsx/chart.rb +28 -28
- data/lib/write_xlsx/chartsheet.rb +3 -3
- data/lib/write_xlsx/drawing.rb +39 -39
- data/lib/write_xlsx/format.rb +11 -179
- data/lib/write_xlsx/package/app.rb +2 -2
- data/lib/write_xlsx/package/button.rb +8 -8
- data/lib/write_xlsx/package/comments.rb +8 -8
- data/lib/write_xlsx/package/content_types.rb +18 -9
- data/lib/write_xlsx/package/core.rb +5 -5
- data/lib/write_xlsx/package/custom.rb +2 -2
- data/lib/write_xlsx/package/metadata.rb +159 -0
- data/lib/write_xlsx/package/packager.rb +21 -0
- data/lib/write_xlsx/package/shared_strings.rb +6 -6
- data/lib/write_xlsx/package/styles.rb +11 -11
- data/lib/write_xlsx/package/table.rb +23 -23
- data/lib/write_xlsx/package/theme.rb +1 -1
- data/lib/write_xlsx/package/vml.rb +43 -43
- data/lib/write_xlsx/shape.rb +17 -15
- data/lib/write_xlsx/sparkline.rb +340 -340
- data/lib/write_xlsx/utility.rb +4 -23
- data/lib/write_xlsx/version.rb +1 -1
- data/lib/write_xlsx/workbook.rb +171 -644
- data/lib/write_xlsx/worksheet/cell_data.rb +25 -3
- data/lib/write_xlsx/worksheet/data_validation.rb +20 -20
- data/lib/write_xlsx/worksheet/hyperlink.rb +4 -4
- data/lib/write_xlsx/worksheet/page_setup.rb +12 -12
- data/lib/write_xlsx/worksheet.rb +267 -4144
- data/test/perl_output/background.xlsx +0 -0
- data/test/perl_output/ignore_errors.xlsx +0 -0
- data/test/perl_output/keep_leading_zeros.xlsx +0 -0
- data/test/perl_output/multi_line.xlsx +0 -0
- data/test/regression/images/logo.gif +0 -0
- data/test/regression/images/logo.jpg +0 -0
- data/test/regression/images/red.gif +0 -0
- data/test/regression/test_background01.rb +23 -0
- data/test/regression/test_background02.rb +23 -0
- data/test/regression/test_background03.rb +24 -0
- data/test/regression/test_background04.rb +25 -0
- data/test/regression/test_background05.rb +25 -0
- data/test/regression/test_background06.rb +31 -0
- data/test/regression/test_background07.rb +37 -0
- data/test/regression/test_chart_axis47.rb +52 -0
- data/test/regression/test_chart_axis48.rb +53 -0
- data/test/regression/test_dynamic_array01.rb +25 -0
- data/test/regression/test_image56.rb +23 -0
- data/test/regression/test_image57.rb +23 -0
- data/test/regression/test_set_column10.rb +55 -0
- data/test/regression/test_set_column11.rb +48 -0
- data/test/regression/test_set_row01.rb +35 -0
- data/test/regression/test_set_row02.rb +35 -0
- data/test/regression/test_set_row03.rb +35 -0
- data/test/regression/test_set_row04.rb +35 -0
- data/test/regression/xlsx_files/background01.xlsx +0 -0
- data/test/regression/xlsx_files/background02.xlsx +0 -0
- data/test/regression/xlsx_files/background03.xlsx +0 -0
- data/test/regression/xlsx_files/background04.xlsx +0 -0
- data/test/regression/xlsx_files/background05.xlsx +0 -0
- data/test/regression/xlsx_files/background06.xlsx +0 -0
- data/test/regression/xlsx_files/background07.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis47.xlsx +0 -0
- data/test/regression/xlsx_files/chart_axis48.xlsx +0 -0
- data/test/regression/xlsx_files/dynamic_array01.xlsx +0 -0
- data/test/regression/xlsx_files/image56.xlsx +0 -0
- data/test/regression/xlsx_files/image57.xlsx +0 -0
- data/test/regression/xlsx_files/set_row01.xlsx +0 -0
- data/test/regression/xlsx_files/set_row03.xlsx +0 -0
- data/test/test_example_match.rb +73 -0
- data/test/worksheet/test_pixels_to_row_col.rb +46 -0
- metadata +86 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c78b5986850521951ec007fd9a9e79f66ba5dc44e04a29f806e8d013733c8f30
|
4
|
+
data.tar.gz: 329091c1ce7407bb69f9436a0eb232ea3b9fb88775084358d8f8c53af2e9ce36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b3897acdb3794718c0149862132773db326bc3d62397affc6623dfa49404462ef9cec421174c232d252acdc3f28804b46671307b48768720f0aa3f05d6b6458d
|
7
|
+
data.tar.gz: 77124e32563e0f17f7e322d3196537cd347926427682fb184732d270077537f1eb81de30425e059a126cbe413aadbc0615f79347d058ed53cc209c0a995c9b8f
|
data/.travis.yml
CHANGED
@@ -1,9 +1,18 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
+
- 3.0.3
|
4
|
+
- 3.0.2
|
5
|
+
- 3.0.1
|
3
6
|
- 3.0.0
|
7
|
+
- 2.7.5
|
8
|
+
- 2.7.4
|
9
|
+
- 2.7.3
|
4
10
|
- 2.7.2
|
5
11
|
- 2.7.1
|
6
12
|
- 2.7.0
|
13
|
+
- 2.6.9
|
14
|
+
- 2.6.8
|
15
|
+
- 2.6.7
|
7
16
|
- 2.6.6
|
8
17
|
- 2.6.5
|
9
18
|
- 2.6.4
|
@@ -11,6 +20,7 @@ rvm:
|
|
11
20
|
- 2.6.2
|
12
21
|
- 2.6.1
|
13
22
|
- 2.6.0
|
23
|
+
- 2.5.9
|
14
24
|
- 2.5.8
|
15
25
|
- 2.5.7
|
16
26
|
- 2.5.6
|
data/Changes
CHANGED
@@ -1,5 +1,22 @@
|
|
1
1
|
Change history of write_xlsx rubygem.
|
2
2
|
|
3
|
+
2022-02-14 v1.09.2
|
4
|
+
Fixed issue #79. Worksheet#write calls the write_number
|
5
|
+
when multi-line string has a line with only numbers.
|
6
|
+
|
7
|
+
2021-11-27 v1.09.1
|
8
|
+
Added Worksheet#keep_leading_zeros method to handle '001' as string in
|
9
|
+
Worksheet#write, write_row, and write_col method.
|
10
|
+
|
11
|
+
2021-11-26 v1.09.0
|
12
|
+
|
13
|
+
Added support for background images in worksheets. See set_background().
|
14
|
+
|
15
|
+
Added support for GIF image files (and in Excel 365, animated GIF files).
|
16
|
+
|
17
|
+
Added support for pixel sizing in set_row() and set_column() via new
|
18
|
+
functions called set_row_pixels() and set_column_pixels().
|
19
|
+
|
3
20
|
2021-11-19 v1.08.0
|
4
21
|
|
5
22
|
Added ability to add accessibility options "description" and
|
data/README.md
CHANGED
@@ -5,7 +5,7 @@
|
|
5
5
|
|
6
6
|
gem to create a new file in the Excel 2007+ XLSX format, and you can use the
|
7
7
|
same interface as writeexcel gem. write_xlsx is converted from Perl's module
|
8
|
-
[Excel::Writer::XLSX-1.
|
8
|
+
[Excel::Writer::XLSX-1.09](https://github.com/jmcnamara/excel-writer-xlsx/tree/CPAN_1.09)
|
9
9
|
|
10
10
|
## Description
|
11
11
|
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
|
4
|
+
#######################################################################
|
5
|
+
#
|
6
|
+
# An example of setting a worksheet background image with Excel::Writer::XLSX.
|
7
|
+
#
|
8
|
+
# Copyright 2000-2021, John McNamara, jmcnamara@cpan.org
|
9
|
+
# convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
10
|
+
#
|
11
|
+
|
12
|
+
require 'write_xlsx'
|
13
|
+
|
14
|
+
workbook = WriteXLSX.new('background.xlsx')
|
15
|
+
worksheet = workbook.add_worksheet
|
16
|
+
|
17
|
+
worksheet.set_background('republic.png')
|
18
|
+
|
19
|
+
workbook.close
|
@@ -0,0 +1,39 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
|
4
|
+
##############################################################################
|
5
|
+
#
|
6
|
+
# An example of turning off worksheet cells errors/warnings using the
|
7
|
+
# Excel::Writer::XLSX module.
|
8
|
+
#
|
9
|
+
# Copyright 2000-2021, John McNamara, jmcnamara@cpan.org
|
10
|
+
# convert to ruby by Hideo NAKAMURA, nakamura.hideo@gmail.com
|
11
|
+
#
|
12
|
+
|
13
|
+
require 'write_xlsx'
|
14
|
+
|
15
|
+
workbook = WriteXLSX.new('ignore_errors.xlsx')
|
16
|
+
worksheet = workbook.add_worksheet
|
17
|
+
|
18
|
+
# Write strings that looks like numbers. This will cause an Excel warning.
|
19
|
+
worksheet.write_string('C2', '123')
|
20
|
+
worksheet.write_string('C3', '123')
|
21
|
+
|
22
|
+
# Write a divide by zero formula. This will also cause an Excel warning.
|
23
|
+
worksheet.write_formula('C5', '=1/0')
|
24
|
+
worksheet.write_formula('C6', '=1/0')
|
25
|
+
|
26
|
+
# Turn off some of the warnings:
|
27
|
+
worksheet.ignore_errors(
|
28
|
+
:number_stored_as_text => 'C3',
|
29
|
+
:eval_error => 'C6'
|
30
|
+
)
|
31
|
+
|
32
|
+
# Write some descriptions for the cells and make the column wider for clarity.
|
33
|
+
worksheet.set_column('B:B', 16)
|
34
|
+
worksheet.write('B2', 'Warning:')
|
35
|
+
worksheet.write('B3', 'Warning turned off:')
|
36
|
+
worksheet.write('B5', 'Warning:')
|
37
|
+
worksheet.write('B6', 'Warning turned off:')
|
38
|
+
|
39
|
+
workbook.close
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
|
4
|
+
require 'write_xlsx'
|
5
|
+
|
6
|
+
workbook = WriteXLSX.new('keep_leading_zeros.xlsx')
|
7
|
+
worksheet = workbook.add_worksheet
|
8
|
+
|
9
|
+
worksheet.keep_leading_zeros(true)
|
10
|
+
worksheet.write('A1', '001')
|
11
|
+
worksheet.write('B1', 'written as string.')
|
12
|
+
worksheet.write('A2', '012')
|
13
|
+
worksheet.write('B2', 'written as string.')
|
14
|
+
worksheet.write('A3', '123')
|
15
|
+
worksheet.write('B3', 'written as number.')
|
16
|
+
|
17
|
+
workbook.close
|
@@ -87,8 +87,8 @@ module Writexlsx
|
|
87
87
|
|
88
88
|
def num_fmt_attributes
|
89
89
|
[
|
90
|
-
|
91
|
-
|
90
|
+
['formatCode', @num_format],
|
91
|
+
['sourceLinked', source_linked]
|
92
92
|
]
|
93
93
|
end
|
94
94
|
|
@@ -175,7 +175,7 @@ module Writexlsx
|
|
175
175
|
if @position_axis == 'on_tick'
|
176
176
|
@position_axis = 'midCat'
|
177
177
|
elsif @position_axis == 'between'
|
178
|
-
|
178
|
+
# Doesn't neet to be modified.
|
179
179
|
else
|
180
180
|
# Otherwise use the default value.
|
181
181
|
@position_axis = nil
|
@@ -17,21 +17,6 @@ require 'write_xlsx/utility'
|
|
17
17
|
|
18
18
|
module Writexlsx
|
19
19
|
class Chart
|
20
|
-
# The Scatter chart module also supports the following sub-types:
|
21
|
-
#
|
22
|
-
# markers_only (the default)
|
23
|
-
# straight_with_markers
|
24
|
-
# straight
|
25
|
-
# smooth_with_markers
|
26
|
-
# smooth
|
27
|
-
# These can be specified at creation time via the add_chart() Worksheet
|
28
|
-
# method:
|
29
|
-
#
|
30
|
-
# chart = workbook.add_chart(
|
31
|
-
# :type => 'scatter',
|
32
|
-
# :subtype => 'straight_with_markers'
|
33
|
-
# )
|
34
|
-
#
|
35
20
|
class Scatter < self
|
36
21
|
include Writexlsx::Utility
|
37
22
|
include Writexlsx::WriteDPtPoint
|
@@ -192,7 +192,7 @@ module Writexlsx
|
|
192
192
|
@values = aref_to_formula(params[:values])
|
193
193
|
@categories = aref_to_formula(params[:categories])
|
194
194
|
@name, @name_formula =
|
195
|
-
|
195
|
+
chart.process_names(params[:name], params[:name_formula])
|
196
196
|
|
197
197
|
set_data_ids(params)
|
198
198
|
|
data/lib/write_xlsx/chart.rb
CHANGED
@@ -165,16 +165,16 @@ module Writexlsx
|
|
165
165
|
include Writexlsx::Utility
|
166
166
|
include Writexlsx::Gradient
|
167
167
|
|
168
|
-
attr_accessor :id, :name
|
169
|
-
attr_writer :index, :palette, :protection
|
170
|
-
attr_reader :embedded, :formula_ids, :formula_data
|
171
|
-
attr_reader :x_scale, :y_scale, :x_offset, :y_offset
|
172
|
-
attr_reader :width, :height
|
168
|
+
attr_accessor :id, :name # :nodoc:
|
169
|
+
attr_writer :index, :palette, :protection # :nodoc:
|
170
|
+
attr_reader :embedded, :formula_ids, :formula_data # :nodoc:
|
171
|
+
attr_reader :x_scale, :y_scale, :x_offset, :y_offset # :nodoc:
|
172
|
+
attr_reader :width, :height # :nodoc:
|
173
173
|
attr_reader :label_positions, :label_position_default, :combined # :nodoc:
|
174
|
-
attr_writer :date_category, :already_inserted
|
175
|
-
attr_writer :series_index
|
176
|
-
attr_writer :writer
|
177
|
-
attr_reader :x2_axis, :y2_axis, :axis2_ids
|
174
|
+
attr_writer :date_category, :already_inserted # :nodoc:
|
175
|
+
attr_writer :series_index # :nodoc:
|
176
|
+
attr_writer :writer # :nodoc:
|
177
|
+
attr_reader :x2_axis, :y2_axis, :axis2_ids # :nodoc:
|
178
178
|
|
179
179
|
#
|
180
180
|
# Factory method for returning chart objects based on their class type.
|
@@ -1057,7 +1057,7 @@ module Writexlsx
|
|
1057
1057
|
end
|
1058
1058
|
|
1059
1059
|
def write_val_base(formula, data_id, tag) # :nodoc:
|
1060
|
-
data
|
1060
|
+
data = @formula_data[data_id]
|
1061
1061
|
|
1062
1062
|
@writer.tag_elements(tag) do
|
1063
1063
|
# Unlike Cat axes data should only be numeric.
|
@@ -1408,11 +1408,11 @@ module Writexlsx
|
|
1408
1408
|
|
1409
1409
|
def write_scaling_with_param(param)
|
1410
1410
|
write_scaling(
|
1411
|
-
|
1412
|
-
|
1413
|
-
|
1414
|
-
|
1415
|
-
|
1411
|
+
param.reverse,
|
1412
|
+
param.min,
|
1413
|
+
param.max,
|
1414
|
+
param.log_base
|
1415
|
+
)
|
1416
1416
|
end
|
1417
1417
|
#
|
1418
1418
|
# Write the <c:scaling> element.
|
@@ -1443,7 +1443,7 @@ module Writexlsx
|
|
1443
1443
|
# Write the <c:orientation> element.
|
1444
1444
|
#
|
1445
1445
|
def write_orientation(reverse = nil) # :nodoc:
|
1446
|
-
val
|
1446
|
+
val = ptrue?(reverse) ? 'maxMin' : 'minMax'
|
1447
1447
|
|
1448
1448
|
@writer.empty_tag('c:orientation', [ ['val', val] ])
|
1449
1449
|
end
|
@@ -1499,9 +1499,9 @@ module Writexlsx
|
|
1499
1499
|
source_linked = 0
|
1500
1500
|
|
1501
1501
|
attributes = [
|
1502
|
-
|
1503
|
-
|
1504
|
-
|
1502
|
+
['formatCode', format_code],
|
1503
|
+
['sourceLinked', source_linked]
|
1504
|
+
]
|
1505
1505
|
|
1506
1506
|
@writer.empty_tag('c:numFmt', attributes)
|
1507
1507
|
end
|
@@ -1778,13 +1778,13 @@ module Writexlsx
|
|
1778
1778
|
footer = 0.3
|
1779
1779
|
|
1780
1780
|
attributes = [
|
1781
|
-
|
1782
|
-
|
1783
|
-
|
1784
|
-
|
1785
|
-
|
1786
|
-
|
1787
|
-
|
1781
|
+
['b', b],
|
1782
|
+
['l', l],
|
1783
|
+
['r', r],
|
1784
|
+
['t', t],
|
1785
|
+
['header', header],
|
1786
|
+
['footer', footer]
|
1787
|
+
]
|
1788
1788
|
|
1789
1789
|
@writer.empty_tag('c:pageMargins', attributes)
|
1790
1790
|
end
|
@@ -2272,7 +2272,7 @@ module Writexlsx
|
|
2272
2272
|
data.each_with_index do |token, i|
|
2273
2273
|
# Write non-numeric data as 0.
|
2274
2274
|
if token &&
|
2275
|
-
|
2275
|
+
!(token.to_s =~ /^([+-]?)(?=\d|\.\d)\d*(\.\d*)?([Ee]([+-]?\d+))?$/)
|
2276
2276
|
token = 0
|
2277
2277
|
end
|
2278
2278
|
|
@@ -2703,7 +2703,7 @@ module Writexlsx
|
|
2703
2703
|
end
|
2704
2704
|
|
2705
2705
|
def write_num_ref_or_lit(values, data)
|
2706
|
-
if values.to_s =~ /^=/
|
2706
|
+
if values.to_s =~ /^=/ # '=Sheet1!$A$1:$A$5'
|
2707
2707
|
write_num_ref(values, data, 'num')
|
2708
2708
|
else # [1, 2, 3]
|
2709
2709
|
write_num_lit(values)
|
@@ -204,9 +204,9 @@ module Writexlsx
|
|
204
204
|
mc_preserve_attributes = 'mv:*'
|
205
205
|
|
206
206
|
attributes = [
|
207
|
-
|
208
|
-
|
209
|
-
|
207
|
+
['xmlns', xmlns],
|
208
|
+
['xmlns:r', xmlns_r]
|
209
|
+
]
|
210
210
|
|
211
211
|
@writer.tag_elements('chartsheet', attributes) do
|
212
212
|
yield
|
data/lib/write_xlsx/drawing.rb
CHANGED
@@ -9,7 +9,7 @@ module Writexlsx
|
|
9
9
|
|
10
10
|
def initialize(type, dimensions, width, height, description, shape, anchor, rel_index = nil, url_rel_index = nil, tip = nil, decorative = nil)
|
11
11
|
@type, @dimensions, @width, @height, @description, @shape, @anchor, @rel_index, @url_rel_index, @tip, @decorative =
|
12
|
-
|
12
|
+
type, dimensions, width, height, description, shape, anchor, rel_index, url_rel_index, tip, decorative
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
@@ -70,8 +70,8 @@ module Writexlsx
|
|
70
70
|
def write_drawing_workspace
|
71
71
|
schema = 'http://schemas.openxmlformats.org/drawingml/'
|
72
72
|
attributes = [
|
73
|
-
|
74
|
-
|
73
|
+
['xmlns:xdr', "#{schema}2006/spreadsheetDrawing"],
|
74
|
+
['xmlns:a', "#{schema}2006/main"]
|
75
75
|
]
|
76
76
|
|
77
77
|
@writer.tag_elements('xdr:wsDr', attributes) { yield }
|
@@ -166,7 +166,7 @@ module Writexlsx
|
|
166
166
|
end
|
167
167
|
end
|
168
168
|
|
169
|
-
|
169
|
+
#
|
170
170
|
# Write the <xdr:from> element.
|
171
171
|
#
|
172
172
|
def write_from(col, row, col_offset, row_offset)
|
@@ -487,9 +487,9 @@ module Writexlsx
|
|
487
487
|
|
488
488
|
|
489
489
|
attributes = [
|
490
|
-
|
491
|
-
|
492
|
-
|
490
|
+
['xmlns:c', xmlns_c],
|
491
|
+
['xmlns:r', xmlns_r]
|
492
|
+
]
|
493
493
|
attributes << r_id_attributes(id)
|
494
494
|
|
495
495
|
@writer.empty_tag('c:chart', attributes)
|
@@ -519,9 +519,9 @@ module Writexlsx
|
|
519
519
|
else
|
520
520
|
# Add attribute for shapes.
|
521
521
|
attributes = [
|
522
|
-
|
523
|
-
|
524
|
-
|
522
|
+
[:macro, ''],
|
523
|
+
[:textlink, '']
|
524
|
+
]
|
525
525
|
@writer.tag_elements('xdr:sp', attributes) do
|
526
526
|
|
527
527
|
# Write the xdr:nvSpPr element.
|
@@ -554,17 +554,17 @@ module Writexlsx
|
|
554
554
|
|
555
555
|
if shape.start
|
556
556
|
attributes = [
|
557
|
-
|
558
|
-
|
559
|
-
|
557
|
+
['id', shape.start],
|
558
|
+
['idx', shape.start_index]
|
559
|
+
]
|
560
560
|
@writer.empty_tag('a:stCxn', attributes)
|
561
561
|
end
|
562
562
|
|
563
563
|
if shape.end
|
564
564
|
attributes = [
|
565
|
-
|
566
|
-
|
567
|
-
|
565
|
+
['id', shape.end],
|
566
|
+
['idx', shape.end_index]
|
567
|
+
]
|
568
568
|
@writer.empty_tag('a:endCxn', attributes)
|
569
569
|
end
|
570
570
|
end
|
@@ -808,9 +808,9 @@ module Writexlsx
|
|
808
808
|
adj_int = (adj * 1000).to_i
|
809
809
|
|
810
810
|
attributes = [
|
811
|
-
|
812
|
-
|
813
|
-
|
811
|
+
[:name, "adj#{suffix}"],
|
812
|
+
[:fmla, "val #{adj_int}"]
|
813
|
+
]
|
814
814
|
@writer.empty_tag('a:gd', attributes)
|
815
815
|
end
|
816
816
|
end
|
@@ -867,15 +867,15 @@ module Writexlsx
|
|
867
867
|
#
|
868
868
|
def write_tx_body(shape)
|
869
869
|
attributes = [
|
870
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
870
|
+
[:vertOverflow, "clip"],
|
871
|
+
[:wrap, "square"],
|
872
|
+
[:lIns, "27432"],
|
873
|
+
[:tIns, "22860"],
|
874
|
+
[:rIns, "27432"],
|
875
|
+
[:bIns, "22860"],
|
876
|
+
[:anchor, shape.valign],
|
877
|
+
[:upright, "1"]
|
878
|
+
]
|
879
879
|
@writer.tag_elements('xdr:txBody') do
|
880
880
|
@writer.empty_tag('a:bodyPr', attributes)
|
881
881
|
@writer.empty_tag('a:lstStyle')
|
@@ -885,9 +885,9 @@ module Writexlsx
|
|
885
885
|
rotation *= 60000
|
886
886
|
|
887
887
|
attributes = [
|
888
|
-
|
889
|
-
|
890
|
-
|
888
|
+
[:algn, shape.align],
|
889
|
+
[:rtl, rotation]
|
890
|
+
]
|
891
891
|
@writer.tag_elements('a:pPr', attributes) do
|
892
892
|
attributes = [ [:sz, "1000"] ]
|
893
893
|
@writer.empty_tag('a:defRPr', attributes)
|
@@ -903,14 +903,14 @@ module Writexlsx
|
|
903
903
|
strike = ptrue?(shape.format[:font_strikeout]) ? 'Strike' : 'noStrike'
|
904
904
|
|
905
905
|
attributes = [
|
906
|
-
|
907
|
-
|
908
|
-
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
|
906
|
+
[:lang, "en-US"],
|
907
|
+
[:sz, size],
|
908
|
+
[:b, bold],
|
909
|
+
[:i, italic],
|
910
|
+
[:u, underline],
|
911
|
+
[:strike, strike],
|
912
|
+
[:baseline, 0]
|
913
|
+
]
|
914
914
|
@writer.tag_elements('a:rPr', attributes) do
|
915
915
|
color = shape.format[:color]
|
916
916
|
if color
|