rubyXL 3.4.16 → 3.4.21

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.
Files changed (410) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +75 -43
  4. data/README.rdoc +6 -3
  5. data/Rakefile +3 -3
  6. data/VERSION +1 -1
  7. data/lib/rubyXL/convenience_methods/worksheet.rb +65 -0
  8. data/lib/rubyXL/objects/font.rb +1 -1
  9. data/lib/rubyXL/objects/ooxml_object.rb +7 -5
  10. data/lib/rubyXL/objects/reference.rb +2 -5
  11. data/lib/rubyXL/objects/sheet_data.rb +2 -1
  12. data/lib/rubyXL/objects/simple_types.rb +2 -0
  13. data/lib/rubyXL/objects/text.rb +2 -1
  14. data/rdoc/README_rdoc.html +14 -13
  15. data/rdoc/RubyXL/AExtension.html +9 -51
  16. data/rdoc/RubyXL/AExtensionStorageArea.html +5 -14
  17. data/rdoc/RubyXL/ActiveX.html +10 -41
  18. data/rdoc/RubyXL/ActiveXBinary.html +5 -19
  19. data/rdoc/RubyXL/AdjustHandleList.html +5 -14
  20. data/rdoc/RubyXL/Alignment.html +5 -14
  21. data/rdoc/RubyXL/AlternateContent.html +5 -14
  22. data/rdoc/RubyXL/Authors.html +5 -14
  23. data/rdoc/RubyXL/AutoFilter.html +5 -14
  24. data/rdoc/RubyXL/AutoFilterColumn.html +5 -14
  25. data/rdoc/RubyXL/BinaryImageFile.html +5 -22
  26. data/rdoc/RubyXL/BodyProperties.html +5 -14
  27. data/rdoc/RubyXL/BooleanNode.html +5 -14
  28. data/rdoc/RubyXL/BooleanValue.html +5 -14
  29. data/rdoc/RubyXL/Border.html +8 -70
  30. data/rdoc/RubyXL/BorderEdge.html +8 -44
  31. data/rdoc/RubyXL/Borders.html +8 -31
  32. data/rdoc/RubyXL/Break.html +5 -14
  33. data/rdoc/RubyXL/BreakList.html +5 -14
  34. data/rdoc/RubyXL/CT_AdjPoint2D.html +5 -14
  35. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +5 -14
  36. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +5 -14
  37. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +5 -14
  38. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +5 -14
  39. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +5 -14
  40. data/rdoc/RubyXL/CT_Backdrop.html +5 -14
  41. data/rdoc/RubyXL/CT_Bevel.html +5 -14
  42. data/rdoc/RubyXL/CT_BiLevelEffect.html +5 -14
  43. data/rdoc/RubyXL/CT_BlendEffect.html +5 -14
  44. data/rdoc/RubyXL/CT_Blip.html +5 -14
  45. data/rdoc/RubyXL/CT_BlipFillProperties.html +5 -14
  46. data/rdoc/RubyXL/CT_BlurEffect.html +5 -14
  47. data/rdoc/RubyXL/CT_Camera.html +5 -14
  48. data/rdoc/RubyXL/CT_Color.html +5 -14
  49. data/rdoc/RubyXL/CT_ColorChangeEffect.html +5 -14
  50. data/rdoc/RubyXL/CT_ColorMapping.html +5 -14
  51. data/rdoc/RubyXL/CT_ColorScheme.html +5 -14
  52. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +5 -14
  53. data/rdoc/RubyXL/CT_ConnectionSite.html +5 -14
  54. data/rdoc/RubyXL/CT_ConnectionSiteList.html +5 -14
  55. data/rdoc/RubyXL/CT_DashStop.html +5 -14
  56. data/rdoc/RubyXL/CT_DashStopList.html +5 -14
  57. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +5 -14
  58. data/rdoc/RubyXL/CT_DuotoneEffect.html +5 -14
  59. data/rdoc/RubyXL/CT_EffectContainer.html +5 -14
  60. data/rdoc/RubyXL/CT_EffectList.html +5 -14
  61. data/rdoc/RubyXL/CT_EffectReference.html +5 -14
  62. data/rdoc/RubyXL/CT_EffectStyleItem.html +5 -14
  63. data/rdoc/RubyXL/CT_EffectStyleList.html +5 -14
  64. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +5 -14
  65. data/rdoc/RubyXL/CT_FillEffect.html +5 -14
  66. data/rdoc/RubyXL/CT_FillOverlayEffect.html +5 -14
  67. data/rdoc/RubyXL/CT_FillStyleList.html +5 -14
  68. data/rdoc/RubyXL/CT_FlatText.html +5 -14
  69. data/rdoc/RubyXL/CT_FontCollection.html +5 -14
  70. data/rdoc/RubyXL/CT_FontReference.html +5 -14
  71. data/rdoc/RubyXL/CT_GeomGuideList.html +5 -14
  72. data/rdoc/RubyXL/CT_GlowEffect.html +5 -14
  73. data/rdoc/RubyXL/CT_GradientFillProperties.html +5 -14
  74. data/rdoc/RubyXL/CT_GradientStop.html +5 -14
  75. data/rdoc/RubyXL/CT_GradientStopList.html +5 -14
  76. data/rdoc/RubyXL/CT_HSLEffect.html +5 -14
  77. data/rdoc/RubyXL/CT_HslColor.html +5 -14
  78. data/rdoc/RubyXL/CT_Hyperlink.html +5 -14
  79. data/rdoc/RubyXL/CT_InnerShadowEffect.html +5 -14
  80. data/rdoc/RubyXL/CT_LightRig.html +5 -14
  81. data/rdoc/RubyXL/CT_LineEndProperties.html +5 -14
  82. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +5 -14
  83. data/rdoc/RubyXL/CT_LineProperties.html +5 -14
  84. data/rdoc/RubyXL/CT_LineStyleList.html +5 -14
  85. data/rdoc/RubyXL/CT_LinearShadeProperties.html +5 -14
  86. data/rdoc/RubyXL/CT_LuminanceEffect.html +5 -14
  87. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +5 -14
  88. data/rdoc/RubyXL/CT_OuterShadowEffect.html +5 -14
  89. data/rdoc/RubyXL/CT_Path2D.html +5 -14
  90. data/rdoc/RubyXL/CT_Path2DArcTo.html +5 -14
  91. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +5 -14
  92. data/rdoc/RubyXL/CT_Path2DList.html +5 -14
  93. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +5 -14
  94. data/rdoc/RubyXL/CT_Path2DTo.html +5 -14
  95. data/rdoc/RubyXL/CT_PathShadeProperties.html +5 -14
  96. data/rdoc/RubyXL/CT_PatternFillProperties.html +5 -14
  97. data/rdoc/RubyXL/CT_Point3D.html +5 -14
  98. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +5 -14
  99. data/rdoc/RubyXL/CT_PresetColor.html +5 -14
  100. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +5 -14
  101. data/rdoc/RubyXL/CT_PresetShadowEffect.html +5 -14
  102. data/rdoc/RubyXL/CT_PresetTextShape.html +5 -14
  103. data/rdoc/RubyXL/CT_ReflectionEffect.html +5 -14
  104. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +5 -14
  105. data/rdoc/RubyXL/CT_RelativeRect.html +5 -14
  106. data/rdoc/RubyXL/CT_SRgbColor.html +5 -14
  107. data/rdoc/RubyXL/CT_ScRgbColor.html +5 -14
  108. data/rdoc/RubyXL/CT_Scene3D.html +5 -14
  109. data/rdoc/RubyXL/CT_SchemeColor.html +5 -14
  110. data/rdoc/RubyXL/CT_Shape3D.html +5 -14
  111. data/rdoc/RubyXL/CT_ShapeStyle.html +5 -14
  112. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +5 -14
  113. data/rdoc/RubyXL/CT_SphereCoords.html +5 -14
  114. data/rdoc/RubyXL/CT_StretchInfoProperties.html +5 -14
  115. data/rdoc/RubyXL/CT_StyleMatrix.html +5 -14
  116. data/rdoc/RubyXL/CT_StyleMatrixReference.html +5 -14
  117. data/rdoc/RubyXL/CT_SupplementalFont.html +5 -14
  118. data/rdoc/RubyXL/CT_SystemColor.html +5 -14
  119. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +5 -14
  120. data/rdoc/RubyXL/CT_TextBlipBullet.html +5 -14
  121. data/rdoc/RubyXL/CT_TextCharBullet.html +5 -14
  122. data/rdoc/RubyXL/CT_TextCharacterProperties.html +5 -14
  123. data/rdoc/RubyXL/CT_TextFont.html +5 -14
  124. data/rdoc/RubyXL/CT_TextListStyle.html +5 -14
  125. data/rdoc/RubyXL/CT_TextNormalAutofit.html +5 -14
  126. data/rdoc/RubyXL/CT_TextParagraphProperties.html +5 -14
  127. data/rdoc/RubyXL/CT_TextSpacing.html +5 -14
  128. data/rdoc/RubyXL/CT_TextTabStop.html +5 -14
  129. data/rdoc/RubyXL/CT_TextTabStopList.html +5 -14
  130. data/rdoc/RubyXL/CT_TileInfoProperties.html +5 -14
  131. data/rdoc/RubyXL/CT_TintEffect.html +5 -14
  132. data/rdoc/RubyXL/CT_Transform2D.html +5 -14
  133. data/rdoc/RubyXL/CT_TransformEffect.html +5 -14
  134. data/rdoc/RubyXL/CT_Vector3D.html +5 -14
  135. data/rdoc/RubyXL/CT_XYAdjustHandle.html +5 -14
  136. data/rdoc/RubyXL/CalculationChain.html +8 -39
  137. data/rdoc/RubyXL/CalculationChainCell.html +5 -14
  138. data/rdoc/RubyXL/CalculationProperties.html +5 -14
  139. data/rdoc/RubyXL/Cell.html +13 -217
  140. data/rdoc/RubyXL/CellConvenienceMethods.html +6 -457
  141. data/rdoc/RubyXL/CellExt.html +5 -14
  142. data/rdoc/RubyXL/CellSmartTag.html +5 -14
  143. data/rdoc/RubyXL/CellSmartTagProperty.html +5 -14
  144. data/rdoc/RubyXL/CellSmartTags.html +5 -14
  145. data/rdoc/RubyXL/CellStyle.html +5 -14
  146. data/rdoc/RubyXL/CellStyleXFs.html +8 -31
  147. data/rdoc/RubyXL/CellStyles.html +8 -31
  148. data/rdoc/RubyXL/CellValue.html +8 -31
  149. data/rdoc/RubyXL/CellWatch.html +5 -14
  150. data/rdoc/RubyXL/CellWatches.html +5 -14
  151. data/rdoc/RubyXL/CellXFs.html +8 -31
  152. data/rdoc/RubyXL/ChartColorsFile.html +5 -22
  153. data/rdoc/RubyXL/ChartFile.html +10 -44
  154. data/rdoc/RubyXL/ChartStyleFile.html +5 -22
  155. data/rdoc/RubyXL/ChartUserShapesFile.html +5 -22
  156. data/rdoc/RubyXL/Chartsheet.html +10 -61
  157. data/rdoc/RubyXL/ChartsheetPageSetup.html +5 -14
  158. data/rdoc/RubyXL/ChartsheetProperties.html +5 -14
  159. data/rdoc/RubyXL/ChartsheetProtection.html +5 -14
  160. data/rdoc/RubyXL/ChartsheetView.html +5 -14
  161. data/rdoc/RubyXL/ChartsheetViews.html +5 -14
  162. data/rdoc/RubyXL/Color.html +9 -37
  163. data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +8 -58
  164. data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +9 -73
  165. data/rdoc/RubyXL/ColorConvenienceClasses.html +3 -11
  166. data/rdoc/RubyXL/ColorConvenienceMethods.html +6 -28
  167. data/rdoc/RubyXL/ColorFilter.html +5 -14
  168. data/rdoc/RubyXL/ColorScale.html +5 -14
  169. data/rdoc/RubyXL/ColorSet.html +5 -14
  170. data/rdoc/RubyXL/Colors.html +5 -14
  171. data/rdoc/RubyXL/ColumnRange.html +8 -62
  172. data/rdoc/RubyXL/ColumnRanges.html +8 -70
  173. data/rdoc/RubyXL/Comment.html +5 -14
  174. data/rdoc/RubyXL/CommentList.html +5 -14
  175. data/rdoc/RubyXL/CommentsFile.html +8 -44
  176. data/rdoc/RubyXL/ConditionalFormatValue.html +5 -14
  177. data/rdoc/RubyXL/ConditionalFormatting.html +5 -14
  178. data/rdoc/RubyXL/ConditionalFormattingRule.html +5 -14
  179. data/rdoc/RubyXL/Connection.html +5 -14
  180. data/rdoc/RubyXL/ConnectionTable.html +5 -14
  181. data/rdoc/RubyXL/ConnectionTables.html +5 -14
  182. data/rdoc/RubyXL/ConnectionTextField.html +5 -14
  183. data/rdoc/RubyXL/ConnectionTextFields.html +5 -14
  184. data/rdoc/RubyXL/Connections.html +8 -39
  185. data/rdoc/RubyXL/ContentTypeDefault.html +5 -14
  186. data/rdoc/RubyXL/ContentTypeOverride.html +5 -14
  187. data/rdoc/RubyXL/ContentTypes.html +8 -52
  188. data/rdoc/RubyXL/ControlPropertiesFile.html +5 -22
  189. data/rdoc/RubyXL/CorePropertiesFile.html +8 -148
  190. data/rdoc/RubyXL/CustomColor.html +5 -14
  191. data/rdoc/RubyXL/CustomColorList.html +5 -14
  192. data/rdoc/RubyXL/CustomFilter.html +5 -14
  193. data/rdoc/RubyXL/CustomFilters.html +5 -14
  194. data/rdoc/RubyXL/CustomGeometry.html +5 -14
  195. data/rdoc/RubyXL/CustomProperties.html +5 -14
  196. data/rdoc/RubyXL/CustomPropertiesFile.html +5 -22
  197. data/rdoc/RubyXL/CustomProperty.html +5 -14
  198. data/rdoc/RubyXL/CustomPropertyFile.html +5 -22
  199. data/rdoc/RubyXL/CustomSheetView.html +5 -14
  200. data/rdoc/RubyXL/CustomSheetViews.html +5 -14
  201. data/rdoc/RubyXL/CustomWorkbookView.html +5 -14
  202. data/rdoc/RubyXL/CustomWorkbookViews.html +5 -14
  203. data/rdoc/RubyXL/CustomXMLFile.html +5 -19
  204. data/rdoc/RubyXL/DXF.html +5 -14
  205. data/rdoc/RubyXL/DXFs.html +5 -14
  206. data/rdoc/RubyXL/DataBar.html +5 -14
  207. data/rdoc/RubyXL/DataConsolidate.html +5 -14
  208. data/rdoc/RubyXL/DataConsolidationReference.html +5 -14
  209. data/rdoc/RubyXL/DataConsolidationReferences.html +5 -14
  210. data/rdoc/RubyXL/DataType.html +3 -34
  211. data/rdoc/RubyXL/DataValidation.html +5 -14
  212. data/rdoc/RubyXL/DataValidations.html +5 -14
  213. data/rdoc/RubyXL/DateGroupItem.html +5 -14
  214. data/rdoc/RubyXL/DefinedName.html +5 -14
  215. data/rdoc/RubyXL/DefinedNameExt.html +5 -14
  216. data/rdoc/RubyXL/DefinedNames.html +5 -14
  217. data/rdoc/RubyXL/DefinedNamesExt.html +5 -14
  218. data/rdoc/RubyXL/DocumentPropertiesFile.html +8 -57
  219. data/rdoc/RubyXL/DrawingFile.html +10 -44
  220. data/rdoc/RubyXL/DynamicFilter.html +5 -14
  221. data/rdoc/RubyXL/EmbeddedControl.html +5 -14
  222. data/rdoc/RubyXL/EmbeddedControls.html +5 -14
  223. data/rdoc/RubyXL/Extension.html +5 -14
  224. data/rdoc/RubyXL/ExtensionStorageArea.html +5 -14
  225. data/rdoc/RubyXL/Extents.html +5 -14
  226. data/rdoc/RubyXL/ExternalBook.html +5 -14
  227. data/rdoc/RubyXL/ExternalLinksFile.html +10 -44
  228. data/rdoc/RubyXL/ExternalReference.html +5 -14
  229. data/rdoc/RubyXL/ExternalReferences.html +5 -14
  230. data/rdoc/RubyXL/ExtraColorSchemeList.html +5 -14
  231. data/rdoc/RubyXL/FieldItem.html +5 -14
  232. data/rdoc/RubyXL/FileRecoveryProperties.html +5 -14
  233. data/rdoc/RubyXL/FileSharing.html +5 -14
  234. data/rdoc/RubyXL/FileVersion.html +5 -14
  235. data/rdoc/RubyXL/Fill.html +8 -31
  236. data/rdoc/RubyXL/Fills.html +8 -31
  237. data/rdoc/RubyXL/FilterContainer.html +5 -14
  238. data/rdoc/RubyXL/FloatNode.html +5 -14
  239. data/rdoc/RubyXL/FloatValue.html +5 -14
  240. data/rdoc/RubyXL/Font.html +9 -37
  241. data/rdoc/RubyXL/FontConvenienceMethods.html +7 -198
  242. data/rdoc/RubyXL/FontScheme.html +5 -14
  243. data/rdoc/RubyXL/Fonts.html +8 -31
  244. data/rdoc/RubyXL/Formula.html +5 -14
  245. data/rdoc/RubyXL/FunctionGroup.html +5 -14
  246. data/rdoc/RubyXL/FunctionGroups.html +5 -14
  247. data/rdoc/RubyXL/GenericStorageObject.html +9 -75
  248. data/rdoc/RubyXL/GradientFill.html +5 -14
  249. data/rdoc/RubyXL/HeaderFooterSettings.html +5 -14
  250. data/rdoc/RubyXL/Hyperlink.html +5 -14
  251. data/rdoc/RubyXL/HyperlinkRelFile.html +5 -19
  252. data/rdoc/RubyXL/Hyperlinks.html +5 -14
  253. data/rdoc/RubyXL/IconFilter.html +5 -14
  254. data/rdoc/RubyXL/IconSet.html +5 -14
  255. data/rdoc/RubyXL/IgnoredError.html +5 -14
  256. data/rdoc/RubyXL/IgnoredErrors.html +5 -14
  257. data/rdoc/RubyXL/IndexedColors.html +5 -14
  258. data/rdoc/RubyXL/InputCells.html +5 -14
  259. data/rdoc/RubyXL/IntegerNode.html +5 -14
  260. data/rdoc/RubyXL/IntegerValue.html +5 -14
  261. data/rdoc/RubyXL/LegacyCell.html +6 -28
  262. data/rdoc/RubyXL/LegacyWorksheet.html +9 -88
  263. data/rdoc/RubyXL/MRUColors.html +5 -14
  264. data/rdoc/RubyXL/MacrosFile.html +5 -22
  265. data/rdoc/RubyXL/MergedCell.html +5 -14
  266. data/rdoc/RubyXL/MergedCells.html +5 -14
  267. data/rdoc/RubyXL/NumFmt.html +5 -14
  268. data/rdoc/RubyXL/NumberFormat.html +8 -31
  269. data/rdoc/RubyXL/NumberFormats.html +8 -36
  270. data/rdoc/RubyXL/OLEObject.html +5 -14
  271. data/rdoc/RubyXL/OLEObjectFile.html +5 -22
  272. data/rdoc/RubyXL/OLEObjects.html +5 -14
  273. data/rdoc/RubyXL/OLESize.html +5 -14
  274. data/rdoc/RubyXL/OOXMLContainerObject.html +19 -116
  275. data/rdoc/RubyXL/OOXMLIgnored.html +9 -46
  276. data/rdoc/RubyXL/OOXMLObject.html +8 -20
  277. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +21 -107
  278. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +23 -145
  279. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +10 -169
  280. data/rdoc/RubyXL/OOXMLTopLevelObject.html +15 -104
  281. data/rdoc/RubyXL/OdbcOleDbProperties.html +5 -14
  282. data/rdoc/RubyXL/Offset.html +5 -14
  283. data/rdoc/RubyXL/OlapProperties.html +5 -14
  284. data/rdoc/RubyXL/OleItem.html +5 -14
  285. data/rdoc/RubyXL/OleItems.html +5 -14
  286. data/rdoc/RubyXL/OleLink.html +5 -14
  287. data/rdoc/RubyXL/OutlineProperties.html +5 -14
  288. data/rdoc/RubyXL/PageMargins.html +5 -14
  289. data/rdoc/RubyXL/PageSetup.html +5 -14
  290. data/rdoc/RubyXL/PageSetupProperties.html +5 -14
  291. data/rdoc/RubyXL/Pane.html +5 -14
  292. data/rdoc/RubyXL/Parser.html +8 -44
  293. data/rdoc/RubyXL/PatternFill.html +5 -14
  294. data/rdoc/RubyXL/PhoneticProperties.html +5 -14
  295. data/rdoc/RubyXL/PhoneticRun.html +5 -14
  296. data/rdoc/RubyXL/PivotArea.html +5 -14
  297. data/rdoc/RubyXL/PivotCache.html +5 -14
  298. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +7 -27
  299. data/rdoc/RubyXL/PivotCacheRecordsFile.html +5 -22
  300. data/rdoc/RubyXL/PivotCaches.html +5 -14
  301. data/rdoc/RubyXL/PivotReference.html +5 -14
  302. data/rdoc/RubyXL/PivotReferences.html +5 -14
  303. data/rdoc/RubyXL/PivotTableFile.html +7 -27
  304. data/rdoc/RubyXL/PivotTableSelection.html +5 -14
  305. data/rdoc/RubyXL/PresetGeometry.html +5 -14
  306. data/rdoc/RubyXL/PrintOptions.html +5 -14
  307. data/rdoc/RubyXL/PrinterSettingsFile.html +5 -22
  308. data/rdoc/RubyXL/ProtectedRange.html +5 -14
  309. data/rdoc/RubyXL/ProtectedRanges.html +5 -14
  310. data/rdoc/RubyXL/Protection.html +5 -14
  311. data/rdoc/RubyXL/QueryParameter.html +5 -14
  312. data/rdoc/RubyXL/QueryParameters.html +5 -14
  313. data/rdoc/RubyXL/QueryTable.html +10 -44
  314. data/rdoc/RubyXL/QueryTableDeletedField.html +5 -14
  315. data/rdoc/RubyXL/QueryTableDeletedFields.html +5 -14
  316. data/rdoc/RubyXL/QueryTableField.html +5 -14
  317. data/rdoc/RubyXL/QueryTableFields.html +5 -14
  318. data/rdoc/RubyXL/QueryTableRefresh.html +5 -14
  319. data/rdoc/RubyXL/RID.html +5 -14
  320. data/rdoc/RubyXL/RawOOXML.html +9 -51
  321. data/rdoc/RubyXL/Reference.html +11 -197
  322. data/rdoc/RubyXL/Relationship.html +5 -14
  323. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +6 -28
  324. data/rdoc/RubyXL/RelationshipSupport.html +9 -108
  325. data/rdoc/RubyXL/RevisionPointer.html +5 -14
  326. data/rdoc/RubyXL/RichText.html +10 -32
  327. data/rdoc/RubyXL/RichTextRun.html +8 -31
  328. data/rdoc/RubyXL/Row.html +17 -154
  329. data/rdoc/RubyXL/RowExt.html +5 -14
  330. data/rdoc/RubyXL/RunProperties.html +5 -14
  331. data/rdoc/RubyXL/Scenario.html +5 -14
  332. data/rdoc/RubyXL/Scenarios.html +5 -14
  333. data/rdoc/RubyXL/Selection.html +8 -31
  334. data/rdoc/RubyXL/ShapeGuide.html +5 -14
  335. data/rdoc/RubyXL/ShapeTextRectangle.html +5 -14
  336. data/rdoc/RubyXL/SharedStringsTable.html +9 -121
  337. data/rdoc/RubyXL/Sheet.html +5 -14
  338. data/rdoc/RubyXL/SheetCalculationProperties.html +5 -14
  339. data/rdoc/RubyXL/SheetData.html +10 -46
  340. data/rdoc/RubyXL/SheetDataExt.html +5 -14
  341. data/rdoc/RubyXL/SheetDataSet.html +5 -14
  342. data/rdoc/RubyXL/SheetName.html +5 -14
  343. data/rdoc/RubyXL/SheetNames.html +5 -14
  344. data/rdoc/RubyXL/Sheets.html +5 -14
  345. data/rdoc/RubyXL/SlicerCacheFile.html +5 -22
  346. data/rdoc/RubyXL/SlicerFile.html +5 -22
  347. data/rdoc/RubyXL/SmartTagProperties.html +5 -14
  348. data/rdoc/RubyXL/SmartTagType.html +5 -14
  349. data/rdoc/RubyXL/SmartTagTypes.html +5 -14
  350. data/rdoc/RubyXL/SmartTags.html +5 -14
  351. data/rdoc/RubyXL/SortCondition.html +5 -14
  352. data/rdoc/RubyXL/SortState.html +5 -14
  353. data/rdoc/RubyXL/Sqref.html +11 -48
  354. data/rdoc/RubyXL/Stop.html +5 -14
  355. data/rdoc/RubyXL/StringNode.html +5 -14
  356. data/rdoc/RubyXL/StringNodeW3C.html +9 -46
  357. data/rdoc/RubyXL/StringValue.html +5 -14
  358. data/rdoc/RubyXL/Stylesheet.html +9 -94
  359. data/rdoc/RubyXL/TableFile.html +5 -22
  360. data/rdoc/RubyXL/TableParts.html +5 -14
  361. data/rdoc/RubyXL/TableStyle.html +5 -14
  362. data/rdoc/RubyXL/TableStyles.html +5 -14
  363. data/rdoc/RubyXL/Text.html +8 -52
  364. data/rdoc/RubyXL/TextImportSettings.html +5 -14
  365. data/rdoc/RubyXL/Theme.html +9 -67
  366. data/rdoc/RubyXL/ThemeElements.html +5 -14
  367. data/rdoc/RubyXL/ThumbnailFile.html +5 -22
  368. data/rdoc/RubyXL/Top10.html +5 -14
  369. data/rdoc/RubyXL/VMLDrawingFile.html +8 -28
  370. data/rdoc/RubyXL/Variant.html +5 -14
  371. data/rdoc/RubyXL/Vector.html +8 -31
  372. data/rdoc/RubyXL/VectorValue.html +5 -14
  373. data/rdoc/RubyXL/VisualProperties.html +5 -14
  374. data/rdoc/RubyXL/WebPublishObject.html +5 -14
  375. data/rdoc/RubyXL/WebPublishObjects.html +5 -14
  376. data/rdoc/RubyXL/WebPublishingItem.html +5 -14
  377. data/rdoc/RubyXL/WebPublishingItems.html +5 -14
  378. data/rdoc/RubyXL/WebPublishingProperties.html +5 -14
  379. data/rdoc/RubyXL/WebQueryProperties.html +5 -14
  380. data/rdoc/RubyXL/Workbook.html +11 -439
  381. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +7 -224
  382. data/rdoc/RubyXL/WorkbookProperties.html +5 -14
  383. data/rdoc/RubyXL/WorkbookProtection.html +5 -14
  384. data/rdoc/RubyXL/WorkbookRoot.html +11 -101
  385. data/rdoc/RubyXL/WorkbookView.html +5 -14
  386. data/rdoc/RubyXL/WorkbookViews.html +5 -14
  387. data/rdoc/RubyXL/Worksheet.html +11 -132
  388. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +138 -1002
  389. data/rdoc/RubyXL/WorksheetDimensions.html +5 -14
  390. data/rdoc/RubyXL/WorksheetFormatProperties.html +5 -14
  391. data/rdoc/RubyXL/WorksheetProperties.html +5 -14
  392. data/rdoc/RubyXL/WorksheetProtection.html +5 -14
  393. data/rdoc/RubyXL/WorksheetView.html +5 -14
  394. data/rdoc/RubyXL/WorksheetViews.html +5 -14
  395. data/rdoc/RubyXL/XF.html +5 -14
  396. data/rdoc/RubyXL.html +8 -321
  397. data/rdoc/created.rid +11 -11
  398. data/rdoc/css/rdoc.css +21 -1
  399. data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
  400. data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
  401. data/rdoc/index.html +5 -394
  402. data/rdoc/js/navigation.js.gz +0 -0
  403. data/rdoc/js/search_index.js +1 -1
  404. data/rdoc/js/search_index.js.gz +0 -0
  405. data/rdoc/js/searcher.js.gz +0 -0
  406. data/rdoc/table_of_contents.html +4 -821
  407. data/rubyXL.gemspec +8 -8
  408. data/spec/lib/cell_spec.rb +6 -0
  409. data/spec/lib/worksheet_spec.rb +303 -2
  410. metadata +4 -4
data/rubyXL.gemspec CHANGED
@@ -1,17 +1,17 @@
1
- # Generated by jeweler
1
+ # Generated by juwelier
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
3
+ # Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: rubyXL 3.4.16 ruby lib
5
+ # stub: rubyXL 3.4.21 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "rubyXL".freeze
9
- s.version = "3.4.16"
9
+ s.version = "3.4.21"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib".freeze]
13
13
  s.authors = ["Vivek Bhagwat".freeze, "Wesha".freeze]
14
- s.date = "2020-10-29"
14
+ s.date = "2022-01-30"
15
15
  s.description = "rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents".freeze
16
16
  s.email = "bhagwat.vivek@gmail.com".freeze
17
17
  s.extra_rdoc_files = [
@@ -515,7 +515,7 @@ Gem::Specification.new do |s|
515
515
  ]
516
516
  s.homepage = "http://github.com/gilt/rubyXL".freeze
517
517
  s.licenses = ["MIT".freeze]
518
- s.rubygems_version = "3.1.2".freeze
518
+ s.rubygems_version = "3.1.6".freeze
519
519
  s.summary = "rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents".freeze
520
520
 
521
521
  if s.respond_to? :specification_version then
@@ -527,7 +527,7 @@ Gem::Specification.new do |s|
527
527
  s.add_runtime_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
528
528
  s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
529
529
  s.add_development_dependency(%q<rake>.freeze, [">= 0"])
530
- s.add_development_dependency(%q<jeweler>.freeze, [">= 0"])
530
+ s.add_development_dependency(%q<juwelier>.freeze, [">= 0"])
531
531
  s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
532
532
  s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
533
533
  s.add_development_dependency(%q<ruby-prof>.freeze, [">= 0"])
@@ -537,7 +537,7 @@ Gem::Specification.new do |s|
537
537
  s.add_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
538
538
  s.add_dependency(%q<bundler>.freeze, [">= 0"])
539
539
  s.add_dependency(%q<rake>.freeze, [">= 0"])
540
- s.add_dependency(%q<jeweler>.freeze, [">= 0"])
540
+ s.add_dependency(%q<juwelier>.freeze, [">= 0"])
541
541
  s.add_dependency(%q<rspec>.freeze, [">= 0"])
542
542
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
543
543
  s.add_dependency(%q<ruby-prof>.freeze, [">= 0"])
@@ -376,6 +376,12 @@ describe RubyXL::Cell do
376
376
  end
377
377
  end
378
378
 
379
+ context 'with RichText' do
380
+ it 'returns the value of the RichText' do
381
+ cell = RubyXL::Cell.new(is: RubyXL::RichText.new(t: RubyXL::Text.new(value: 'test')))
382
+ expect(cell.value).to eq('test')
383
+ end
384
+ end
379
385
  end
380
386
 
381
387
  describe '.change_contents' do
@@ -10,7 +10,7 @@ describe RubyXL::Worksheet do
10
10
 
11
11
  (0..10).each do |i|
12
12
  (0..10).each do |j|
13
- next if i == SKIP_ROW_COL || j == SKIP_ROW_COL # Skip some rows/cells
13
+ next if i == SKIP_ROW_COL || j == SKIP_ROW_COL # Skip some rows/cells
14
14
  @worksheet.add_cell(i, j, "#{i}:#{j}", "F#{i}:#{j}")
15
15
  end
16
16
  end
@@ -653,6 +653,107 @@ describe RubyXL::Worksheet do
653
653
  end
654
654
  }
655
655
  end
656
+
657
+ describe 'merged_cells updating' do
658
+ context 'merged cells in the row' do
659
+ # | A1 | B1 | C1 | D1 | E1 |
660
+ # | A2 | MERGED | E2 |
661
+ # | A3 | B3 | C3 | D3 | E3 |
662
+ before do
663
+ @worksheet.merge_cells(1, 1, 1, 3)
664
+ expect(@worksheet.merged_cells.size).to eq 1
665
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:D2"
666
+ end
667
+ it 'should delete merged cell' do
668
+ @worksheet.delete_row(1)
669
+ expect(@worksheet.merged_cells.size).to eq 0
670
+ end
671
+ end
672
+ context 'merged vertical two cells' do
673
+ # | A1 | B1 | C1 |
674
+ # | A2 | MERGED | C2 |
675
+ # | A3 | | C3 |
676
+ # | A4 | B4 | C4 |
677
+ before do
678
+ @worksheet.merge_cells(1, 1, 2, 1)
679
+ expect(@worksheet.merged_cells.size).to eq 1
680
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:B3"
681
+ end
682
+ it 'should delete merged cell' do
683
+ @worksheet.delete_row(1)
684
+ expect(@worksheet.merged_cells.size).to eq 0
685
+ end
686
+ end
687
+
688
+ context 'merged three or more rows' do
689
+ # | A1 | B1 | C1 | D1 | E1 |
690
+ # | A2 | | E2 |
691
+ # | A3 | MERGED | E3 |
692
+ # | A4 | | E4 |
693
+ # | A5 | B5 | C5 | D5 | E5 |
694
+ before do
695
+ @worksheet.merge_cells(1, 1, 3, 3)
696
+ expect(@worksheet.merged_cells.size).to eq 1
697
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:D4"
698
+ end
699
+
700
+ # | A2 | | E2 |
701
+ # | A3 | MERGED | E3 |
702
+ # | A4 | | E4 |
703
+ # | A5 | B5 | C5 | D5 | E5 |
704
+ it 'should updates merged cell when delete above the cell' do
705
+ @worksheet.delete_row(0)
706
+ expect(@worksheet.merged_cells.size).to eq 1
707
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B1:D3"
708
+ end
709
+
710
+ # | A1 | B1 | C1 | D1 | E1 |
711
+ # | A3 | MERGED | E3 |
712
+ # | A4 | | E4 |
713
+ # | A5 | B5 | C5 | D5 | E5 |
714
+ it 'should updates merged cell when delete top of the cell' do
715
+ @worksheet.delete_row(1)
716
+ expect(@worksheet.merged_cells.size).to eq 1
717
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:D3"
718
+ end
719
+
720
+ # | A1 | B1 | C1 | D1 | E1 |
721
+ # | A2 | MERGED | E2 |
722
+ # | A4 | | E4 |
723
+ # | A5 | B5 | C5 | D5 | E5 |
724
+ it 'should updates merged cell when delete middle of the cell' do
725
+ @worksheet.delete_row(2)
726
+ expect(@worksheet.merged_cells.size).to eq 1
727
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:D3"
728
+ end
729
+
730
+ # | A1 | B1 | C1 | D1 | E1 |
731
+ # | A2 | MERGED | E2 |
732
+ # | A3 | | E3 |
733
+ # | A5 | B5 | C5 | D5 | E5 |
734
+ it 'should updates merged cell when delete bottom of the cell' do
735
+ @worksheet.delete_row(3)
736
+ expect(@worksheet.merged_cells.size).to eq 1
737
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:D3"
738
+ end
739
+
740
+ # | A1 | B1 | C1 | D1 | E1 |
741
+ # | A2 | | E2 |
742
+ # | A3 | MERGED | E3 |
743
+ # | A4 | | E4 |
744
+ it 'should not updates merged cell when ldelete below the cell' do
745
+ @worksheet.delete_row(4)
746
+ expect(@worksheet.merged_cells.size).to eq 1
747
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:D4"
748
+ end
749
+ end
750
+ end
751
+
752
+ it 'should not make empty merged_cells when a worksheet does not have a merged cell' do
753
+ # If a worksheet has empty merged_cells, the xlsx file has an XML error and has to repair.
754
+ @worksheet.delete_row(0)
755
+ expect(@worksheet.merged_cells).to be_nil
756
+ end
656
757
  end
657
758
 
658
759
  describe '.insert_row' do
@@ -713,6 +814,57 @@ describe RubyXL::Worksheet do
713
814
  end
714
815
  }
715
816
  end
817
+
818
+ describe 'merged_cells updating' do
819
+ # | A1 | B1 | C1 | D1 |
820
+ # | A2 | MERGED | D2 |
821
+ # | A3 | | D3 |
822
+ # | A4 | B4 | C4 | D4 |
823
+ before do
824
+ @worksheet.merge_cells(1, 1, 2, 2)
825
+ expect(@worksheet.merged_cells.size).to eq 1
826
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:C3"
827
+ end
828
+
829
+ # | A1 | B1 | C1 | D1 |
830
+ # | | | | |
831
+ # | A2 | MERGED | D2 |
832
+ # | A3 | | D3 |
833
+ # | A4 | B4 | C4 | D4 |
834
+ it 'should updates merged cell when insert above the cell' do
835
+ @worksheet.insert_row(1)
836
+ expect(@worksheet.merged_cells.size).to eq 1
837
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B3:C4"
838
+ end
839
+
840
+ # | A1 | B1 | C1 | D1 |
841
+ # | A2 | | D2 |
842
+ # | | MERGED | |
843
+ # | A3 | | D3 |
844
+ # | A4 | B4 | C4 | D4 |
845
+ it 'should updates merged cell when insert into the cell' do
846
+ @worksheet.insert_row(2)
847
+ expect(@worksheet.merged_cells.size).to eq 1
848
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:C4"
849
+ end
850
+
851
+ # | A1 | B1 | C1 | D1 |
852
+ # | A2 | MERGED | D2 |
853
+ # | A3 | | D3 |
854
+ # | | | | |
855
+ # | A4 | B4 | C4 | D4 |
856
+ it 'should not updates merged cell when insert below the cell' do
857
+ @worksheet.insert_row(3)
858
+ expect(@worksheet.merged_cells.size).to eq 1
859
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:C3"
860
+ end
861
+ end
862
+
863
+ it 'should not make empty merged_cells when a worksheet does not have a merged cell' do
864
+ # If a worksheet has empty merged_cells, the xlsx file has an XML error and has to repair.
865
+ @worksheet.insert_row(0)
866
+ expect(@worksheet.merged_cells).to be_nil
867
+ end
716
868
  end
717
869
 
718
870
  describe '.delete_column' do
@@ -776,6 +928,107 @@ describe RubyXL::Worksheet do
776
928
  end
777
929
  }
778
930
  end
931
+
932
+ describe 'merged_cells updating' do
933
+ context 'merged cells in the column' do
934
+ # | A1 | B1 | C1 |
935
+ # | A2 | | C2 |
936
+ # | A3 | MERGED | C3 |
937
+ # | A4 | | C4 |
938
+ # | A5 | B5 | C5 |
939
+ before do
940
+ @worksheet.merge_cells(1, 1, 3, 1)
941
+ expect(@worksheet.merged_cells.size).to eq 1
942
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:B4"
943
+ end
944
+ it 'should delete merged cell' do
945
+ @worksheet.delete_column(1)
946
+ expect(@worksheet.merged_cells.size).to eq 0
947
+ end
948
+ end
949
+ context 'merged horizontal two cells' do
950
+ # | A1 | B1 | C1 | D1 |
951
+ # | A2 | MERGED | D2 |
952
+ # | A3 | B3 | C3 | D3 |
953
+ before do
954
+ @worksheet.merge_cells(1, 1, 1, 2)
955
+ expect(@worksheet.merged_cells.size).to eq 1
956
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:C2"
957
+ end
958
+ it 'should delete merged cell' do
959
+ @worksheet.delete_column(1)
960
+ expect(@worksheet.merged_cells.size).to eq 0
961
+ end
962
+ end
963
+ context 'merged three or more columns' do
964
+ # | A1 | B1 | C1 | D1 | E1 |
965
+ # | A2 | | E2 |
966
+ # | A3 | MERGED | E3 |
967
+ # | A4 | | E4 |
968
+ # | A5 | B5 | C5 | D5 | E5 |
969
+ before do
970
+ @worksheet.merge_cells(1, 1, 3, 3)
971
+ expect(@worksheet.merged_cells.size).to eq 1
972
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:D4"
973
+ end
974
+ # | B1 | C1 | D1 | E1 |
975
+ # | | E2 |
976
+ # | MERGED | E3 |
977
+ # | | E4 |
978
+ # | B5 | C5 | D5 | E5 |
979
+ it 'should updates merged cell when delete before the cell' do
980
+ @worksheet.delete_column(0)
981
+ expect(@worksheet.merged_cells.size).to eq 1
982
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "A2:C4"
983
+ end
984
+ # | A1 | C1 | D1 | E1 |
985
+ # | A2 | | E2 |
986
+ # | A3 | MERGED | E3 |
987
+ # | A4 | | E4 |
988
+ # | A5 | C5 | D5 | E5 |
989
+ it 'should updates merged cell when delete left of the cell' do
990
+ @worksheet.delete_column(1)
991
+ expect(@worksheet.merged_cells.size).to eq 1
992
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:C4"
993
+ end
994
+ # | A1 | B1 | D1 | E1 |
995
+ # | A2 | | E2 |
996
+ # | A3 | MERGED | E3 |
997
+ # | A4 | | E4 |
998
+ # | A5 | B5 | D5 | E5 |
999
+ it 'should updates merged cell when delete center of the cell' do
1000
+ @worksheet.delete_column(2)
1001
+ expect(@worksheet.merged_cells.size).to eq 1
1002
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:C4"
1003
+ end
1004
+ # | A1 | B1 | C1 | E1 |
1005
+ # | A2 | | E2 |
1006
+ # | A3 | MERGED | E3 |
1007
+ # | A4 | | E4 |
1008
+ # | A5 | B5 | C5 | E5 |
1009
+ it 'should updates merged cell when delete right of the cell' do
1010
+ @worksheet.delete_column(3)
1011
+ expect(@worksheet.merged_cells.size).to eq 1
1012
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:C4"
1013
+ end
1014
+ # | A1 | B1 | C1 | D1 |
1015
+ # | A2 | |
1016
+ # | A3 | MERGED |
1017
+ # | A4 | |
1018
+ # | A5 | B5 | C5 | D5 |
1019
+ it 'should not updates merged cell when delete after the cell' do
1020
+ @worksheet.delete_column(4)
1021
+ expect(@worksheet.merged_cells.size).to eq 1
1022
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:D4"
1023
+ end
1024
+ end
1025
+ end
1026
+
1027
+ it 'should not make empty merged_cells when a worksheet does not have a merged cell' do
1028
+ # If a worksheet has empty merged_cells, the xlsx file has an XML error and has to repair.
1029
+ @worksheet.delete_column(0)
1030
+ expect(@worksheet.merged_cells).to be_nil
1031
+ end
779
1032
  end
780
1033
 
781
1034
  describe '.insert_column' do
@@ -806,7 +1059,7 @@ describe RubyXL::Worksheet do
806
1059
 
807
1060
  it 'should update cell indices after deleting the column' do
808
1061
  @worksheet.insert_column(5)
809
- @worksheet[0].cells.each_with_index { |cell, i|
1062
+ @worksheet[0].cells.each_with_index { |cell, i|
810
1063
  next if cell.nil?
811
1064
  expect(cell.column).to eq(i)
812
1065
  }
@@ -834,6 +1087,54 @@ describe RubyXL::Worksheet do
834
1087
  end
835
1088
  }
836
1089
  end
1090
+
1091
+ describe 'merged_cells updating' do
1092
+ # | A1 | B1 | C1 | D1 |
1093
+ # | A2 | MERGED | D2 |
1094
+ # | A3 | | D3 |
1095
+ # | A4 | B4 | C4 | D4 |
1096
+ before do
1097
+ @worksheet.merge_cells(1, 1, 2, 2)
1098
+ expect(@worksheet.merged_cells.size).to eq 1
1099
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:C3"
1100
+ end
1101
+
1102
+ # | A1 | | B1 | C1 | D1 |
1103
+ # | A2 | | MERGED | D2 |
1104
+ # | A3 | | | D3 |
1105
+ # | A4 | | B4 | C4 | D4 |
1106
+ it 'should updates merged cell when insert before the cell' do
1107
+ @worksheet.insert_column(1)
1108
+ expect(@worksheet.merged_cells.size).to eq 1
1109
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "C2:D3"
1110
+ end
1111
+
1112
+ # | A1 | B1 | | C1 | D1 |
1113
+ # | A2 | MERGED | D2 |
1114
+ # | A3 | | D3 |
1115
+ # | A4 | B4 | | C4 | D4 |
1116
+ it 'should updates merged cell when insert into the cell' do
1117
+ @worksheet.insert_column(2)
1118
+ expect(@worksheet.merged_cells.size).to eq 1
1119
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:D3"
1120
+ end
1121
+
1122
+ # | A1 | B1 | C1 | | D1 |
1123
+ # | A2 | MERGED | | D2 |
1124
+ # | A3 | | | D3 |
1125
+ # | A4 | B4 | C4 | | D4 |
1126
+ it 'should not updates merged cell when insert after the cell' do
1127
+ @worksheet.insert_column(3)
1128
+ expect(@worksheet.merged_cells.size).to eq 1
1129
+ expect(@worksheet.merged_cells.first.ref.to_s).to eq "B2:C3"
1130
+ end
1131
+ end
1132
+
1133
+ it 'should not make empty merged_cells when a worksheet does not have a merged cell' do
1134
+ # If a worksheet has empty merged_cells, the xlsx file has an XML error and has to repair.
1135
+ @worksheet.insert_column(0)
1136
+ expect(@worksheet.merged_cells).to be_nil
1137
+ end
837
1138
  end
838
1139
 
839
1140
  describe '.insert_cell' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyXL
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.16
4
+ version: 3.4.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vivek Bhagwat
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-10-29 00:00:00.000000000 Z
12
+ date: 2022-01-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
@@ -68,7 +68,7 @@ dependencies:
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
70
  - !ruby/object:Gem::Dependency
71
- name: jeweler
71
+ name: juwelier
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - ">="
@@ -658,7 +658,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
658
658
  - !ruby/object:Gem::Version
659
659
  version: '0'
660
660
  requirements: []
661
- rubygems_version: 3.1.2
661
+ rubygems_version: 3.1.6
662
662
  signing_key:
663
663
  specification_version: 4
664
664
  summary: rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft