rubyXL 3.3.21 → 3.4.17

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 (456) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +60 -0
  3. data/.codeclimate.yml +3 -0
  4. data/Gemfile +3 -2
  5. data/Gemfile.lock +96 -0
  6. data/LICENSE.txt +1 -1
  7. data/README.rdoc +47 -16
  8. data/Rakefile +3 -2
  9. data/VERSION +1 -1
  10. data/lib/rubyXL.rb +1 -0
  11. data/lib/rubyXL/cell.rb +1 -26
  12. data/lib/rubyXL/convenience_methods.rb +5 -982
  13. data/lib/rubyXL/convenience_methods/cell.rb +272 -0
  14. data/lib/rubyXL/convenience_methods/color.rb +160 -0
  15. data/lib/rubyXL/convenience_methods/font.rb +63 -0
  16. data/lib/rubyXL/convenience_methods/workbook.rb +136 -0
  17. data/lib/rubyXL/convenience_methods/worksheet.rb +710 -0
  18. data/lib/rubyXL/objects/border.rb +31 -3
  19. data/lib/rubyXL/objects/calculation_chain.rb +2 -2
  20. data/lib/rubyXL/objects/cell_style.rb +8 -8
  21. data/lib/rubyXL/objects/chartsheet.rb +10 -10
  22. data/lib/rubyXL/objects/color.rb +6 -4
  23. data/lib/rubyXL/objects/column_range.rb +10 -10
  24. data/lib/rubyXL/objects/comments.rb +6 -6
  25. data/lib/rubyXL/objects/connection.rb +175 -0
  26. data/lib/rubyXL/objects/container_nodes.rb +2 -2
  27. data/lib/rubyXL/objects/content_types.rb +2 -2
  28. data/lib/rubyXL/objects/data_validation.rb +4 -2
  29. data/lib/rubyXL/objects/document_properties.rb +3 -3
  30. data/lib/rubyXL/objects/extensions.rb +20 -3
  31. data/lib/rubyXL/objects/external_links.rb +26 -2
  32. data/lib/rubyXL/objects/fill.rb +4 -4
  33. data/lib/rubyXL/objects/filters.rb +12 -12
  34. data/lib/rubyXL/objects/font.rb +2 -60
  35. data/lib/rubyXL/objects/formula.rb +1 -1
  36. data/lib/rubyXL/objects/ooxml_object.rb +15 -3
  37. data/lib/rubyXL/objects/query_table.rb +104 -0
  38. data/lib/rubyXL/objects/relationships.rb +8 -3
  39. data/lib/rubyXL/objects/shared_strings.rb +1 -1
  40. data/lib/rubyXL/objects/sheet_common.rb +4 -4
  41. data/lib/rubyXL/objects/sheet_data.rb +48 -11
  42. data/lib/rubyXL/objects/simple_types.rb +18 -0
  43. data/lib/rubyXL/objects/storage.rb +25 -1
  44. data/lib/rubyXL/objects/stylesheet.rb +14 -14
  45. data/lib/rubyXL/objects/text.rb +8 -8
  46. data/lib/rubyXL/objects/theme.rb +138 -119
  47. data/lib/rubyXL/objects/workbook.rb +153 -43
  48. data/lib/rubyXL/objects/worksheet.rb +118 -107
  49. data/lib/rubyXL/worksheet.rb +19 -13
  50. data/rdoc/README_rdoc.html +109 -103
  51. data/rdoc/RubyXL.html +39 -296
  52. data/rdoc/RubyXL/AExtension.html +21 -60
  53. data/rdoc/RubyXL/AExtensionStorageArea.html +12 -17
  54. data/rdoc/RubyXL/ActiveX.html +154 -0
  55. data/rdoc/RubyXL/ActiveXBinary.html +106 -0
  56. data/rdoc/RubyXL/AdjustHandleList.html +13 -19
  57. data/rdoc/RubyXL/Alignment.html +13 -19
  58. data/rdoc/RubyXL/AlternateContent.html +12 -17
  59. data/rdoc/RubyXL/Authors.html +13 -19
  60. data/rdoc/RubyXL/AutoFilter.html +13 -19
  61. data/rdoc/RubyXL/AutoFilterColumn.html +13 -19
  62. data/rdoc/RubyXL/BinaryImageFile.html +12 -25
  63. data/rdoc/RubyXL/BodyProperties.html +13 -19
  64. data/rdoc/RubyXL/BooleanNode.html +12 -17
  65. data/rdoc/RubyXL/BooleanValue.html +12 -17
  66. data/rdoc/RubyXL/Border.html +76 -53
  67. data/rdoc/RubyXL/BorderEdge.html +71 -17
  68. data/rdoc/RubyXL/Borders.html +19 -39
  69. data/rdoc/RubyXL/Break.html +13 -19
  70. data/rdoc/RubyXL/BreakList.html +13 -19
  71. data/rdoc/RubyXL/CT_AdjPoint2D.html +13 -19
  72. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +13 -19
  73. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +13 -19
  74. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +13 -19
  75. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +13 -19
  76. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +13 -19
  77. data/rdoc/RubyXL/CT_Backdrop.html +13 -19
  78. data/rdoc/RubyXL/CT_Bevel.html +13 -19
  79. data/rdoc/RubyXL/CT_BiLevelEffect.html +13 -19
  80. data/rdoc/RubyXL/CT_BlendEffect.html +13 -19
  81. data/rdoc/RubyXL/CT_Blip.html +13 -19
  82. data/rdoc/RubyXL/CT_BlipFillProperties.html +13 -19
  83. data/rdoc/RubyXL/CT_BlurEffect.html +13 -19
  84. data/rdoc/RubyXL/CT_Camera.html +13 -19
  85. data/rdoc/RubyXL/CT_Color.html +13 -19
  86. data/rdoc/RubyXL/CT_ColorChangeEffect.html +13 -19
  87. data/rdoc/RubyXL/CT_ColorMapping.html +13 -19
  88. data/rdoc/RubyXL/CT_ColorScheme.html +13 -19
  89. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +13 -19
  90. data/rdoc/RubyXL/CT_ConnectionSite.html +13 -19
  91. data/rdoc/RubyXL/CT_ConnectionSiteList.html +13 -19
  92. data/rdoc/RubyXL/CT_DashStop.html +13 -19
  93. data/rdoc/RubyXL/CT_DashStopList.html +13 -19
  94. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +13 -19
  95. data/rdoc/RubyXL/CT_DuotoneEffect.html +13 -19
  96. data/rdoc/RubyXL/CT_EffectContainer.html +13 -19
  97. data/rdoc/RubyXL/CT_EffectList.html +13 -19
  98. data/rdoc/RubyXL/CT_EffectReference.html +13 -19
  99. data/rdoc/RubyXL/CT_EffectStyleItem.html +13 -19
  100. data/rdoc/RubyXL/CT_EffectStyleList.html +13 -19
  101. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +13 -19
  102. data/rdoc/RubyXL/CT_FillEffect.html +13 -19
  103. data/rdoc/RubyXL/CT_FillOverlayEffect.html +13 -19
  104. data/rdoc/RubyXL/CT_FillStyleList.html +13 -19
  105. data/rdoc/RubyXL/CT_FlatText.html +13 -19
  106. data/rdoc/RubyXL/CT_FontCollection.html +13 -19
  107. data/rdoc/RubyXL/CT_FontReference.html +13 -19
  108. data/rdoc/RubyXL/CT_GeomGuideList.html +13 -19
  109. data/rdoc/RubyXL/CT_GlowEffect.html +13 -19
  110. data/rdoc/RubyXL/CT_GradientFillProperties.html +13 -19
  111. data/rdoc/RubyXL/CT_GradientStop.html +13 -19
  112. data/rdoc/RubyXL/CT_GradientStopList.html +13 -19
  113. data/rdoc/RubyXL/CT_HSLEffect.html +13 -19
  114. data/rdoc/RubyXL/CT_HslColor.html +13 -19
  115. data/rdoc/RubyXL/CT_Hyperlink.html +13 -19
  116. data/rdoc/RubyXL/CT_InnerShadowEffect.html +13 -19
  117. data/rdoc/RubyXL/CT_LightRig.html +13 -19
  118. data/rdoc/RubyXL/CT_LineEndProperties.html +13 -19
  119. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +13 -19
  120. data/rdoc/RubyXL/CT_LineProperties.html +13 -19
  121. data/rdoc/RubyXL/CT_LineStyleList.html +13 -19
  122. data/rdoc/RubyXL/CT_LinearShadeProperties.html +13 -19
  123. data/rdoc/RubyXL/CT_LuminanceEffect.html +13 -19
  124. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +13 -19
  125. data/rdoc/RubyXL/CT_OuterShadowEffect.html +13 -19
  126. data/rdoc/RubyXL/CT_Path2D.html +13 -19
  127. data/rdoc/RubyXL/CT_Path2DArcTo.html +13 -19
  128. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +13 -19
  129. data/rdoc/RubyXL/CT_Path2DList.html +13 -19
  130. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +13 -19
  131. data/rdoc/RubyXL/CT_Path2DTo.html +13 -19
  132. data/rdoc/RubyXL/CT_PathShadeProperties.html +13 -19
  133. data/rdoc/RubyXL/CT_PatternFillProperties.html +13 -19
  134. data/rdoc/RubyXL/CT_Point3D.html +13 -19
  135. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +13 -19
  136. data/rdoc/RubyXL/CT_PresetColor.html +13 -19
  137. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +13 -19
  138. data/rdoc/RubyXL/CT_PresetShadowEffect.html +13 -19
  139. data/rdoc/RubyXL/CT_PresetTextShape.html +13 -19
  140. data/rdoc/RubyXL/CT_ReflectionEffect.html +13 -19
  141. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +13 -19
  142. data/rdoc/RubyXL/CT_RelativeRect.html +13 -19
  143. data/rdoc/RubyXL/CT_SRgbColor.html +13 -19
  144. data/rdoc/RubyXL/CT_ScRgbColor.html +13 -19
  145. data/rdoc/RubyXL/CT_Scene3D.html +13 -19
  146. data/rdoc/RubyXL/CT_SchemeColor.html +13 -19
  147. data/rdoc/RubyXL/CT_Shape3D.html +13 -19
  148. data/rdoc/RubyXL/CT_ShapeStyle.html +13 -19
  149. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +13 -19
  150. data/rdoc/RubyXL/CT_SphereCoords.html +13 -19
  151. data/rdoc/RubyXL/CT_StretchInfoProperties.html +13 -19
  152. data/rdoc/RubyXL/CT_StyleMatrix.html +13 -19
  153. data/rdoc/RubyXL/CT_StyleMatrixReference.html +13 -19
  154. data/rdoc/RubyXL/CT_SupplementalFont.html +13 -19
  155. data/rdoc/RubyXL/CT_SystemColor.html +13 -19
  156. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +13 -19
  157. data/rdoc/RubyXL/CT_TextBlipBullet.html +13 -19
  158. data/rdoc/RubyXL/CT_TextCharBullet.html +13 -19
  159. data/rdoc/RubyXL/CT_TextCharacterProperties.html +13 -19
  160. data/rdoc/RubyXL/CT_TextFont.html +13 -19
  161. data/rdoc/RubyXL/CT_TextListStyle.html +13 -19
  162. data/rdoc/RubyXL/CT_TextNormalAutofit.html +13 -19
  163. data/rdoc/RubyXL/CT_TextParagraphProperties.html +13 -19
  164. data/rdoc/RubyXL/CT_TextSpacing.html +13 -19
  165. data/rdoc/RubyXL/CT_TextTabStop.html +13 -19
  166. data/rdoc/RubyXL/CT_TextTabStopList.html +13 -19
  167. data/rdoc/RubyXL/CT_TileInfoProperties.html +13 -19
  168. data/rdoc/RubyXL/CT_TintEffect.html +13 -19
  169. data/rdoc/RubyXL/CT_Transform2D.html +13 -19
  170. data/rdoc/RubyXL/CT_TransformEffect.html +13 -19
  171. data/rdoc/RubyXL/CT_Vector3D.html +13 -19
  172. data/rdoc/RubyXL/CT_XYAdjustHandle.html +13 -19
  173. data/rdoc/RubyXL/CalculationChain.html +17 -45
  174. data/rdoc/RubyXL/CalculationChainCell.html +13 -19
  175. data/rdoc/RubyXL/CalculationProperties.html +13 -19
  176. data/rdoc/RubyXL/Cell.html +144 -204
  177. data/rdoc/RubyXL/CellConvenienceMethods.html +240 -426
  178. data/rdoc/RubyXL/CellExt.html +13 -19
  179. data/rdoc/RubyXL/CellSmartTag.html +13 -19
  180. data/rdoc/RubyXL/CellSmartTagProperty.html +13 -19
  181. data/rdoc/RubyXL/CellSmartTags.html +13 -19
  182. data/rdoc/RubyXL/CellStyle.html +13 -19
  183. data/rdoc/RubyXL/CellStyleXFs.html +18 -38
  184. data/rdoc/RubyXL/CellStyles.html +18 -38
  185. data/rdoc/RubyXL/CellValue.html +18 -38
  186. data/rdoc/RubyXL/CellWatch.html +13 -19
  187. data/rdoc/RubyXL/CellWatches.html +13 -19
  188. data/rdoc/RubyXL/CellXFs.html +19 -39
  189. data/rdoc/RubyXL/ChartColorsFile.html +12 -25
  190. data/rdoc/RubyXL/ChartFile.html +19 -49
  191. data/rdoc/RubyXL/ChartStyleFile.html +12 -25
  192. data/rdoc/RubyXL/ChartUserShapesFile.html +12 -25
  193. data/rdoc/RubyXL/Chartsheet.html +19 -67
  194. data/rdoc/RubyXL/ChartsheetPageSetup.html +13 -19
  195. data/rdoc/RubyXL/ChartsheetProperties.html +13 -19
  196. data/rdoc/RubyXL/ChartsheetProtection.html +13 -19
  197. data/rdoc/RubyXL/ChartsheetView.html +13 -19
  198. data/rdoc/RubyXL/ChartsheetViews.html +13 -19
  199. data/rdoc/RubyXL/Color.html +28 -39
  200. data/rdoc/RubyXL/ColorConvenienceClasses.html +91 -0
  201. data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +242 -0
  202. data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +279 -0
  203. data/rdoc/RubyXL/ColorConvenienceMethods.html +137 -0
  204. data/rdoc/RubyXL/ColorFilter.html +13 -19
  205. data/rdoc/RubyXL/ColorScale.html +13 -19
  206. data/rdoc/RubyXL/ColorSet.html +13 -19
  207. data/rdoc/RubyXL/Colors.html +13 -19
  208. data/rdoc/RubyXL/ColumnRange.html +20 -71
  209. data/rdoc/RubyXL/ColumnRanges.html +20 -79
  210. data/rdoc/RubyXL/Comment.html +13 -19
  211. data/rdoc/RubyXL/CommentList.html +13 -19
  212. data/rdoc/RubyXL/CommentsFile.html +17 -50
  213. data/rdoc/RubyXL/ConditionalFormatValue.html +13 -19
  214. data/rdoc/RubyXL/ConditionalFormatting.html +13 -19
  215. data/rdoc/RubyXL/ConditionalFormattingRule.html +13 -19
  216. data/rdoc/RubyXL/Connection.html +99 -0
  217. data/rdoc/RubyXL/ConnectionTable.html +99 -0
  218. data/rdoc/RubyXL/ConnectionTables.html +99 -0
  219. data/rdoc/RubyXL/ConnectionTextField.html +99 -0
  220. data/rdoc/RubyXL/ConnectionTextFields.html +99 -0
  221. data/rdoc/RubyXL/Connections.html +147 -0
  222. data/rdoc/RubyXL/ContentTypeDefault.html +12 -17
  223. data/rdoc/RubyXL/ContentTypeOverride.html +12 -17
  224. data/rdoc/RubyXL/ContentTypes.html +23 -63
  225. data/rdoc/RubyXL/ControlPropertiesFile.html +14 -22
  226. data/rdoc/RubyXL/CorePropertiesFile.html +26 -162
  227. data/rdoc/RubyXL/CustomColor.html +13 -19
  228. data/rdoc/RubyXL/CustomColorList.html +13 -19
  229. data/rdoc/RubyXL/CustomFilter.html +13 -19
  230. data/rdoc/RubyXL/CustomFilters.html +13 -19
  231. data/rdoc/RubyXL/CustomGeometry.html +13 -19
  232. data/rdoc/RubyXL/CustomProperties.html +13 -19
  233. data/rdoc/RubyXL/CustomPropertiesFile.html +12 -25
  234. data/rdoc/RubyXL/CustomProperty.html +13 -19
  235. data/rdoc/RubyXL/CustomPropertyFile.html +108 -0
  236. data/rdoc/RubyXL/CustomSheetView.html +13 -19
  237. data/rdoc/RubyXL/CustomSheetViews.html +13 -19
  238. data/rdoc/RubyXL/CustomWorkbookView.html +13 -19
  239. data/rdoc/RubyXL/CustomWorkbookViews.html +13 -19
  240. data/rdoc/RubyXL/CustomXMLFile.html +12 -22
  241. data/rdoc/RubyXL/DXF.html +13 -19
  242. data/rdoc/RubyXL/DXFs.html +13 -19
  243. data/rdoc/RubyXL/DataBar.html +13 -19
  244. data/rdoc/RubyXL/DataConsolidate.html +13 -19
  245. data/rdoc/RubyXL/DataConsolidationReference.html +13 -19
  246. data/rdoc/RubyXL/DataConsolidationReferences.html +13 -19
  247. data/rdoc/RubyXL/DataType.html +11 -39
  248. data/rdoc/RubyXL/DataValidation.html +13 -19
  249. data/rdoc/RubyXL/DataValidations.html +13 -19
  250. data/rdoc/RubyXL/DateGroupItem.html +13 -19
  251. data/rdoc/RubyXL/DefinedName.html +13 -19
  252. data/rdoc/RubyXL/DefinedNameExt.html +13 -19
  253. data/rdoc/RubyXL/DefinedNames.html +13 -19
  254. data/rdoc/RubyXL/DefinedNamesExt.html +13 -19
  255. data/rdoc/RubyXL/DocumentPropertiesFile.html +20 -66
  256. data/rdoc/RubyXL/DrawingFile.html +19 -49
  257. data/rdoc/RubyXL/DynamicFilter.html +13 -19
  258. data/rdoc/RubyXL/EmbeddedControl.html +13 -19
  259. data/rdoc/RubyXL/EmbeddedControls.html +13 -19
  260. data/rdoc/RubyXL/Extension.html +13 -19
  261. data/rdoc/RubyXL/ExtensionStorageArea.html +13 -19
  262. data/rdoc/RubyXL/Extents.html +13 -19
  263. data/rdoc/RubyXL/ExternalBook.html +13 -19
  264. data/rdoc/RubyXL/ExternalLinksFile.html +19 -49
  265. data/rdoc/RubyXL/ExternalReference.html +13 -19
  266. data/rdoc/RubyXL/ExternalReferences.html +13 -19
  267. data/rdoc/RubyXL/ExtraColorSchemeList.html +13 -19
  268. data/rdoc/RubyXL/FieldItem.html +13 -19
  269. data/rdoc/RubyXL/FileRecoveryProperties.html +13 -19
  270. data/rdoc/RubyXL/FileSharing.html +13 -19
  271. data/rdoc/RubyXL/FileVersion.html +13 -19
  272. data/rdoc/RubyXL/Fill.html +18 -38
  273. data/rdoc/RubyXL/Fills.html +18 -38
  274. data/rdoc/RubyXL/FilterContainer.html +13 -19
  275. data/rdoc/RubyXL/FloatNode.html +12 -17
  276. data/rdoc/RubyXL/FloatValue.html +12 -17
  277. data/rdoc/RubyXL/Font.html +20 -544
  278. data/rdoc/RubyXL/FontConvenienceMethods.html +414 -0
  279. data/rdoc/RubyXL/FontScheme.html +13 -19
  280. data/rdoc/RubyXL/Fonts.html +19 -39
  281. data/rdoc/RubyXL/Formula.html +13 -19
  282. data/rdoc/RubyXL/FunctionGroup.html +13 -19
  283. data/rdoc/RubyXL/FunctionGroups.html +13 -19
  284. data/rdoc/RubyXL/GenericStorageObject.html +19 -81
  285. data/rdoc/RubyXL/GradientFill.html +13 -19
  286. data/rdoc/RubyXL/HeaderFooterSettings.html +13 -19
  287. data/rdoc/RubyXL/Hyperlink.html +13 -19
  288. data/rdoc/RubyXL/HyperlinkRelFile.html +12 -22
  289. data/rdoc/RubyXL/Hyperlinks.html +13 -19
  290. data/rdoc/RubyXL/IconFilter.html +13 -19
  291. data/rdoc/RubyXL/IconSet.html +13 -19
  292. data/rdoc/RubyXL/IgnoredError.html +13 -19
  293. data/rdoc/RubyXL/IgnoredErrors.html +13 -19
  294. data/rdoc/RubyXL/IndexedColors.html +13 -19
  295. data/rdoc/RubyXL/InputCells.html +13 -19
  296. data/rdoc/RubyXL/IntegerNode.html +12 -17
  297. data/rdoc/RubyXL/IntegerValue.html +12 -17
  298. data/rdoc/RubyXL/LegacyCell.html +14 -66
  299. data/rdoc/RubyXL/LegacyWorksheet.html +40 -100
  300. data/rdoc/RubyXL/MRUColors.html +13 -19
  301. data/rdoc/RubyXL/MacrosFile.html +12 -25
  302. data/rdoc/RubyXL/MergedCell.html +13 -19
  303. data/rdoc/RubyXL/MergedCells.html +13 -19
  304. data/rdoc/RubyXL/NumFmt.html +13 -19
  305. data/rdoc/RubyXL/NumberFormat.html +18 -38
  306. data/rdoc/RubyXL/NumberFormats.html +18 -44
  307. data/rdoc/RubyXL/OLEObject.html +13 -19
  308. data/rdoc/RubyXL/OLEObjectFile.html +12 -25
  309. data/rdoc/RubyXL/OLEObjects.html +13 -19
  310. data/rdoc/RubyXL/OLESize.html +13 -19
  311. data/rdoc/RubyXL/OOXMLContainerObject.html +36 -132
  312. data/rdoc/RubyXL/OOXMLIgnored.html +163 -0
  313. data/rdoc/RubyXL/OOXMLObject.html +15 -25
  314. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +88 -179
  315. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +47 -183
  316. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +42 -194
  317. data/rdoc/RubyXL/OOXMLTopLevelObject.html +37 -133
  318. data/rdoc/RubyXL/OdbcOleDbProperties.html +99 -0
  319. data/rdoc/RubyXL/Offset.html +13 -19
  320. data/rdoc/RubyXL/OlapProperties.html +99 -0
  321. data/rdoc/RubyXL/OleItem.html +99 -0
  322. data/rdoc/RubyXL/OleItems.html +99 -0
  323. data/rdoc/RubyXL/OleLink.html +99 -0
  324. data/rdoc/RubyXL/OutlineProperties.html +13 -19
  325. data/rdoc/RubyXL/PageMargins.html +13 -19
  326. data/rdoc/RubyXL/PageSetup.html +13 -19
  327. data/rdoc/RubyXL/PageSetupProperties.html +13 -19
  328. data/rdoc/RubyXL/Pane.html +13 -19
  329. data/rdoc/RubyXL/Parser.html +20 -53
  330. data/rdoc/RubyXL/PatternFill.html +13 -19
  331. data/rdoc/RubyXL/PhoneticProperties.html +13 -19
  332. data/rdoc/RubyXL/PhoneticRun.html +13 -19
  333. data/rdoc/RubyXL/PivotArea.html +13 -19
  334. data/rdoc/RubyXL/PivotCache.html +13 -19
  335. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +14 -30
  336. data/rdoc/RubyXL/PivotCacheRecordsFile.html +12 -25
  337. data/rdoc/RubyXL/PivotCaches.html +13 -19
  338. data/rdoc/RubyXL/PivotReference.html +13 -19
  339. data/rdoc/RubyXL/PivotReferences.html +13 -19
  340. data/rdoc/RubyXL/PivotTableFile.html +14 -30
  341. data/rdoc/RubyXL/PivotTableSelection.html +13 -19
  342. data/rdoc/RubyXL/PresetGeometry.html +13 -19
  343. data/rdoc/RubyXL/PrintOptions.html +13 -19
  344. data/rdoc/RubyXL/PrinterSettingsFile.html +12 -25
  345. data/rdoc/RubyXL/ProtectedRange.html +13 -19
  346. data/rdoc/RubyXL/ProtectedRanges.html +13 -19
  347. data/rdoc/RubyXL/Protection.html +13 -19
  348. data/rdoc/RubyXL/QueryParameter.html +99 -0
  349. data/rdoc/RubyXL/QueryParameters.html +99 -0
  350. data/rdoc/RubyXL/QueryTable.html +155 -0
  351. data/rdoc/RubyXL/QueryTableDeletedField.html +99 -0
  352. data/rdoc/RubyXL/QueryTableDeletedFields.html +99 -0
  353. data/rdoc/RubyXL/QueryTableField.html +99 -0
  354. data/rdoc/RubyXL/QueryTableFields.html +99 -0
  355. data/rdoc/RubyXL/QueryTableRefresh.html +99 -0
  356. data/rdoc/RubyXL/RID.html +12 -17
  357. data/rdoc/RubyXL/RawOOXML.html +19 -58
  358. data/rdoc/RubyXL/Reference.html +31 -215
  359. data/rdoc/RubyXL/Relationship.html +12 -17
  360. data/rdoc/RubyXL/RelationshipSupport.html +32 -126
  361. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +15 -33
  362. data/rdoc/RubyXL/RevisionPointer.html +99 -0
  363. data/rdoc/RubyXL/RichText.html +18 -38
  364. data/rdoc/RubyXL/RichTextRun.html +17 -37
  365. data/rdoc/RubyXL/Row.html +53 -152
  366. data/rdoc/RubyXL/RowExt.html +13 -19
  367. data/rdoc/RubyXL/RunProperties.html +13 -19
  368. data/rdoc/RubyXL/Scenario.html +13 -19
  369. data/rdoc/RubyXL/Scenarios.html +13 -19
  370. data/rdoc/RubyXL/Selection.html +20 -40
  371. data/rdoc/RubyXL/ShapeGuide.html +13 -19
  372. data/rdoc/RubyXL/ShapeTextRectangle.html +13 -19
  373. data/rdoc/RubyXL/SharedStringsTable.html +31 -140
  374. data/rdoc/RubyXL/Sheet.html +13 -19
  375. data/rdoc/RubyXL/SheetCalculationProperties.html +13 -19
  376. data/rdoc/RubyXL/SheetData.html +20 -53
  377. data/rdoc/RubyXL/SheetDataExt.html +13 -19
  378. data/rdoc/RubyXL/SheetDataSet.html +13 -19
  379. data/rdoc/RubyXL/SheetName.html +13 -19
  380. data/rdoc/RubyXL/SheetNames.html +13 -19
  381. data/rdoc/RubyXL/Sheets.html +13 -19
  382. data/rdoc/RubyXL/SlicerCacheFile.html +12 -25
  383. data/rdoc/RubyXL/SlicerFile.html +12 -25
  384. data/rdoc/RubyXL/SmartTagProperties.html +13 -19
  385. data/rdoc/RubyXL/SmartTagType.html +13 -19
  386. data/rdoc/RubyXL/SmartTagTypes.html +13 -19
  387. data/rdoc/RubyXL/SmartTags.html +13 -19
  388. data/rdoc/RubyXL/SortCondition.html +13 -19
  389. data/rdoc/RubyXL/SortState.html +13 -19
  390. data/rdoc/RubyXL/Sqref.html +18 -51
  391. data/rdoc/RubyXL/Stop.html +13 -19
  392. data/rdoc/RubyXL/StringNode.html +12 -17
  393. data/rdoc/RubyXL/StringNodeW3C.html +19 -52
  394. data/rdoc/RubyXL/StringValue.html +12 -17
  395. data/rdoc/RubyXL/Stylesheet.html +30 -112
  396. data/rdoc/RubyXL/TableFile.html +12 -25
  397. data/rdoc/RubyXL/TableParts.html +12 -17
  398. data/rdoc/RubyXL/TableStyle.html +13 -19
  399. data/rdoc/RubyXL/TableStyles.html +13 -19
  400. data/rdoc/RubyXL/Text.html +19 -63
  401. data/rdoc/RubyXL/TextImportSettings.html +99 -0
  402. data/rdoc/RubyXL/Theme.html +58 -63
  403. data/rdoc/RubyXL/ThemeElements.html +13 -19
  404. data/rdoc/RubyXL/ThumbnailFile.html +12 -25
  405. data/rdoc/RubyXL/Top10.html +13 -19
  406. data/rdoc/RubyXL/VMLDrawingFile.html +15 -32
  407. data/rdoc/RubyXL/Variant.html +13 -19
  408. data/rdoc/RubyXL/Vector.html +17 -37
  409. data/rdoc/RubyXL/VectorValue.html +12 -17
  410. data/rdoc/RubyXL/VisualProperties.html +13 -19
  411. data/rdoc/RubyXL/WebPublishObject.html +13 -19
  412. data/rdoc/RubyXL/WebPublishObjects.html +13 -19
  413. data/rdoc/RubyXL/WebPublishingItem.html +13 -19
  414. data/rdoc/RubyXL/WebPublishingItems.html +13 -19
  415. data/rdoc/RubyXL/WebPublishingProperties.html +13 -19
  416. data/rdoc/RubyXL/WebQueryProperties.html +99 -0
  417. data/rdoc/RubyXL/Workbook.html +483 -226
  418. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +149 -857
  419. data/rdoc/RubyXL/WorkbookProperties.html +13 -19
  420. data/rdoc/RubyXL/WorkbookProtection.html +13 -19
  421. data/rdoc/RubyXL/WorkbookRoot.html +23 -109
  422. data/rdoc/RubyXL/WorkbookView.html +13 -19
  423. data/rdoc/RubyXL/WorkbookViews.html +13 -19
  424. data/rdoc/RubyXL/Worksheet.html +70 -122
  425. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +398 -1049
  426. data/rdoc/RubyXL/WorksheetDimensions.html +13 -19
  427. data/rdoc/RubyXL/WorksheetFormatProperties.html +12 -17
  428. data/rdoc/RubyXL/WorksheetProperties.html +13 -19
  429. data/rdoc/RubyXL/WorksheetProtection.html +13 -19
  430. data/rdoc/RubyXL/WorksheetView.html +13 -19
  431. data/rdoc/RubyXL/WorksheetViews.html +13 -19
  432. data/rdoc/RubyXL/XF.html +13 -19
  433. data/rdoc/created.rid +45 -38
  434. data/rdoc/css/fonts.css +6 -6
  435. data/rdoc/css/rdoc.css +35 -6
  436. data/rdoc/index.html +43 -363
  437. data/rdoc/js/darkfish.js +23 -100
  438. data/rdoc/js/navigation.js +4 -41
  439. data/rdoc/js/navigation.js.gz +0 -0
  440. data/rdoc/js/search.js +32 -31
  441. data/rdoc/js/search_index.js +1 -1
  442. data/rdoc/js/search_index.js.gz +0 -0
  443. data/rdoc/js/searcher.js +7 -6
  444. data/rdoc/js/searcher.js.gz +0 -0
  445. data/rdoc/table_of_contents.html +368 -75
  446. data/rubyXL.gemspec +60 -26
  447. data/spec/lib/cell_spec.rb +147 -2
  448. data/spec/lib/color_spec.rb +1 -0
  449. data/spec/lib/parser_spec.rb +1 -1
  450. data/spec/lib/rgb_color_spec.rb +16 -0
  451. data/spec/lib/text_spec.rb +8 -0
  452. data/spec/lib/workbook_spec.rb +12 -1
  453. data/spec/lib/worksheet_spec.rb +353 -37
  454. data/test/test_parse_write.rb +15 -15
  455. metadata +63 -9
  456. data/rdoc/js/jquery.js +0 -4
data/rubyXL.gemspec CHANGED
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: rubyXL 3.3.21 ruby lib
5
+ # stub: rubyXL 3.4.17 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "rubyXL".freeze
9
- s.version = "3.3.21"
9
+ s.version = "3.4.17"
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 = "2016-06-17"
14
+ s.date = "2021-02-10"
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 = [
@@ -19,7 +19,10 @@ Gem::Specification.new do |s|
19
19
  "README.rdoc"
20
20
  ]
21
21
  s.files = [
22
+ ".circleci/config.yml",
23
+ ".codeclimate.yml",
22
24
  "Gemfile",
25
+ "Gemfile.lock",
23
26
  "LICENSE.txt",
24
27
  "README.rdoc",
25
28
  "Rakefile",
@@ -27,6 +30,11 @@ Gem::Specification.new do |s|
27
30
  "lib/rubyXL.rb",
28
31
  "lib/rubyXL/cell.rb",
29
32
  "lib/rubyXL/convenience_methods.rb",
33
+ "lib/rubyXL/convenience_methods/cell.rb",
34
+ "lib/rubyXL/convenience_methods/color.rb",
35
+ "lib/rubyXL/convenience_methods/font.rb",
36
+ "lib/rubyXL/convenience_methods/workbook.rb",
37
+ "lib/rubyXL/convenience_methods/worksheet.rb",
30
38
  "lib/rubyXL/objects/border.rb",
31
39
  "lib/rubyXL/objects/calculation_chain.rb",
32
40
  "lib/rubyXL/objects/cell_style.rb",
@@ -34,6 +42,7 @@ Gem::Specification.new do |s|
34
42
  "lib/rubyXL/objects/color.rb",
35
43
  "lib/rubyXL/objects/column_range.rb",
36
44
  "lib/rubyXL/objects/comments.rb",
45
+ "lib/rubyXL/objects/connection.rb",
37
46
  "lib/rubyXL/objects/container_nodes.rb",
38
47
  "lib/rubyXL/objects/content_types.rb",
39
48
  "lib/rubyXL/objects/data_validation.rb",
@@ -45,6 +54,7 @@ Gem::Specification.new do |s|
45
54
  "lib/rubyXL/objects/font.rb",
46
55
  "lib/rubyXL/objects/formula.rb",
47
56
  "lib/rubyXL/objects/ooxml_object.rb",
57
+ "lib/rubyXL/objects/query_table.rb",
48
58
  "lib/rubyXL/objects/reference.rb",
49
59
  "lib/rubyXL/objects/relationships.rb",
50
60
  "lib/rubyXL/objects/root.rb",
@@ -64,6 +74,8 @@ Gem::Specification.new do |s|
64
74
  "rdoc/RubyXL.html",
65
75
  "rdoc/RubyXL/AExtension.html",
66
76
  "rdoc/RubyXL/AExtensionStorageArea.html",
77
+ "rdoc/RubyXL/ActiveX.html",
78
+ "rdoc/RubyXL/ActiveXBinary.html",
67
79
  "rdoc/RubyXL/AdjustHandleList.html",
68
80
  "rdoc/RubyXL/Alignment.html",
69
81
  "rdoc/RubyXL/AlternateContent.html",
@@ -208,6 +220,10 @@ Gem::Specification.new do |s|
208
220
  "rdoc/RubyXL/ChartsheetView.html",
209
221
  "rdoc/RubyXL/ChartsheetViews.html",
210
222
  "rdoc/RubyXL/Color.html",
223
+ "rdoc/RubyXL/ColorConvenienceClasses.html",
224
+ "rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html",
225
+ "rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html",
226
+ "rdoc/RubyXL/ColorConvenienceMethods.html",
211
227
  "rdoc/RubyXL/ColorFilter.html",
212
228
  "rdoc/RubyXL/ColorScale.html",
213
229
  "rdoc/RubyXL/ColorSet.html",
@@ -220,6 +236,12 @@ Gem::Specification.new do |s|
220
236
  "rdoc/RubyXL/ConditionalFormatValue.html",
221
237
  "rdoc/RubyXL/ConditionalFormatting.html",
222
238
  "rdoc/RubyXL/ConditionalFormattingRule.html",
239
+ "rdoc/RubyXL/Connection.html",
240
+ "rdoc/RubyXL/ConnectionTable.html",
241
+ "rdoc/RubyXL/ConnectionTables.html",
242
+ "rdoc/RubyXL/ConnectionTextField.html",
243
+ "rdoc/RubyXL/ConnectionTextFields.html",
244
+ "rdoc/RubyXL/Connections.html",
223
245
  "rdoc/RubyXL/ContentTypeDefault.html",
224
246
  "rdoc/RubyXL/ContentTypeOverride.html",
225
247
  "rdoc/RubyXL/ContentTypes.html",
@@ -233,6 +255,7 @@ Gem::Specification.new do |s|
233
255
  "rdoc/RubyXL/CustomProperties.html",
234
256
  "rdoc/RubyXL/CustomPropertiesFile.html",
235
257
  "rdoc/RubyXL/CustomProperty.html",
258
+ "rdoc/RubyXL/CustomPropertyFile.html",
236
259
  "rdoc/RubyXL/CustomSheetView.html",
237
260
  "rdoc/RubyXL/CustomSheetViews.html",
238
261
  "rdoc/RubyXL/CustomWorkbookView.html",
@@ -275,6 +298,7 @@ Gem::Specification.new do |s|
275
298
  "rdoc/RubyXL/FloatNode.html",
276
299
  "rdoc/RubyXL/FloatValue.html",
277
300
  "rdoc/RubyXL/Font.html",
301
+ "rdoc/RubyXL/FontConvenienceMethods.html",
278
302
  "rdoc/RubyXL/FontScheme.html",
279
303
  "rdoc/RubyXL/Fonts.html",
280
304
  "rdoc/RubyXL/Formula.html",
@@ -308,12 +332,18 @@ Gem::Specification.new do |s|
308
332
  "rdoc/RubyXL/OLEObjects.html",
309
333
  "rdoc/RubyXL/OLESize.html",
310
334
  "rdoc/RubyXL/OOXMLContainerObject.html",
335
+ "rdoc/RubyXL/OOXMLIgnored.html",
311
336
  "rdoc/RubyXL/OOXMLObject.html",
312
337
  "rdoc/RubyXL/OOXMLObjectClassMethods.html",
313
338
  "rdoc/RubyXL/OOXMLObjectInstanceMethods.html",
314
339
  "rdoc/RubyXL/OOXMLRelationshipsFile.html",
315
340
  "rdoc/RubyXL/OOXMLTopLevelObject.html",
341
+ "rdoc/RubyXL/OdbcOleDbProperties.html",
316
342
  "rdoc/RubyXL/Offset.html",
343
+ "rdoc/RubyXL/OlapProperties.html",
344
+ "rdoc/RubyXL/OleItem.html",
345
+ "rdoc/RubyXL/OleItems.html",
346
+ "rdoc/RubyXL/OleLink.html",
317
347
  "rdoc/RubyXL/OutlineProperties.html",
318
348
  "rdoc/RubyXL/PageMargins.html",
319
349
  "rdoc/RubyXL/PageSetup.html",
@@ -338,12 +368,21 @@ Gem::Specification.new do |s|
338
368
  "rdoc/RubyXL/ProtectedRange.html",
339
369
  "rdoc/RubyXL/ProtectedRanges.html",
340
370
  "rdoc/RubyXL/Protection.html",
371
+ "rdoc/RubyXL/QueryParameter.html",
372
+ "rdoc/RubyXL/QueryParameters.html",
373
+ "rdoc/RubyXL/QueryTable.html",
374
+ "rdoc/RubyXL/QueryTableDeletedField.html",
375
+ "rdoc/RubyXL/QueryTableDeletedFields.html",
376
+ "rdoc/RubyXL/QueryTableField.html",
377
+ "rdoc/RubyXL/QueryTableFields.html",
378
+ "rdoc/RubyXL/QueryTableRefresh.html",
341
379
  "rdoc/RubyXL/RID.html",
342
380
  "rdoc/RubyXL/RawOOXML.html",
343
381
  "rdoc/RubyXL/Reference.html",
344
382
  "rdoc/RubyXL/Relationship.html",
345
383
  "rdoc/RubyXL/RelationshipSupport.html",
346
384
  "rdoc/RubyXL/RelationshipSupport/ClassMehods.html",
385
+ "rdoc/RubyXL/RevisionPointer.html",
347
386
  "rdoc/RubyXL/RichText.html",
348
387
  "rdoc/RubyXL/RichTextRun.html",
349
388
  "rdoc/RubyXL/Row.html",
@@ -382,6 +421,7 @@ Gem::Specification.new do |s|
382
421
  "rdoc/RubyXL/TableStyle.html",
383
422
  "rdoc/RubyXL/TableStyles.html",
384
423
  "rdoc/RubyXL/Text.html",
424
+ "rdoc/RubyXL/TextImportSettings.html",
385
425
  "rdoc/RubyXL/Theme.html",
386
426
  "rdoc/RubyXL/ThemeElements.html",
387
427
  "rdoc/RubyXL/ThumbnailFile.html",
@@ -396,6 +436,7 @@ Gem::Specification.new do |s|
396
436
  "rdoc/RubyXL/WebPublishingItem.html",
397
437
  "rdoc/RubyXL/WebPublishingItems.html",
398
438
  "rdoc/RubyXL/WebPublishingProperties.html",
439
+ "rdoc/RubyXL/WebQueryProperties.html",
399
440
  "rdoc/RubyXL/Workbook.html",
400
441
  "rdoc/RubyXL/WorkbookConvenienceMethods.html",
401
442
  "rdoc/RubyXL/WorkbookProperties.html",
@@ -448,7 +489,6 @@ Gem::Specification.new do |s|
448
489
  "rdoc/images/zoom.png",
449
490
  "rdoc/index.html",
450
491
  "rdoc/js/darkfish.js",
451
- "rdoc/js/jquery.js",
452
492
  "rdoc/js/navigation.js",
453
493
  "rdoc/js/navigation.js.gz",
454
494
  "rdoc/js/search.js",
@@ -462,6 +502,7 @@ Gem::Specification.new do |s|
462
502
  "spec/lib/color_spec.rb",
463
503
  "spec/lib/parser_spec.rb",
464
504
  "spec/lib/reference_spec.rb",
505
+ "spec/lib/rgb_color_spec.rb",
465
506
  "spec/lib/stylesheet_spec.rb",
466
507
  "spec/lib/text_spec.rb",
467
508
  "spec/lib/workbook_spec.rb",
@@ -474,40 +515,33 @@ Gem::Specification.new do |s|
474
515
  ]
475
516
  s.homepage = "http://github.com/gilt/rubyXL".freeze
476
517
  s.licenses = ["MIT".freeze]
477
- s.rubygems_version = "2.6.4".freeze
518
+ s.rubygems_version = "3.1.2".freeze
478
519
  s.summary = "rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents".freeze
479
520
 
480
521
  if s.respond_to? :specification_version then
481
522
  s.specification_version = 4
523
+ end
482
524
 
483
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
484
- s.add_runtime_dependency(%q<nokogiri>.freeze, [">= 1.4.4"])
485
- s.add_runtime_dependency(%q<rubyzip>.freeze, [">= 1.1.6"])
486
- s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
487
- s.add_development_dependency(%q<rake>.freeze, [">= 0"])
488
- s.add_development_dependency(%q<jeweler>.freeze, [">= 0"])
489
- s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
490
- s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
491
- s.add_development_dependency(%q<ruby-prof>.freeze, [">= 0"])
492
- else
493
- s.add_dependency(%q<nokogiri>.freeze, [">= 1.4.4"])
494
- s.add_dependency(%q<rubyzip>.freeze, [">= 1.1.6"])
495
- s.add_dependency(%q<bundler>.freeze, [">= 0"])
496
- s.add_dependency(%q<rake>.freeze, [">= 0"])
497
- s.add_dependency(%q<jeweler>.freeze, [">= 0"])
498
- s.add_dependency(%q<rspec>.freeze, [">= 0"])
499
- s.add_dependency(%q<simplecov>.freeze, [">= 0"])
500
- s.add_dependency(%q<ruby-prof>.freeze, [">= 0"])
501
- end
525
+ if s.respond_to? :add_runtime_dependency then
526
+ s.add_runtime_dependency(%q<nokogiri>.freeze, [">= 1.10.8"])
527
+ s.add_runtime_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
528
+ s.add_development_dependency(%q<bundler>.freeze, [">= 0"])
529
+ s.add_development_dependency(%q<rake>.freeze, [">= 0"])
530
+ s.add_development_dependency(%q<jeweler>.freeze, [">= 0"])
531
+ s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
532
+ s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
533
+ s.add_development_dependency(%q<ruby-prof>.freeze, [">= 0"])
534
+ s.add_development_dependency(%q<rspec_junit_formatter>.freeze, [">= 0"])
502
535
  else
503
- s.add_dependency(%q<nokogiri>.freeze, [">= 1.4.4"])
504
- s.add_dependency(%q<rubyzip>.freeze, [">= 1.1.6"])
536
+ s.add_dependency(%q<nokogiri>.freeze, [">= 1.10.8"])
537
+ s.add_dependency(%q<rubyzip>.freeze, [">= 1.3.0"])
505
538
  s.add_dependency(%q<bundler>.freeze, [">= 0"])
506
539
  s.add_dependency(%q<rake>.freeze, [">= 0"])
507
540
  s.add_dependency(%q<jeweler>.freeze, [">= 0"])
508
541
  s.add_dependency(%q<rspec>.freeze, [">= 0"])
509
542
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
510
543
  s.add_dependency(%q<ruby-prof>.freeze, [">= 0"])
544
+ s.add_dependency(%q<rspec_junit_formatter>.freeze, [">= 0"])
511
545
  end
512
546
  end
513
547
 
@@ -1,5 +1,7 @@
1
1
  require 'spec_helper'
2
2
  require 'bigdecimal'
3
+ require 'rubyXL/convenience_methods/font'
4
+ require 'rubyXL/convenience_methods/cell'
3
5
 
4
6
  describe RubyXL::Cell do
5
7
 
@@ -26,6 +28,44 @@ describe RubyXL::Cell do
26
28
  cell = @worksheet.add_cell(r, c, "#{r}:#{c}")
27
29
  expect(cell.datatype).to eq(RubyXL::DataType::RAW_STRING)
28
30
 
31
+ cell = @worksheet.add_cell(r, c, RubyXL::RichText.new(:t => RubyXL::Text.new(:value => 'Hello')))
32
+ expect(cell.datatype).to eq(RubyXL::DataType::INLINE_STRING)
33
+ end
34
+
35
+ it 'should properly handle dates' do
36
+ r = 3
37
+ c = 3
38
+
39
+ dt = Date.today
40
+ cell = @worksheet.add_cell(r, c, dt)
41
+ cell.set_number_format('ddd mmm dd, yyyy')
42
+ expect(cell.value).to eq(dt)
43
+
44
+ tm = DateTime.now
45
+ cell = @worksheet.add_cell(r, c, tm)
46
+ cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
47
+
48
+ # Due to rounding errors, we allow microsecond precision on DateTime.
49
+ expect((cell.value - tm).to_f).to be_within(1.0/86400e6).of(0)
50
+
51
+ tm = Time.now
52
+ cell = @worksheet.add_cell(r, c, tm)
53
+ cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
54
+
55
+ # Due to rounding errors, we allow microsecond precision on Time.
56
+ expect(cell.value - tm.to_datetime).to be_within(1.0/86400e6).of(0)
57
+
58
+ expected_date = "2020-10-15T14:00:00Z"
59
+ expected_datetime = Time.parse(expected_date).utc
60
+ raw_value = "44119.583333333328" # Obtained from parsing a xlsx file with the expected date
61
+ cell = @worksheet.add_cell(r, c, Time.now) # Force a date cell type
62
+ cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
63
+ cell.raw_value = raw_value
64
+ expect(cell.raw_value).to eq(raw_value), "Wrong raw value"
65
+ cell.set_number_format('ddd mmm dd, yyyy HH:MM:SS')
66
+
67
+ # We expect exactly the same date
68
+ expect(cell.value.to_time.utc.iso8601).to eq(expected_datetime.iso8601)
29
69
  end
30
70
  end
31
71
 
@@ -143,6 +183,63 @@ describe RubyXL::Cell do
143
183
  end
144
184
  end
145
185
 
186
+ describe '.change_text_indent' do
187
+ it 'should cause the cell to have the corresponding text indent' do
188
+ expect(@cell.text_indent).to be_nil
189
+ @cell.change_text_indent(2)
190
+ expect(@cell.text_indent).to eq(2)
191
+ end
192
+
193
+ it "should not cause other cells with the same style to have text indent" do
194
+ another_cell = @worksheet[1][0]
195
+ another_cell.style_index = @cell.style_index
196
+ expect(another_cell.text_indent).to be_nil
197
+ @cell.change_text_indent(2)
198
+ expect(another_cell.text_indent).to be_nil
199
+ end
200
+ end
201
+
202
+ describe '.change_border_color' do
203
+ it 'should cause cell to have a colored top border' do
204
+ expect(@cell.get_border_color(:top)).to be_nil
205
+ @cell.change_border_color(:top, 'FF0000')
206
+ expect(@cell.get_border_color(:top)).to eq('FF0000')
207
+ end
208
+
209
+ it 'should cause cell to have a colored bottom border' do
210
+ expect(@cell.get_border_color(:bottom)).to be_nil
211
+ @cell.change_border_color(:bottom, 'FF0000')
212
+ expect(@cell.get_border_color(:bottom)).to eq('FF0000')
213
+ end
214
+
215
+ it 'should cause cell to have a colored left border' do
216
+ expect(@cell.get_border_color(:left)).to be_nil
217
+ @cell.change_border_color(:left, 'FF0000')
218
+ expect(@cell.get_border_color(:left)).to eq('FF0000')
219
+ end
220
+
221
+ it 'should cause cell to have a colored right border' do
222
+ expect(@cell.get_border_color(:right)).to be_nil
223
+ @cell.change_border_color(:right, 'FF0000')
224
+ expect(@cell.get_border_color(:right)).to eq('FF0000')
225
+ end
226
+
227
+ it 'should cause cell to have a colored diagonal border' do
228
+ expect(@cell.get_border_color(:diagonal)).to be_nil
229
+ @cell.change_border_color(:diagonal, 'FF0000')
230
+ expect(@cell.get_border_color(:diagonal)).to eq('FF0000')
231
+ end
232
+
233
+ it 'is not overridden if the border style is set afterwards' do
234
+ expect(@cell.get_border_color(:top)).to be_nil
235
+ expect(@cell.get_border(:top)).to be_nil
236
+ @cell.change_border_color(:top, 'FF0000')
237
+ @cell.change_border(:top, 'thin')
238
+ expect(@cell.get_border_color(:top)).to eq('FF0000')
239
+ expect(@cell.get_border(:top)).to eq('thin')
240
+ end
241
+ end
242
+
146
243
  describe '.change_border' do
147
244
  it 'should cause cell to have border at top with specified weight' do
148
245
  expect(@cell.get_border(:top)).to be_nil
@@ -183,6 +280,11 @@ describe RubyXL::Cell do
183
280
  expect(@cell.value).to eq(date)
184
281
  end
185
282
 
283
+ it 'should properly return value of inlineStr' do
284
+ cell = @worksheet.add_cell(5, 5, RubyXL::RichText.new(:t => RubyXL::Text.new(:value => 'Hello')))
285
+ expect(cell.value).to eq('Hello')
286
+ end
287
+
186
288
  it "should properly handle numeric values" do
187
289
  @cell.datatype = nil
188
290
  @cell.raw_value = '1'
@@ -234,6 +336,8 @@ describe RubyXL::Cell do
234
336
  expect(@cell.value).to eq(Date.parse('April 20, 2012'))
235
337
  @cell.change_contents(35981)
236
338
  expect(@cell.value).to eq(Date.parse('July 5, 1998'))
339
+ @cell.change_contents(0.019467592592592595)
340
+ expect(@cell.value).to eq(DateTime.parse('1899-12-31T00:28:02+00:00'))
237
341
  @cell.change_contents(1)
238
342
  expect(@cell.value).to eq(Date.parse('January 1, 1900'))
239
343
  @cell.change_contents(59)
@@ -257,6 +361,27 @@ describe RubyXL::Cell do
257
361
  expect(@cell.value).to eq(Date.parse('July 5, 1998'))
258
362
  end
259
363
  end
364
+
365
+ context 'date before January 1, 1900' do
366
+ it 'should parse as date' do
367
+ @cell.set_number_format('h:mm:ss')
368
+ @cell.datatype = nil
369
+
370
+ @cell.raw_value = '0.97726851851851848'
371
+ expect(@cell.is_date?).to be(true)
372
+ expect(@cell.value).to eq(DateTime.parse('1899-12-31 23:27:16'))
373
+ @cell.raw_value = '1.9467592592592595E-2'
374
+ expect(@cell.is_date?).to be(true)
375
+ expect(@cell.value).to eq(DateTime.parse('1899-12-31 00:28:02'))
376
+ end
377
+ end
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
260
385
  end
261
386
 
262
387
  describe '.change_contents' do
@@ -291,8 +416,8 @@ describe RubyXL::Cell do
291
416
  expect(@cell.formula).to be_nil
292
417
  end
293
418
 
294
- it 'should case cell value to match an BigDecimal that is passed in' do
295
- number = BigDecimal.new('1234.5678')
419
+ it 'should cause cell value to match a BigDecimal that is passed in' do
420
+ number = BigDecimal('1234.5678')
296
421
  @cell.change_contents(number)
297
422
  expect(@cell.value).to eq(number)
298
423
  expect(@cell.datatype).to be_nil
@@ -379,6 +504,18 @@ describe RubyXL::Cell do
379
504
  it 'should return nil if no horizontal alignment has been specified for this cell' do
380
505
  expect(@cell.horizontal_alignment).to be_nil
381
506
  end
507
+
508
+ it 'should not create new XFs when changing alignment to already existing values' do
509
+ @cell.change_horizontal_alignment('left')
510
+ style_xf1 = @cell.style_index
511
+ @cell.change_horizontal_alignment('right')
512
+ expect(@cell.style_index).not_to eq(style_xf1)
513
+ style_xf2 = @cell.style_index
514
+ @cell.change_horizontal_alignment('left')
515
+ expect(@cell.style_index).to eq(style_xf1)
516
+ @cell.change_horizontal_alignment('right')
517
+ expect(@cell.style_index).to eq(style_xf2)
518
+ end
382
519
  end
383
520
 
384
521
  describe '.vertical_alignment' do
@@ -447,4 +584,12 @@ describe RubyXL::Cell do
447
584
  end
448
585
  end
449
586
 
587
+ describe '.text_rotation' do
588
+ it 'should correctly return the rotation for this cell' do
589
+ expect(@cell.text_rotation).to be_nil
590
+ @cell.change_text_rotation(45)
591
+ expect(@cell.text_rotation).to eq(45)
592
+ end
593
+ end
594
+
450
595
  end
@@ -1,4 +1,5 @@
1
1
  require 'spec_helper'
2
+ require 'rubyXL/convenience_methods/color'
2
3
 
3
4
  describe RubyXL::Color do
4
5
  describe '.validate_color' do
@@ -41,7 +41,7 @@ describe RubyXL::Parser do
41
41
  @workbook.modified_at = @time2
42
42
 
43
43
  @time_str = Time.now.to_s
44
- @file = Dir::Tmpname.make_tmpname(['rubyXL', '.xlsx'], nil)
44
+ @file = "rubyXL-#{$$}-#{DateTime.now.strftime('%Q')}.xlsx"
45
45
  @workbook.write(@file)
46
46
  end
47
47