write_xlsx 1.07.0 → 1.09.0
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/Changes +40 -0
- data/README.md +1 -1
- data/examples/background.rb +19 -0
- data/examples/ignore_errors.rb +39 -0
- data/ignore_errors.xlsx +0 -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 +31 -33
- data/lib/write_xlsx/chartsheet.rb +3 -3
- data/lib/write_xlsx/drawing.rb +118 -55
- data/lib/write_xlsx/format.rb +11 -179
- data/lib/write_xlsx/package/app.rb +5 -5
- data/lib/write_xlsx/package/button.rb +8 -8
- data/lib/write_xlsx/package/comments.rb +8 -8
- data/lib/write_xlsx/package/conditional_format.rb +2 -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 +22 -0
- data/lib/write_xlsx/package/shared_strings.rb +6 -6
- data/lib/write_xlsx/package/styles.rb +27 -14
- data/lib/write_xlsx/package/table.rb +31 -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 +9 -24
- data/lib/write_xlsx/version.rb +1 -1
- data/lib/write_xlsx/workbook.rb +193 -643
- data/lib/write_xlsx/worksheet/cell_data.rb +25 -3
- data/lib/write_xlsx/worksheet/data_validation.rb +21 -26
- 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 +461 -4233
- data/test/drawing/{test_write_ext.rb → test_write_xdr_ext.rb} +2 -2
- data/test/perl_output/background.xlsx +0 -0
- data/test/perl_output/ignore_errors.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_chart_crossing01.rb +1 -1
- data/test/regression/test_chart_crossing05.rb +46 -0
- data/test/regression/test_chart_crossing06.rb +46 -0
- data/test/regression/test_chart_data_labels48.rb +55 -0
- data/test/regression/test_chart_data_labels49.rb +55 -0
- data/test/regression/test_chart_data_labels50.rb +57 -0
- data/test/regression/test_dynamic_array01.rb +25 -0
- data/test/regression/test_format16.rb +24 -0
- data/test/regression/test_format17.rb +24 -0
- data/test/regression/test_header04.rb +30 -0
- data/test/regression/test_hyperlink50.rb +27 -0
- data/test/regression/test_hyperlink51.rb +27 -0
- data/test/regression/test_ignore_error01.rb +23 -0
- data/test/regression/test_ignore_error02.rb +24 -0
- data/test/regression/test_ignore_error03.rb +26 -0
- data/test/regression/test_ignore_error04.rb +26 -0
- data/test/regression/test_ignore_error05.rb +32 -0
- data/test/regression/test_ignore_error06.rb +32 -0
- data/test/regression/test_image52.rb +26 -0
- data/test/regression/test_image53.rb +26 -0
- data/test/regression/test_image54.rb +26 -0
- data/test/regression/test_image55.rb +27 -0
- data/test/regression/test_image56.rb +23 -0
- data/test/regression/test_image57.rb +23 -0
- data/test/regression/test_protect04.rb +32 -0
- data/test/regression/test_protect05.rb +35 -0
- data/test/regression/test_protect06.rb +35 -0
- data/test/regression/test_protect07.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/test_table26.rb +38 -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/chart_crossing05.xlsx +0 -0
- data/test/regression/xlsx_files/chart_crossing06.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels48.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels49.xlsx +0 -0
- data/test/regression/xlsx_files/chart_data_labels50.xlsx +0 -0
- data/test/regression/xlsx_files/dynamic_array01.xlsx +0 -0
- data/test/regression/xlsx_files/format16.xlsx +0 -0
- data/test/regression/xlsx_files/format17.xlsx +0 -0
- data/test/regression/xlsx_files/header04.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink50.xlsx +0 -0
- data/test/regression/xlsx_files/hyperlink51.xlsx +0 -0
- data/test/regression/xlsx_files/ignore_error01.xlsx +0 -0
- data/test/regression/xlsx_files/ignore_error02.xlsx +0 -0
- data/test/regression/xlsx_files/ignore_error03.xlsx +0 -0
- data/test/regression/xlsx_files/ignore_error04.xlsx +0 -0
- data/test/regression/xlsx_files/ignore_error05.xlsx +0 -0
- data/test/regression/xlsx_files/ignore_error06.xlsx +0 -0
- data/test/regression/xlsx_files/image52.xlsx +0 -0
- data/test/regression/xlsx_files/image53.xlsx +0 -0
- data/test/regression/xlsx_files/image54.xlsx +0 -0
- data/test/regression/xlsx_files/image55.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/protect04.xlsx +0 -0
- data/test/regression/xlsx_files/protect05.xlsx +0 -0
- data/test/regression/xlsx_files/protect06.xlsx +0 -0
- data/test/regression/xlsx_files/protect07.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/regression/xlsx_files/table26.xlsx +0 -0
- data/test/test_example_match.rb +43 -0
- data/test/utility/test_range.rb +20 -0
- data/test/worksheet/test_pixels_to_row_col.rb +46 -0
- metadata +190 -8
data/lib/write_xlsx/utility.rb
CHANGED
|
@@ -60,7 +60,11 @@ module Writexlsx
|
|
|
60
60
|
range1 = xl_rowcol_to_cell(row_1, col_1, row_abs_1, col_abs_1)
|
|
61
61
|
range2 = xl_rowcol_to_cell(row_2, col_2, row_abs_2, col_abs_2)
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
if range1 == range2
|
|
64
|
+
range1
|
|
65
|
+
else
|
|
66
|
+
"#{range1}:#{range2}"
|
|
67
|
+
end
|
|
64
68
|
end
|
|
65
69
|
|
|
66
70
|
def xl_range_formula(sheetname, row_1, row_2, col_1, col_2)
|
|
@@ -104,20 +108,6 @@ module Writexlsx
|
|
|
104
108
|
# The function takes a date and time in ISO8601 "yyyy-mm-ddThh:mm:ss.ss" format
|
|
105
109
|
# and converts it to a decimal number representing a valid Excel date.
|
|
106
110
|
#
|
|
107
|
-
# Dates and times in Excel are represented by real numbers. The integer part of
|
|
108
|
-
# the number stores the number of days since the epoch and the fractional part
|
|
109
|
-
# stores the percentage of the day in seconds. The epoch can be either 1900 or
|
|
110
|
-
# 1904.
|
|
111
|
-
#
|
|
112
|
-
# Parameter: Date and time string in one of the following formats:
|
|
113
|
-
# yyyy-mm-ddThh:mm:ss.ss # Standard
|
|
114
|
-
# yyyy-mm-ddT # Date only
|
|
115
|
-
# Thh:mm:ss.ss # Time only
|
|
116
|
-
#
|
|
117
|
-
# Returns:
|
|
118
|
-
# A decimal number representing a valid Excel date, or
|
|
119
|
-
# nil if the date is invalid.
|
|
120
|
-
#
|
|
121
111
|
def convert_date_time(date_time_string) #:nodoc:
|
|
122
112
|
date_time = date_time_string.to_s.sub(/^\s+/, '').sub(/\s+$/, '').sub(/Z$/, '')
|
|
123
113
|
|
|
@@ -348,11 +338,6 @@ module Writexlsx
|
|
|
348
338
|
# Check that row and col are valid and store max and min values for use in
|
|
349
339
|
# other methods/elements.
|
|
350
340
|
#
|
|
351
|
-
# The ignore_row/ignore_col flags is used to indicate that we wish to
|
|
352
|
-
# perform the dimension check without storing the value.
|
|
353
|
-
#
|
|
354
|
-
# The ignore flags are use by set_row() and data_validate.
|
|
355
|
-
#
|
|
356
341
|
def check_dimensions_and_update_max_min_values(row, col, ignore_row = 0, ignore_col = 0) #:nodoc:
|
|
357
342
|
check_dimensions(row, col)
|
|
358
343
|
store_row_max_min_values(row) if ignore_row == 0
|
|
@@ -482,9 +467,9 @@ module Writexlsx
|
|
|
482
467
|
|
|
483
468
|
def v_shape_attributes_base(id, z_index)
|
|
484
469
|
[
|
|
485
|
-
['id',
|
|
486
|
-
['type',
|
|
487
|
-
['style',
|
|
470
|
+
['id', "_x0000_s#{id}"],
|
|
471
|
+
['type', type],
|
|
472
|
+
['style', (v_shape_style_base(z_index, vertices) + style_addition).join]
|
|
488
473
|
]
|
|
489
474
|
end
|
|
490
475
|
|
|
@@ -939,7 +924,7 @@ module Writexlsx
|
|
|
939
924
|
else
|
|
940
925
|
@writer.empty_tag(tag, attributes)
|
|
941
926
|
end
|
|
942
|
-
|
|
927
|
+
end
|
|
943
928
|
|
|
944
929
|
#
|
|
945
930
|
# Convert the user specified colour index or string to a rgb colour.
|
data/lib/write_xlsx/version.rb
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
WriteXLSX_VERSION = "1.
|
|
1
|
+
WriteXLSX_VERSION = "1.09.0"
|