rubyXL 3.4.21 → 3.4.24

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 (448) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +8 -8
  3. data/Gemfile.lock +21 -21
  4. data/README.rdoc +14 -9
  5. data/Rakefile +20 -19
  6. data/VERSION +1 -1
  7. data/lib/rubyXL/cell.rb +0 -2
  8. data/lib/rubyXL/convenience_methods/cell.rb +20 -14
  9. data/lib/rubyXL/convenience_methods/color.rb +3 -7
  10. data/lib/rubyXL/convenience_methods/workbook.rb +9 -4
  11. data/lib/rubyXL/convenience_methods/worksheet.rb +2 -3
  12. data/lib/rubyXL/objects/border.rb +0 -3
  13. data/lib/rubyXL/objects/calculation_chain.rb +2 -2
  14. data/lib/rubyXL/objects/cell_style.rb +1 -3
  15. data/lib/rubyXL/objects/chartsheet.rb +4 -7
  16. data/lib/rubyXL/objects/color.rb +1 -3
  17. data/lib/rubyXL/objects/column_range.rb +0 -3
  18. data/lib/rubyXL/objects/comments.rb +1 -4
  19. data/lib/rubyXL/objects/connection.rb +11 -11
  20. data/lib/rubyXL/objects/container_nodes.rb +1 -5
  21. data/lib/rubyXL/objects/content_types.rb +3 -6
  22. data/lib/rubyXL/objects/data_validation.rb +0 -2
  23. data/lib/rubyXL/objects/document_properties.rb +9 -13
  24. data/lib/rubyXL/objects/extensions.rb +0 -2
  25. data/lib/rubyXL/objects/external_links.rb +4 -6
  26. data/lib/rubyXL/objects/fill.rb +2 -5
  27. data/lib/rubyXL/objects/filters.rb +5 -7
  28. data/lib/rubyXL/objects/font.rb +1 -3
  29. data/lib/rubyXL/objects/formula.rb +3 -5
  30. data/lib/rubyXL/objects/ooxml_object.rb +6 -13
  31. data/lib/rubyXL/objects/query_table.rb +3 -3
  32. data/lib/rubyXL/objects/reference.rb +5 -4
  33. data/lib/rubyXL/objects/relationships.rb +5 -10
  34. data/lib/rubyXL/objects/root.rb +0 -2
  35. data/lib/rubyXL/objects/shared_strings.rb +3 -6
  36. data/lib/rubyXL/objects/sheet_common.rb +1 -3
  37. data/lib/rubyXL/objects/sheet_data.rb +4 -7
  38. data/lib/rubyXL/objects/simple_types.rb +1 -1
  39. data/lib/rubyXL/objects/storage.rb +51 -51
  40. data/lib/rubyXL/objects/stylesheet.rb +8 -15
  41. data/lib/rubyXL/objects/text.rb +3 -6
  42. data/lib/rubyXL/objects/theme.rb +4 -7
  43. data/lib/rubyXL/objects/workbook.rb +22 -23
  44. data/lib/rubyXL/objects/worksheet.rb +26 -22
  45. data/lib/rubyXL/parser.rb +1 -3
  46. data/lib/rubyXL/worksheet.rb +83 -84
  47. data/lib/rubyXL.rb +0 -1
  48. data/rdoc/README_rdoc.html +20 -20
  49. data/rdoc/RubyXL/AExtension.html +1 -1
  50. data/rdoc/RubyXL/AExtensionStorageArea.html +1 -1
  51. data/rdoc/RubyXL/ActiveX.html +3 -3
  52. data/rdoc/RubyXL/ActiveXBinary.html +1 -1
  53. data/rdoc/RubyXL/AdjustHandleList.html +1 -1
  54. data/rdoc/RubyXL/Alignment.html +1 -1
  55. data/rdoc/RubyXL/AlternateContent.html +1 -1
  56. data/rdoc/RubyXL/Authors.html +1 -1
  57. data/rdoc/RubyXL/AutoFilter.html +1 -1
  58. data/rdoc/RubyXL/AutoFilterColumn.html +1 -1
  59. data/rdoc/RubyXL/BinaryImageFile.html +1 -1
  60. data/rdoc/RubyXL/BodyProperties.html +1 -1
  61. data/rdoc/RubyXL/BooleanNode.html +1 -1
  62. data/rdoc/RubyXL/BooleanValue.html +1 -1
  63. data/rdoc/RubyXL/Border.html +5 -5
  64. data/rdoc/RubyXL/BorderEdge.html +3 -3
  65. data/rdoc/RubyXL/Borders.html +2 -2
  66. data/rdoc/RubyXL/Break.html +1 -1
  67. data/rdoc/RubyXL/BreakList.html +1 -1
  68. data/rdoc/RubyXL/CT_AdjPoint2D.html +1 -1
  69. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +1 -1
  70. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +1 -1
  71. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +1 -1
  72. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +1 -1
  73. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +1 -1
  74. data/rdoc/RubyXL/CT_Backdrop.html +1 -1
  75. data/rdoc/RubyXL/CT_Bevel.html +1 -1
  76. data/rdoc/RubyXL/CT_BiLevelEffect.html +1 -1
  77. data/rdoc/RubyXL/CT_BlendEffect.html +1 -1
  78. data/rdoc/RubyXL/CT_Blip.html +1 -1
  79. data/rdoc/RubyXL/CT_BlipFillProperties.html +1 -1
  80. data/rdoc/RubyXL/CT_BlurEffect.html +1 -1
  81. data/rdoc/RubyXL/CT_Camera.html +1 -1
  82. data/rdoc/RubyXL/CT_Color.html +1 -1
  83. data/rdoc/RubyXL/CT_ColorChangeEffect.html +1 -1
  84. data/rdoc/RubyXL/CT_ColorMapping.html +1 -1
  85. data/rdoc/RubyXL/CT_ColorScheme.html +1 -1
  86. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +1 -1
  87. data/rdoc/RubyXL/CT_ConnectionSite.html +1 -1
  88. data/rdoc/RubyXL/CT_ConnectionSiteList.html +1 -1
  89. data/rdoc/RubyXL/CT_DashStop.html +1 -1
  90. data/rdoc/RubyXL/CT_DashStopList.html +1 -1
  91. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +1 -1
  92. data/rdoc/RubyXL/CT_DuotoneEffect.html +1 -1
  93. data/rdoc/RubyXL/CT_EffectContainer.html +1 -1
  94. data/rdoc/RubyXL/CT_EffectList.html +1 -1
  95. data/rdoc/RubyXL/CT_EffectReference.html +1 -1
  96. data/rdoc/RubyXL/CT_EffectStyleItem.html +1 -1
  97. data/rdoc/RubyXL/CT_EffectStyleList.html +1 -1
  98. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +1 -1
  99. data/rdoc/RubyXL/CT_FillEffect.html +1 -1
  100. data/rdoc/RubyXL/CT_FillOverlayEffect.html +1 -1
  101. data/rdoc/RubyXL/CT_FillStyleList.html +1 -1
  102. data/rdoc/RubyXL/CT_FlatText.html +1 -1
  103. data/rdoc/RubyXL/CT_FontCollection.html +1 -1
  104. data/rdoc/RubyXL/CT_FontReference.html +1 -1
  105. data/rdoc/RubyXL/CT_GeomGuideList.html +1 -1
  106. data/rdoc/RubyXL/CT_GlowEffect.html +1 -1
  107. data/rdoc/RubyXL/CT_GradientFillProperties.html +1 -1
  108. data/rdoc/RubyXL/CT_GradientStop.html +1 -1
  109. data/rdoc/RubyXL/CT_GradientStopList.html +1 -1
  110. data/rdoc/RubyXL/CT_HSLEffect.html +1 -1
  111. data/rdoc/RubyXL/CT_HslColor.html +1 -1
  112. data/rdoc/RubyXL/CT_Hyperlink.html +1 -1
  113. data/rdoc/RubyXL/CT_InnerShadowEffect.html +1 -1
  114. data/rdoc/RubyXL/CT_LightRig.html +1 -1
  115. data/rdoc/RubyXL/CT_LineEndProperties.html +1 -1
  116. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +1 -1
  117. data/rdoc/RubyXL/CT_LineProperties.html +1 -1
  118. data/rdoc/RubyXL/CT_LineStyleList.html +1 -1
  119. data/rdoc/RubyXL/CT_LinearShadeProperties.html +1 -1
  120. data/rdoc/RubyXL/CT_LuminanceEffect.html +1 -1
  121. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +1 -1
  122. data/rdoc/RubyXL/CT_OuterShadowEffect.html +1 -1
  123. data/rdoc/RubyXL/CT_Path2D.html +1 -1
  124. data/rdoc/RubyXL/CT_Path2DArcTo.html +1 -1
  125. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +1 -1
  126. data/rdoc/RubyXL/CT_Path2DList.html +1 -1
  127. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +1 -1
  128. data/rdoc/RubyXL/CT_Path2DTo.html +1 -1
  129. data/rdoc/RubyXL/CT_PathShadeProperties.html +1 -1
  130. data/rdoc/RubyXL/CT_PatternFillProperties.html +1 -1
  131. data/rdoc/RubyXL/CT_Point3D.html +1 -1
  132. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +1 -1
  133. data/rdoc/RubyXL/CT_PresetColor.html +1 -1
  134. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +1 -1
  135. data/rdoc/RubyXL/CT_PresetShadowEffect.html +1 -1
  136. data/rdoc/RubyXL/CT_PresetTextShape.html +1 -1
  137. data/rdoc/RubyXL/CT_ReflectionEffect.html +1 -1
  138. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +1 -1
  139. data/rdoc/RubyXL/CT_RelativeRect.html +1 -1
  140. data/rdoc/RubyXL/CT_SRgbColor.html +1 -1
  141. data/rdoc/RubyXL/CT_ScRgbColor.html +1 -1
  142. data/rdoc/RubyXL/CT_Scene3D.html +1 -1
  143. data/rdoc/RubyXL/CT_SchemeColor.html +1 -1
  144. data/rdoc/RubyXL/CT_Shape3D.html +1 -1
  145. data/rdoc/RubyXL/CT_ShapeStyle.html +1 -1
  146. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +1 -1
  147. data/rdoc/RubyXL/CT_SphereCoords.html +1 -1
  148. data/rdoc/RubyXL/CT_StretchInfoProperties.html +1 -1
  149. data/rdoc/RubyXL/CT_StyleMatrix.html +1 -1
  150. data/rdoc/RubyXL/CT_StyleMatrixReference.html +1 -1
  151. data/rdoc/RubyXL/CT_SupplementalFont.html +1 -1
  152. data/rdoc/RubyXL/CT_SystemColor.html +1 -1
  153. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +1 -1
  154. data/rdoc/RubyXL/CT_TextBlipBullet.html +1 -1
  155. data/rdoc/RubyXL/CT_TextCharBullet.html +1 -1
  156. data/rdoc/RubyXL/CT_TextCharacterProperties.html +1 -1
  157. data/rdoc/RubyXL/CT_TextFont.html +1 -1
  158. data/rdoc/RubyXL/CT_TextListStyle.html +1 -1
  159. data/rdoc/RubyXL/CT_TextNormalAutofit.html +1 -1
  160. data/rdoc/RubyXL/CT_TextParagraphProperties.html +1 -1
  161. data/rdoc/RubyXL/CT_TextSpacing.html +1 -1
  162. data/rdoc/RubyXL/CT_TextTabStop.html +1 -1
  163. data/rdoc/RubyXL/CT_TextTabStopList.html +1 -1
  164. data/rdoc/RubyXL/CT_TileInfoProperties.html +1 -1
  165. data/rdoc/RubyXL/CT_TintEffect.html +1 -1
  166. data/rdoc/RubyXL/CT_Transform2D.html +1 -1
  167. data/rdoc/RubyXL/CT_TransformEffect.html +1 -1
  168. data/rdoc/RubyXL/CT_Vector3D.html +1 -1
  169. data/rdoc/RubyXL/CT_XYAdjustHandle.html +1 -1
  170. data/rdoc/RubyXL/CalculationChain.html +1 -1
  171. data/rdoc/RubyXL/CalculationChainCell.html +1 -1
  172. data/rdoc/RubyXL/CalculationProperties.html +1 -1
  173. data/rdoc/RubyXL/Cell.html +16 -16
  174. data/rdoc/RubyXL/CellConvenienceMethods.html +92 -38
  175. data/rdoc/RubyXL/CellExt.html +1 -1
  176. data/rdoc/RubyXL/CellSmartTag.html +1 -1
  177. data/rdoc/RubyXL/CellSmartTagProperty.html +1 -1
  178. data/rdoc/RubyXL/CellSmartTags.html +1 -1
  179. data/rdoc/RubyXL/CellStyle.html +1 -1
  180. data/rdoc/RubyXL/CellStyleXFs.html +2 -2
  181. data/rdoc/RubyXL/CellStyles.html +2 -2
  182. data/rdoc/RubyXL/CellValue.html +2 -2
  183. data/rdoc/RubyXL/CellWatch.html +1 -1
  184. data/rdoc/RubyXL/CellWatches.html +1 -1
  185. data/rdoc/RubyXL/CellXFs.html +3 -5
  186. data/rdoc/RubyXL/ChartColorsFile.html +1 -1
  187. data/rdoc/RubyXL/ChartFile.html +2 -2
  188. data/rdoc/RubyXL/ChartStyleFile.html +1 -1
  189. data/rdoc/RubyXL/ChartUserShapesFile.html +1 -1
  190. data/rdoc/RubyXL/Chartsheet.html +2 -2
  191. data/rdoc/RubyXL/ChartsheetPageSetup.html +1 -1
  192. data/rdoc/RubyXL/ChartsheetProperties.html +1 -1
  193. data/rdoc/RubyXL/ChartsheetProtection.html +1 -1
  194. data/rdoc/RubyXL/ChartsheetView.html +1 -1
  195. data/rdoc/RubyXL/ChartsheetViews.html +1 -1
  196. data/rdoc/RubyXL/Color.html +2 -2
  197. data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +3 -3
  198. data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +7 -7
  199. data/rdoc/RubyXL/ColorConvenienceClasses.html +1 -1
  200. data/rdoc/RubyXL/ColorConvenienceMethods.html +2 -2
  201. data/rdoc/RubyXL/ColorFilter.html +1 -1
  202. data/rdoc/RubyXL/ColorScale.html +1 -1
  203. data/rdoc/RubyXL/ColorSet.html +1 -1
  204. data/rdoc/RubyXL/Colors.html +1 -1
  205. data/rdoc/RubyXL/ColumnRange.html +4 -4
  206. data/rdoc/RubyXL/ColumnRanges.html +5 -5
  207. data/rdoc/RubyXL/Comment.html +1 -1
  208. data/rdoc/RubyXL/CommentList.html +1 -1
  209. data/rdoc/RubyXL/CommentsFile.html +2 -2
  210. data/rdoc/RubyXL/ConditionalFormatValue.html +1 -1
  211. data/rdoc/RubyXL/ConditionalFormatting.html +1 -1
  212. data/rdoc/RubyXL/ConditionalFormattingRule.html +1 -1
  213. data/rdoc/RubyXL/Connection.html +1 -1
  214. data/rdoc/RubyXL/ConnectionTable.html +1 -1
  215. data/rdoc/RubyXL/ConnectionTables.html +1 -1
  216. data/rdoc/RubyXL/ConnectionTextField.html +1 -1
  217. data/rdoc/RubyXL/ConnectionTextFields.html +1 -1
  218. data/rdoc/RubyXL/Connections.html +1 -1
  219. data/rdoc/RubyXL/ContentTypeDefault.html +1 -1
  220. data/rdoc/RubyXL/ContentTypeOverride.html +1 -1
  221. data/rdoc/RubyXL/ContentTypes.html +5 -5
  222. data/rdoc/RubyXL/ControlPropertiesFile.html +1 -1
  223. data/rdoc/RubyXL/CorePropertiesFile.html +10 -10
  224. data/rdoc/RubyXL/CustomColor.html +1 -1
  225. data/rdoc/RubyXL/CustomColorList.html +1 -1
  226. data/rdoc/RubyXL/CustomFilter.html +1 -1
  227. data/rdoc/RubyXL/CustomFilters.html +1 -1
  228. data/rdoc/RubyXL/CustomGeometry.html +1 -1
  229. data/rdoc/RubyXL/CustomProperties.html +1 -1
  230. data/rdoc/RubyXL/CustomPropertiesFile.html +1 -1
  231. data/rdoc/RubyXL/CustomProperty.html +1 -1
  232. data/rdoc/RubyXL/CustomPropertyFile.html +1 -1
  233. data/rdoc/RubyXL/CustomSheetView.html +1 -1
  234. data/rdoc/RubyXL/CustomSheetViews.html +1 -1
  235. data/rdoc/RubyXL/CustomWorkbookView.html +1 -1
  236. data/rdoc/RubyXL/CustomWorkbookViews.html +1 -1
  237. data/rdoc/RubyXL/CustomXMLFile.html +1 -1
  238. data/rdoc/RubyXL/DXF.html +1 -1
  239. data/rdoc/RubyXL/DXFs.html +1 -1
  240. data/rdoc/RubyXL/DataBar.html +1 -1
  241. data/rdoc/RubyXL/DataConsolidate.html +1 -1
  242. data/rdoc/RubyXL/DataConsolidationReference.html +1 -1
  243. data/rdoc/RubyXL/DataConsolidationReferences.html +1 -1
  244. data/rdoc/RubyXL/DataType.html +1 -1
  245. data/rdoc/RubyXL/DataValidation.html +1 -1
  246. data/rdoc/RubyXL/DataValidations.html +1 -1
  247. data/rdoc/RubyXL/DateGroupItem.html +1 -1
  248. data/rdoc/RubyXL/DefinedName.html +1 -1
  249. data/rdoc/RubyXL/DefinedNameExt.html +1 -1
  250. data/rdoc/RubyXL/DefinedNames.html +1 -1
  251. data/rdoc/RubyXL/DefinedNamesExt.html +1 -1
  252. data/rdoc/RubyXL/DocumentPropertiesFile.html +3 -3
  253. data/rdoc/RubyXL/DrawingFile.html +2 -2
  254. data/rdoc/RubyXL/DynamicFilter.html +1 -1
  255. data/rdoc/RubyXL/EmbeddedControl.html +1 -1
  256. data/rdoc/RubyXL/EmbeddedControls.html +1 -1
  257. data/rdoc/RubyXL/Extension.html +1 -1
  258. data/rdoc/RubyXL/ExtensionStorageArea.html +1 -1
  259. data/rdoc/RubyXL/Extents.html +1 -1
  260. data/rdoc/RubyXL/ExternalBook.html +1 -1
  261. data/rdoc/RubyXL/ExternalLinksFile.html +2 -2
  262. data/rdoc/RubyXL/ExternalReference.html +1 -1
  263. data/rdoc/RubyXL/ExternalReferences.html +1 -1
  264. data/rdoc/RubyXL/ExtraColorSchemeList.html +1 -1
  265. data/rdoc/RubyXL/FieldItem.html +1 -1
  266. data/rdoc/RubyXL/FileRecoveryProperties.html +1 -1
  267. data/rdoc/RubyXL/FileSharing.html +1 -1
  268. data/rdoc/RubyXL/FileVersion.html +1 -1
  269. data/rdoc/RubyXL/Fill.html +2 -2
  270. data/rdoc/RubyXL/Fills.html +2 -2
  271. data/rdoc/RubyXL/FilterContainer.html +1 -1
  272. data/rdoc/RubyXL/FloatNode.html +1 -1
  273. data/rdoc/RubyXL/FloatValue.html +1 -1
  274. data/rdoc/RubyXL/Font.html +3 -3
  275. data/rdoc/RubyXL/FontConvenienceMethods.html +1 -1
  276. data/rdoc/RubyXL/FontScheme.html +1 -1
  277. data/rdoc/RubyXL/Fonts.html +2 -2
  278. data/rdoc/RubyXL/Formula.html +1 -1
  279. data/rdoc/RubyXL/FunctionGroup.html +1 -1
  280. data/rdoc/RubyXL/FunctionGroups.html +1 -1
  281. data/rdoc/RubyXL/GenericStorageObject.html +4 -4
  282. data/rdoc/RubyXL/GradientFill.html +1 -1
  283. data/rdoc/RubyXL/HeaderFooterSettings.html +1 -1
  284. data/rdoc/RubyXL/Hyperlink.html +1 -1
  285. data/rdoc/RubyXL/HyperlinkRelFile.html +1 -1
  286. data/rdoc/RubyXL/Hyperlinks.html +1 -1
  287. data/rdoc/RubyXL/IconFilter.html +1 -1
  288. data/rdoc/RubyXL/IconSet.html +1 -1
  289. data/rdoc/RubyXL/IgnoredError.html +1 -1
  290. data/rdoc/RubyXL/IgnoredErrors.html +1 -1
  291. data/rdoc/RubyXL/IndexedColors.html +1 -1
  292. data/rdoc/RubyXL/InputCells.html +1 -1
  293. data/rdoc/RubyXL/IntegerNode.html +1 -1
  294. data/rdoc/RubyXL/IntegerValue.html +1 -1
  295. data/rdoc/RubyXL/LegacyCell.html +2 -2
  296. data/rdoc/RubyXL/LegacyWorksheet.html +2 -2
  297. data/rdoc/RubyXL/MRUColors.html +1 -1
  298. data/rdoc/RubyXL/MacrosFile.html +1 -1
  299. data/rdoc/RubyXL/MergedCell.html +1 -1
  300. data/rdoc/RubyXL/MergedCells.html +1 -1
  301. data/rdoc/RubyXL/NumFmt.html +1 -1
  302. data/rdoc/RubyXL/NumberFormat.html +3 -3
  303. data/rdoc/RubyXL/NumberFormats.html +2 -2
  304. data/rdoc/RubyXL/OLEObject.html +1 -1
  305. data/rdoc/RubyXL/OLEObjectFile.html +1 -1
  306. data/rdoc/RubyXL/OLEObjects.html +1 -1
  307. data/rdoc/RubyXL/OLESize.html +1 -1
  308. data/rdoc/RubyXL/OOXMLContainerObject.html +7 -7
  309. data/rdoc/RubyXL/OOXMLIgnored.html +3 -3
  310. data/rdoc/RubyXL/OOXMLObject.html +1 -1
  311. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +2 -3
  312. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +9 -10
  313. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +15 -15
  314. data/rdoc/RubyXL/OOXMLTopLevelObject.html +6 -6
  315. data/rdoc/RubyXL/OdbcOleDbProperties.html +1 -1
  316. data/rdoc/RubyXL/Offset.html +1 -1
  317. data/rdoc/RubyXL/OlapProperties.html +1 -1
  318. data/rdoc/RubyXL/OleItem.html +1 -1
  319. data/rdoc/RubyXL/OleItems.html +1 -1
  320. data/rdoc/RubyXL/OleLink.html +1 -1
  321. data/rdoc/RubyXL/OutlineProperties.html +1 -1
  322. data/rdoc/RubyXL/PageMargins.html +1 -1
  323. data/rdoc/RubyXL/PageSetup.html +1 -1
  324. data/rdoc/RubyXL/PageSetupProperties.html +1 -1
  325. data/rdoc/RubyXL/Pane.html +1 -1
  326. data/rdoc/RubyXL/Parser.html +4 -4
  327. data/rdoc/RubyXL/PatternFill.html +1 -1
  328. data/rdoc/RubyXL/PhoneticProperties.html +1 -1
  329. data/rdoc/RubyXL/PhoneticRun.html +1 -1
  330. data/rdoc/RubyXL/PivotArea.html +1 -1
  331. data/rdoc/RubyXL/PivotCache.html +1 -1
  332. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +1 -1
  333. data/rdoc/RubyXL/PivotCacheRecordsFile.html +1 -1
  334. data/rdoc/RubyXL/PivotCaches.html +1 -1
  335. data/rdoc/RubyXL/PivotReference.html +1 -1
  336. data/rdoc/RubyXL/PivotReferences.html +1 -1
  337. data/rdoc/RubyXL/PivotTableFile.html +1 -1
  338. data/rdoc/RubyXL/PivotTableSelection.html +1 -1
  339. data/rdoc/RubyXL/PresetGeometry.html +1 -1
  340. data/rdoc/RubyXL/PrintOptions.html +1 -1
  341. data/rdoc/RubyXL/PrinterSettingsFile.html +1 -1
  342. data/rdoc/RubyXL/ProtectedRange.html +1 -1
  343. data/rdoc/RubyXL/ProtectedRanges.html +1 -1
  344. data/rdoc/RubyXL/Protection.html +1 -1
  345. data/rdoc/RubyXL/QueryParameter.html +1 -1
  346. data/rdoc/RubyXL/QueryParameters.html +1 -1
  347. data/rdoc/RubyXL/QueryTable.html +1 -1
  348. data/rdoc/RubyXL/QueryTableDeletedField.html +1 -1
  349. data/rdoc/RubyXL/QueryTableDeletedFields.html +1 -1
  350. data/rdoc/RubyXL/QueryTableField.html +1 -1
  351. data/rdoc/RubyXL/QueryTableFields.html +1 -1
  352. data/rdoc/RubyXL/QueryTableRefresh.html +1 -1
  353. data/rdoc/RubyXL/RID.html +1 -1
  354. data/rdoc/RubyXL/RawOOXML.html +3 -3
  355. data/rdoc/RubyXL/Reference.html +34 -12
  356. data/rdoc/RubyXL/Relationship.html +1 -1
  357. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +2 -2
  358. data/rdoc/RubyXL/RelationshipSupport.html +7 -7
  359. data/rdoc/RubyXL/RevisionPointer.html +1 -1
  360. data/rdoc/RubyXL/RichText.html +2 -2
  361. data/rdoc/RubyXL/RichTextRun.html +2 -2
  362. data/rdoc/RubyXL/Row.html +10 -10
  363. data/rdoc/RubyXL/RowExt.html +1 -1
  364. data/rdoc/RubyXL/RunProperties.html +1 -1
  365. data/rdoc/RubyXL/Scenario.html +1 -1
  366. data/rdoc/RubyXL/Scenarios.html +1 -1
  367. data/rdoc/RubyXL/Selection.html +2 -2
  368. data/rdoc/RubyXL/ShapeGuide.html +1 -1
  369. data/rdoc/RubyXL/ShapeTextRectangle.html +1 -1
  370. data/rdoc/RubyXL/SharedStringsTable.html +8 -8
  371. data/rdoc/RubyXL/Sheet.html +1 -1
  372. data/rdoc/RubyXL/SheetCalculationProperties.html +1 -1
  373. data/rdoc/RubyXL/SheetData.html +3 -3
  374. data/rdoc/RubyXL/SheetDataExt.html +1 -1
  375. data/rdoc/RubyXL/SheetDataSet.html +1 -1
  376. data/rdoc/RubyXL/SheetMetadata.html +108 -0
  377. data/rdoc/RubyXL/SheetName.html +1 -1
  378. data/rdoc/RubyXL/SheetNames.html +1 -1
  379. data/rdoc/RubyXL/Sheets.html +1 -1
  380. data/rdoc/RubyXL/SlicerCacheFile.html +1 -1
  381. data/rdoc/RubyXL/SlicerFile.html +1 -1
  382. data/rdoc/RubyXL/SmartTagProperties.html +1 -1
  383. data/rdoc/RubyXL/SmartTagType.html +1 -1
  384. data/rdoc/RubyXL/SmartTagTypes.html +1 -1
  385. data/rdoc/RubyXL/SmartTags.html +1 -1
  386. data/rdoc/RubyXL/SortCondition.html +1 -1
  387. data/rdoc/RubyXL/SortState.html +1 -1
  388. data/rdoc/RubyXL/Sqref.html +3 -3
  389. data/rdoc/RubyXL/Stop.html +1 -1
  390. data/rdoc/RubyXL/StringNode.html +1 -1
  391. data/rdoc/RubyXL/StringNodeW3C.html +3 -3
  392. data/rdoc/RubyXL/StringValue.html +1 -1
  393. data/rdoc/RubyXL/Stylesheet.html +6 -6
  394. data/rdoc/RubyXL/TableFile.html +1 -1
  395. data/rdoc/RubyXL/TableParts.html +1 -1
  396. data/rdoc/RubyXL/TableStyle.html +1 -1
  397. data/rdoc/RubyXL/TableStyles.html +1 -1
  398. data/rdoc/RubyXL/Text.html +5 -5
  399. data/rdoc/RubyXL/TextImportSettings.html +1 -1
  400. data/rdoc/RubyXL/Theme.html +4 -4
  401. data/rdoc/RubyXL/ThemeElements.html +1 -1
  402. data/rdoc/RubyXL/ThumbnailFile.html +1 -1
  403. data/rdoc/RubyXL/Top10.html +1 -1
  404. data/rdoc/RubyXL/VMLDrawingFile.html +2 -2
  405. data/rdoc/RubyXL/Variant.html +1 -1
  406. data/rdoc/RubyXL/Vector.html +2 -2
  407. data/rdoc/RubyXL/VectorValue.html +1 -1
  408. data/rdoc/RubyXL/VisualProperties.html +1 -1
  409. data/rdoc/RubyXL/WebPublishObject.html +1 -1
  410. data/rdoc/RubyXL/WebPublishObjects.html +1 -1
  411. data/rdoc/RubyXL/WebPublishingItem.html +1 -1
  412. data/rdoc/RubyXL/WebPublishingItems.html +1 -1
  413. data/rdoc/RubyXL/WebPublishingProperties.html +1 -1
  414. data/rdoc/RubyXL/WebQueryProperties.html +1 -1
  415. data/rdoc/RubyXL/Workbook.html +29 -26
  416. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +63 -19
  417. data/rdoc/RubyXL/WorkbookProperties.html +1 -1
  418. data/rdoc/RubyXL/WorkbookProtection.html +1 -1
  419. data/rdoc/RubyXL/WorkbookRoot.html +6 -6
  420. data/rdoc/RubyXL/WorkbookView.html +1 -1
  421. data/rdoc/RubyXL/WorkbookViews.html +1 -1
  422. data/rdoc/RubyXL/Worksheet.html +31 -7
  423. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +72 -72
  424. data/rdoc/RubyXL/WorksheetDimensions.html +1 -1
  425. data/rdoc/RubyXL/WorksheetFormatProperties.html +1 -1
  426. data/rdoc/RubyXL/WorksheetProperties.html +1 -1
  427. data/rdoc/RubyXL/WorksheetProtection.html +1 -1
  428. data/rdoc/RubyXL/WorksheetView.html +1 -1
  429. data/rdoc/RubyXL/WorksheetViews.html +1 -1
  430. data/rdoc/RubyXL/XF.html +1 -1
  431. data/rdoc/RubyXL.html +1 -1
  432. data/rdoc/created.rid +44 -44
  433. data/rdoc/index.html +3 -2
  434. data/rdoc/js/search_index.js +1 -1
  435. data/rdoc/js/search_index.js.gz +0 -0
  436. data/rdoc/table_of_contents.html +36 -2
  437. data/rubyXL.gemspec +5 -4
  438. data/spec/lib/cell_spec.rb +14 -7
  439. data/spec/lib/parser_spec.rb +22 -26
  440. data/spec/lib/reference_spec.rb +8 -2
  441. data/spec/lib/rgb_color_spec.rb +13 -2
  442. data/spec/lib/stylesheet_spec.rb +3 -6
  443. data/spec/lib/text_spec.rb +1 -5
  444. data/spec/lib/workbook_spec.rb +12 -2
  445. data/spec/lib/worksheet_spec.rb +577 -535
  446. data/spec/spec_helper.rb +2 -0
  447. data/test/test_parse_write.rb +3 -3
  448. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 12e985784e083124a9fbf411ca9649b415f4983baf05cf33ba6fd573e21f44ef
4
- data.tar.gz: 881eb5ae6b5b435344388b55dee2081d4d6ebda1b3e0025a3d3cff2534e9d6c0
3
+ metadata.gz: d174a06e6a9c7cb4c88d59e54381b4f2a110b9781bf7adab38f787cb99cbd2e8
4
+ data.tar.gz: d0114d7bc184ffc82bc3143ae2f8b843fd1c980299fa302e78211b588b1e23f6
5
5
  SHA512:
6
- metadata.gz: 2ec687847b5e6932aea29db28c58c9c578595fe2a84d1dbd539b59d4c9371a4b1e798ee2a136cad5803553dabb745035da9d1a0601825436c4e6118256f6f070
7
- data.tar.gz: 8cc0ee2cebe9a6beee5dbb9556553931b27b0063131a4f76283ab50d3747618866c69b55c03f035a6b809410b791830d81ad9ac8767c2868d82dd904cb2dc05f
6
+ metadata.gz: 7e9dd0dceb2fcd27376ff8c97440f98d7e7bc6d37d68dd514ff4d3c629d2ef18acc7c9c585afe840657a0805c867e4884ab3510ab0d0f08bf489df56bf68ea50
7
+ data.tar.gz: '096d1ef36c7025887d9b07cf511cc45b39a0965b3fe2831627899ee25b1cb22e28f49f770c2b4dea64f3ad01006ce88e9ee0ff2ba391d66140989a1211b98421'
data/Gemfile CHANGED
@@ -1,16 +1,16 @@
1
- source "http://rubygems.org"
1
+ source 'http://rubygems.org'
2
2
 
3
3
  # Dependencies required to run this gem.
4
- gem "nokogiri", ">= 1.10.8"
5
- gem "rubyzip", ">= 1.3.0" , :require => 'zip'
4
+ gem 'nokogiri', '>= 1.10.8'
5
+ gem 'rubyzip', '>= 1.3.0' , :require => 'zip'
6
6
 
7
7
  # Development dependencies.
8
8
  group :development, :test do
9
- gem "bundler"
10
- gem "rake"
11
- gem "juwelier"
12
- gem "rspec"
13
- gem "simplecov"
9
+ gem 'bundler'
10
+ gem 'rake'
11
+ gem 'juwelier'
12
+ gem 'rspec'
13
+ gem 'simplecov'
14
14
 
15
15
  # gem 'stackprof'
16
16
  gem 'ruby-prof'
data/Gemfile.lock CHANGED
@@ -8,7 +8,7 @@ GEM
8
8
  thread_safe (~> 0.3, >= 0.3.1)
9
9
  diff-lcs (1.5.0)
10
10
  docile (1.4.0)
11
- faraday (1.9.3)
11
+ faraday (1.10.0)
12
12
  faraday-em_http (~> 1.0)
13
13
  faraday-em_synchrony (~> 1.0)
14
14
  faraday-excon (~> 1.1)
@@ -31,7 +31,7 @@ GEM
31
31
  faraday-patron (1.0.0)
32
32
  faraday-rack (1.0.0)
33
33
  faraday-retry (1.0.3)
34
- git (1.10.2)
34
+ git (1.11.0)
35
35
  rchardet (~> 1.8)
36
36
  github_api (0.19.0)
37
37
  addressable (~> 2.4)
@@ -56,41 +56,41 @@ GEM
56
56
  jwt (2.3.0)
57
57
  kamelcase (0.0.2)
58
58
  semver2 (~> 3)
59
- mini_portile2 (2.7.1)
59
+ mini_portile2 (2.8.0)
60
60
  multi_json (1.15.0)
61
61
  multi_xml (0.6.0)
62
62
  multipart-post (2.1.1)
63
- nokogiri (1.13.1)
64
- mini_portile2 (~> 2.7.0)
63
+ nokogiri (1.13.4)
64
+ mini_portile2 (~> 2.8.0)
65
65
  racc (~> 1.4)
66
- oauth2 (1.4.7)
67
- faraday (>= 0.8, < 2.0)
66
+ oauth2 (1.4.9)
67
+ faraday (>= 0.17.3, < 3.0)
68
68
  jwt (>= 1.0, < 3.0)
69
69
  multi_json (~> 1.3)
70
70
  multi_xml (~> 0.5)
71
71
  rack (>= 1.2, < 3)
72
72
  psych (4.0.3)
73
73
  stringio
74
- public_suffix (4.0.6)
74
+ public_suffix (4.0.7)
75
75
  racc (1.6.0)
76
76
  rack (2.2.3)
77
77
  rake (13.0.6)
78
78
  rchardet (1.8.0)
79
79
  rdoc (6.4.0)
80
80
  psych (>= 4.0.0)
81
- rspec (3.10.0)
82
- rspec-core (~> 3.10.0)
83
- rspec-expectations (~> 3.10.0)
84
- rspec-mocks (~> 3.10.0)
85
- rspec-core (3.10.1)
86
- rspec-support (~> 3.10.0)
87
- rspec-expectations (3.10.1)
81
+ rspec (3.11.0)
82
+ rspec-core (~> 3.11.0)
83
+ rspec-expectations (~> 3.11.0)
84
+ rspec-mocks (~> 3.11.0)
85
+ rspec-core (3.11.0)
86
+ rspec-support (~> 3.11.0)
87
+ rspec-expectations (3.11.0)
88
88
  diff-lcs (>= 1.2.0, < 2.0)
89
- rspec-support (~> 3.10.0)
90
- rspec-mocks (3.10.2)
89
+ rspec-support (~> 3.11.0)
90
+ rspec-mocks (3.11.1)
91
91
  diff-lcs (>= 1.2.0, < 2.0)
92
- rspec-support (~> 3.10.0)
93
- rspec-support (3.10.3)
92
+ rspec-support (~> 3.11.0)
93
+ rspec-support (3.11.0)
94
94
  rspec_junit_formatter (0.5.1)
95
95
  rspec-core (>= 2, < 4, != 2.12.0)
96
96
  ruby-prof (1.4.3)
@@ -102,7 +102,7 @@ GEM
102
102
  simplecov-html (~> 0.11)
103
103
  simplecov_json_formatter (~> 0.1)
104
104
  simplecov-html (0.12.3)
105
- simplecov_json_formatter (0.1.3)
105
+ simplecov_json_formatter (0.1.4)
106
106
  stringio (3.0.1)
107
107
  thread_safe (0.3.6)
108
108
 
@@ -121,4 +121,4 @@ DEPENDENCIES
121
121
  simplecov
122
122
 
123
123
  BUNDLED WITH
124
- 2.2.29
124
+ 2.3.5
data/README.rdoc CHANGED
@@ -138,26 +138,25 @@ Please note: these methods are being phased out in favor of the OOXML object mod
138
138
 
139
139
  ==== Changing Alignment
140
140
  ===== Horizontal
141
- center, distributed, justify, left, right
141
+ # Possible alignments: center, distributed, justify, left, right
142
142
  worksheet.sheet_data[0][0].change_horizontal_alignment('center') # Sets A1 to be centered
143
143
  worksheet.change_row_horizontal_alignment(0, 'justify') # Sets first row to be justified
144
144
  worksheet.change_column_horizontal_alignment(0, 'right') # Sets first column to be right-aligned
145
145
 
146
146
  ===== Vertical
147
- bottom, center, distributed, top
147
+ # Possible alignments: bottom, center, distributed, top
148
148
  worksheet.sheet_data[0][0].change_vertical_alignment('bottom') # Sets A1 to be bottom aligned
149
149
  worksheet.change_row_vertical_alignment(0, 'distributed') # Sets first row to be distributed vertically
150
150
  worksheet.change_column_vertical_alignment(0, 'top') # Sets first column to be top aligned
151
151
 
152
152
  ===== Rotation
153
+ # Possible values:
154
+ # * 0-90 - degrees counterclockwise, around the bottom LEFT corner of the cell;
155
+ # * 91-179 - degrees clockwise, around the bottom RIGHT corner of the cell;
156
+ # * 180-254 - degrees clockwise, around the bottom LEFT corner of the cell, text becomes progressively invisible
157
+ # * 255 - text is in normal rotation but displayed vertically (one letter under another), line feed starts new line to the right of the previous.
153
158
  worksheet.sheet_data[0][0].change_text_rotation(90) # Sets A1 to be rotated by 90 degrees
154
159
 
155
- Values:
156
- * 0-90 - degrees counterclockwise, around the bottom LEFT corner of the cell;
157
- * 91-179 - degrees clockwise, around the bottom RIGHT corner of the cell;
158
- * 180-254 - degrees clockwise, around the bottom LEFT corner of the cell, text becomes progressively invisible
159
- * 255 - text is in normal rotation but displayed vertically (one letter under another), line feed starts new line to the right of the previous.
160
-
161
160
  ==== Changing Row Height
162
161
  worksheet.change_row_height(0, 30) # Sets first row height to 30
163
162
 
@@ -211,8 +210,14 @@ WARNING: Use of this method WILL break formulas referencing cells which have bee
211
210
  cell = worksheet[0][0]
212
211
  cell.set_number_format '0.0000%' # For formats, see https://support.office.com/en-us/article/5026bbd6-04bc-48cd-bf33-80f18b4eae68
213
212
  cell.change_text_wrap(true) # Makes the text in the cell to wrap.
213
+ cell.change_shrink_to_fit(true) # Makes the text in the cell to shrink to fit.
214
214
  cell.change_text_indent(1) # Indents the text in the cell by 1 level
215
215
 
216
+ ==== Add hyperlink to a Cell
217
+ cell.add_hyperlink('http://example.com')
218
+ cell.add_hyperlink('http://example.com', 'Some tooltip text')
219
+
220
+
216
221
  == I/O
217
222
 
218
223
  By default, the gem operates with files on the local filesystem:
@@ -252,5 +257,5 @@ Take a look at the files in spec/lib/ for rspecs on most methods
252
257
 
253
258
  == Copyright
254
259
 
255
- Copyright (c) 2011 Vivek Bhagwat, 2013-2021 Wesha.
260
+ Copyright (c) 2011 Vivek Bhagwat, 2013-2022 Wesha.
256
261
  See LICENSE.txt for further details.
data/Rakefile CHANGED
@@ -1,4 +1,5 @@
1
1
  # encoding: utf-8
2
+
2
3
  require 'rubygems'
3
4
 
4
5
  require 'bundler'
@@ -6,24 +7,24 @@ begin
6
7
  Bundler.setup(:default, :development)
7
8
  rescue Bundler::BundlerError => e
8
9
  $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
10
+ $stderr.puts 'Run `bundle install` to install missing gems'
10
11
  exit e.status_code
11
12
  end
12
13
 
13
14
  require 'juwelier'
14
15
  Juwelier::Tasks.new do |gem|
15
16
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
16
- gem.name = "rubyXL"
17
- gem.homepage = "http://github.com/gilt/rubyXL"
18
- gem.license = "MIT"
17
+ gem.name = 'rubyXL'
18
+ gem.homepage = 'http://github.com/gilt/rubyXL'
19
+ gem.license = 'MIT'
19
20
  gem.summary = %Q{rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents}
20
21
  gem.description = %Q{rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents}
21
- gem.email = "bhagwat.vivek@gmail.com"
22
- gem.authors = ["Vivek Bhagwat", 'Wesha']
22
+ gem.email = 'bhagwat.vivek@gmail.com'
23
+ gem.authors = ['Vivek Bhagwat', 'Wesha']
23
24
  # gem.required_ruby_version = '>2.1'
24
25
  # dependencies defined in Gemfile
25
26
  end
26
- Juwelier::RubygemsDotOrgTasks.new
27
+ Juwelier::RubygemsDotOrgTasks.new
27
28
 
28
29
  require 'rake/testtask'
29
30
  Rake::TestTask.new(:test) do |test|
@@ -39,7 +40,7 @@ task :default => :rspec
39
40
 
40
41
  require 'rdoc/task'
41
42
  Rake::RDocTask.new do |rdoc|
42
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
43
+ version = File.exist?('VERSION') ? File.read('VERSION') : ''
43
44
 
44
45
  rdoc.rdoc_dir = 'rdoc'
45
46
  rdoc.title = "rubyXL #{version}"
@@ -47,7 +48,7 @@ Rake::RDocTask.new do |rdoc|
47
48
  rdoc.rdoc_files.include('lib/**/*.rb')
48
49
  end
49
50
 
50
- desc "Dump profiling data with stackprof"
51
+ desc 'Dump profiling data with stackprof'
51
52
  task :stackprof do
52
53
  require 'benchmark'
53
54
  require 'stackprof'
@@ -55,26 +56,26 @@ task :stackprof do
55
56
  $:.unshift File.dirname(__FILE__) + '/lib' # Make Ruby aware of load path
56
57
  require './lib/rubyXL'
57
58
 
58
- spreadsheets = Dir.glob(File.join("test", "input", "*.xls?")).sort!
59
+ spreadsheets = Dir.glob(File.join('test', 'input', '*.xls?')).sort!
59
60
 
60
61
  spreadsheets.each { |input|
61
62
  puts "<<<--- Profiling parsing of #{input}..."
62
63
  doc = nil
63
- StackProf.run(:mode => :cpu, :interval => 100,
64
- :out => "tmp/stackprof-cpu-parse-#{File.basename(input)}.dump") {
64
+ StackProf.run(:mode => :cpu, :interval => 100,
65
+ :out => "tmp/stackprof-cpu-parse-#{File.basename(input)}.dump") {
65
66
  doc = RubyXL::Parser.parse(input)
66
67
  }
67
68
 
68
- output = File.join("test", "output", File.basename(input))
69
- puts "--->>> Profiling writing of #{output}..."
70
- StackProf.run(:mode => :cpu, :interval => 100,
69
+ output = File.join('test', 'output', File.basename(input))
70
+ puts "--->>> Profiling writing of #{output}..."
71
+ StackProf.run(:mode => :cpu, :interval => 100,
71
72
  :out => "tmp/stackprof-cpu-write-#{File.basename(input)}.dump") {
72
73
  doc.write(output)
73
74
  }
74
75
  }
75
76
  end
76
77
 
77
- desc "Dump profiling data with ruby-prof"
78
+ desc 'Dump profiling data with ruby-prof'
78
79
  task :rubyprof do
79
80
  require 'benchmark'
80
81
  require 'ruby-prof'
@@ -82,7 +83,7 @@ task :rubyprof do
82
83
  $:.unshift File.dirname(__FILE__) + '/lib' # Make Ruby aware of load path
83
84
  require './lib/rubyXL'
84
85
 
85
- spreadsheets = Dir.glob(File.join("test", "input", "*.xls?")).sort!
86
+ spreadsheets = Dir.glob(File.join('test', 'input', '*.xls?')).sort!
86
87
 
87
88
  spreadsheets.each { |input|
88
89
  puts "<<<--- Profiling parsing of #{input}..."
@@ -93,8 +94,8 @@ task :rubyprof do
93
94
  printer = RubyProf::CallStackPrinter.new(result)
94
95
  File.open("tmp/ruby-prof-parse-#{File.basename(input)}.html", 'w') { |f| printer.print(f, {}) }
95
96
 
96
- output = File.join("test", "output", File.basename(input))
97
- puts "--->>> Profiling writing of #{output}..."
97
+ output = File.join('test', 'output', File.basename(input))
98
+ puts "--->>> Profiling writing of #{output}..."
98
99
  result = RubyProf.profile {
99
100
  doc.write(output)
100
101
  }
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.4.21
1
+ 3.4.24
data/lib/rubyXL/cell.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  module RubyXL
2
-
3
2
  module LegacyCell
4
3
  def workbook
5
4
  @worksheet.workbook
@@ -24,6 +23,5 @@ module RubyXL
24
23
  return if @worksheet && @worksheet[row] && @worksheet[row][column].equal?(self)
25
24
  raise "Cell #{self} is not in worksheet #{worksheet}"
26
25
  end
27
-
28
26
  end
29
27
  end
@@ -1,6 +1,5 @@
1
1
  module RubyXL
2
2
  module CellConvenienceMethods
3
-
4
3
  def change_contents(data, formula_expression = nil)
5
4
  validate_worksheet
6
5
 
@@ -9,12 +8,12 @@ module RubyXL
9
8
  self.formula = RubyXL::Formula.new(:expression => formula_expression)
10
9
  else
11
10
  self.datatype = case data
12
- when Date, Numeric then nil
11
+ when Date, Time, Numeric then nil
13
12
  else RubyXL::DataType::RAW_STRING
14
13
  end
15
14
  end
16
15
 
17
- data = workbook.date_to_num(data) if data.is_a?(Date)
16
+ data = workbook.date_to_num(data) if data.is_a?(Date) || data.is_a?(Time)
18
17
 
19
18
  self.raw_value = data
20
19
  end
@@ -54,6 +53,11 @@ module RubyXL
54
53
  self.style_index = workbook.modify_alignment(self.style_index) { |a| a.wrap_text = wrap }
55
54
  end
56
55
 
56
+ def change_shrink_to_fit(shrink_to_fit = false)
57
+ validate_worksheet
58
+ self.style_index = workbook.modify_alignment(self.style_index) { |a| a.shrink_to_fit = shrink_to_fit }
59
+ end
60
+
57
61
  def change_text_rotation(rot)
58
62
  validate_worksheet
59
63
  self.style_index = workbook.modify_alignment(self.style_index) { |a| a.text_rotation = rot }
@@ -135,12 +139,12 @@ module RubyXL
135
139
  return nil if xf_obj.alignment.nil?
136
140
  xf_obj.alignment.wrap_text
137
141
  end
138
-
142
+
139
143
  def text_rotation
140
144
  validate_worksheet
141
145
  xf_obj = get_cell_xf
142
146
  return nil if xf_obj.alignment.nil?
143
- xf_obj.alignment.text_rotation
147
+ xf_obj.alignment.text_rotation
144
148
  end
145
149
 
146
150
  def text_indent()
@@ -249,23 +253,25 @@ module RubyXL
249
253
  end
250
254
  end
251
255
 
252
- =begin
253
- def add_hyperlink(l)
254
- worksheet.hyperlinks ||= RubyXL::Hyperlinks.new
255
- worksheet.hyperlinks << RubyXL::Hyperlink.new(:ref => self.r, :location => l)
256
- # define_relationship
257
- # define_attribute(:location, :string)
258
- # define_attribute(:tooltip, :string)
259
- # define_attribute(:display, :string)
256
+ def add_hyperlink(url, tooltip = nil)
257
+ worksheet.relationship_container ||= RubyXL::OOXMLRelationshipsFile.new
258
+ relationships = worksheet.relationship_container.relationships
259
+ r_id = "rId#{relationships.size + 1}"
260
+ relationships << RubyXL::Relationship.new(:id => r_id, :target => url, :target_mode => 'External',
261
+ :type => RubyXL::HyperlinkRelFile::REL_TYPE)
260
262
 
263
+ hyperlink = RubyXL::Hyperlink.new(:ref => self.r, :r_id => r_id)
264
+ hyperlink.tooltip = tooltip if tooltip
265
+ worksheet.hyperlinks ||= RubyXL::Hyperlinks.new
266
+ worksheet.hyperlinks << hyperlink
261
267
  end
262
268
 
269
+ =begin
263
270
  def add_shared_string(str)
264
271
  self.datatype = RubyXL::DataType::SHARED_STRING
265
272
  self.raw_value = @workbook.shared_strings_container.add(str)
266
273
  end
267
274
  =end
268
-
269
275
  end
270
276
 
271
277
  RubyXL::Cell.send(:include, RubyXL::CellConvenienceMethods) # ruby 2.1 compat
@@ -1,6 +1,5 @@
1
1
  module RubyXL
2
2
  module ColorConvenienceMethods
3
-
4
3
  def get_rgb(workbook)
5
4
  if rgb then
6
5
  return rgb
@@ -13,7 +12,6 @@ module RubyXL
13
12
  RubyXL::RgbColor.parse(color_value).to_hls.apply_tint(tint).to_rgb.to_s
14
13
  end
15
14
  end
16
-
17
15
  end
18
16
 
19
17
  module ColorConvenienceClasses
@@ -60,7 +58,7 @@ module RubyXL
60
58
  end
61
59
 
62
60
  def self.parse(str)
63
- r, g, b, a = str.unpack("A2A2A2A2")
61
+ r, g, b, a = str.unpack('A2A2A2A2')
64
62
 
65
63
  rgb_color = RgbColor.new
66
64
  rgb_color.r = r && r.to_i(16)
@@ -73,12 +71,11 @@ module RubyXL
73
71
 
74
72
  def to_s
75
73
  if a && a != 0 then
76
- "%02x%02x%02x%02x" % [ r, g, b, a ]
74
+ format('%02x%02x%02x%02x', r, g, b, a)
77
75
  else
78
- "%02x%02x%02x" % [ r, g, b ]
76
+ format('%02x%02x%02x', r, g, b)
79
77
  end
80
78
  end
81
-
82
79
  end
83
80
 
84
81
  class HlsColor
@@ -151,7 +148,6 @@ module RubyXL
151
148
 
152
149
  self
153
150
  end
154
-
155
151
  end
156
152
  end
157
153
 
@@ -1,7 +1,5 @@
1
1
  module RubyXL
2
-
3
2
  module WorkbookConvenienceMethods
4
-
5
3
  def each
6
4
  worksheets.each{ |i| yield i }
7
5
  end
@@ -73,8 +71,8 @@ module RubyXL
73
71
  def modify_fill(style_index, rgb)
74
72
  xf = cell_xfs[style_index || 0].dup
75
73
  new_fill = RubyXL::Fill.new(:pattern_fill =>
76
- RubyXL::PatternFill.new(:pattern_type => 'solid',
77
- :fg_color => RubyXL::Color.new(:rgb => rgb)))
74
+ RubyXL::PatternFill.new(:pattern_type => 'solid',
75
+ :fg_color => RubyXL::Color.new(:rgb => rgb)))
78
76
  register_new_xf(register_new_fill(new_fill, xf))
79
77
  end
80
78
 
@@ -130,6 +128,13 @@ module RubyXL
130
128
  self.defined_names && self.defined_names.find { |n| n.name == name }
131
129
  end
132
130
 
131
+ def title
132
+ self.root.core_properties.dc_title && self.root.core_properties.dc_title.value
133
+ end
134
+
135
+ def title=(v)
136
+ self.root.core_properties.dc_title = v && RubyXL::StringNode.new(:value => v)
137
+ end
133
138
  end
134
139
 
135
140
  RubyXL::Workbook.send(:include, RubyXL::WorkbookConvenienceMethods) # ruby 2.1 compat
@@ -1,5 +1,4 @@
1
1
  module RubyXL
2
-
3
2
  module WorksheetConvenienceMethods
4
3
  NAME = 0
5
4
  SIZE = 1
@@ -705,9 +704,9 @@ module RubyXL
705
704
  expr = '"' + list_arr.collect{|str| str.gsub('"', '""')}.join(',') + '"'
706
705
  self.data_validations ||= RubyXL::DataValidations.new
707
706
  self.data_validations <<
708
- RubyXL::DataValidation.new({:sqref => RubyXL::Reference.new(ref),
707
+ RubyXL::DataValidation.new({:sqref => RubyXL::Reference.new(ref),
709
708
  :formula1 => RubyXL::Formula.new(:expression => expr),
710
- :type => 'list'})
709
+ :type => 'list'})
711
710
  end
712
711
  end
713
712
 
@@ -2,7 +2,6 @@ require 'rubyXL/objects/ooxml_object'
2
2
  require 'rubyXL/objects/simple_types'
3
3
 
4
4
  module RubyXL
5
-
6
5
  class BorderEdge < OOXMLObject
7
6
  define_attribute(:style, RubyXL::ST_BorderStyle, :default => 'none')
8
7
  define_child_node(RubyXL::Color)
@@ -68,7 +67,5 @@ module RubyXL
68
67
  def self.default
69
68
  self.new(:_ => [ RubyXL::Border.new ])
70
69
  end
71
-
72
70
  end
73
-
74
71
  end
@@ -15,8 +15,8 @@ module RubyXL
15
15
 
16
16
  # http://www.datypic.com/sc/ooxml/e-ssml_calcChain.html
17
17
  class CalculationChain < OOXMLTopLevelObject
18
- CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml'
19
- REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain'
18
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml'.freeze
19
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain'.freeze
20
20
 
21
21
  define_child_node(RubyXL::CalculationChainCell, :collection => true, :accessor => :cells)
22
22
  define_child_node(RubyXL::ExtensionStorageArea)
@@ -2,11 +2,10 @@ require 'rubyXL/objects/ooxml_object'
2
2
  require 'rubyXL/objects/simple_types'
3
3
 
4
4
  module RubyXL
5
-
6
5
  # http://www.datypic.com/sc/ooxml/e-ssml_cellStyle-1.html
7
6
  class CellStyle < OOXMLObject
8
7
  define_attribute(:name, :string)
9
- define_attribute(:xfId, :int, :required => true)
8
+ define_attribute(:xfId, :int, :required => true)
10
9
  define_attribute(:builtinId, :int)
11
10
  define_attribute(:iLevel, :int)
12
11
  define_attribute(:hidden, :bool)
@@ -61,5 +60,4 @@ module RubyXL
61
60
  define_attribute(:formatCode, :string, :required => true)
62
61
  define_element_name 'numFmt'
63
62
  end
64
-
65
63
  end
@@ -5,7 +5,6 @@ require 'rubyXL/objects/relationships'
5
5
  require 'rubyXL/objects/sheet_common'
6
6
 
7
7
  module RubyXL
8
-
9
8
  # http://www.datypic.com/sc/ooxml/e-ssml_sheetProtection-4.html
10
9
  class ChartsheetProtection < OOXMLObject
11
10
  define_attribute(:password, RubyXL::ST_UnsignedShortHex)
@@ -42,7 +41,7 @@ module RubyXL
42
41
  class ChartsheetView < OOXMLObject
43
42
  define_attribute(:tabSelected, :bool, :default => false)
44
43
  define_attribute(:zoomScale, :int, :default => 100)
45
- define_attribute(:workbookViewId, :int, :required => true, :default => 0 )
44
+ define_attribute(:workbookViewId, :int, :required => true, :default => 0)
46
45
  define_attribute(:zoomToFit, :bool, :default => false)
47
46
  define_child_node(RubyXL::ExtensionStorageArea)
48
47
  define_element_name 'sheetView'
@@ -57,8 +56,8 @@ module RubyXL
57
56
 
58
57
  # http://www.datypic.com/sc/ooxml/e-ssml_chartsheet.html
59
58
  class Chartsheet < OOXMLTopLevelObject
60
- CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml'
61
- REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet'
59
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml'.freeze
60
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet'.freeze
62
61
 
63
62
  include RubyXL::RelationshipSupport
64
63
  define_relationship(RubyXL::DrawingFile)
@@ -80,13 +79,11 @@ module RubyXL
80
79
  define_child_node(RubyXL::WebPublishingItems)
81
80
  define_child_node(RubyXL::ExtensionStorageArea)
82
81
  define_element_name 'chartsheet'
83
- set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => nil,
82
+ set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => nil,
84
83
  'http://schemas.openxmlformats.org/officeDocument/2006/relationships' => 'r')
85
84
 
86
85
  def xlsx_path
87
86
  ROOT.join('xl', 'chartsheets', "sheet#{file_index}.xml")
88
87
  end
89
-
90
88
  end
91
-
92
89
  end
@@ -2,7 +2,6 @@ require 'rubyXL/objects/ooxml_object'
2
2
  require 'rubyXL/objects/simple_types'
3
3
 
4
4
  module RubyXL
5
-
6
5
  # http://www.datypic.com/sc/ooxml/e-ssml_color-4.html
7
6
  class Color < OOXMLObject
8
7
  COLOR_REGEXP = /\A([a-f]|[A-F]|[0-9]){6}\Z/
@@ -14,7 +13,7 @@ module RubyXL
14
13
  define_attribute(:tint, :double, :default => 0.0)
15
14
  define_element_name 'color'
16
15
 
17
- #validates hex color code, no '#' allowed
16
+ # validates hex color code, no '#' allowed
18
17
  def self.validate_color(color)
19
18
  if color =~ COLOR_REGEXP
20
19
  return true
@@ -23,5 +22,4 @@ module RubyXL
23
22
  end
24
23
  end
25
24
  end
26
-
27
25
  end
@@ -1,7 +1,6 @@
1
1
  require 'rubyXL/objects/ooxml_object'
2
2
 
3
3
  module RubyXL
4
-
5
4
  # http://www.datypic.com/sc/ooxml/e-ssml_col-1.html
6
5
  class ColumnRange < OOXMLObject
7
6
  define_attribute(:min, :uint, :required => true)
@@ -86,7 +85,5 @@ module RubyXL
86
85
  self.sort_by!{ |r| r.min }
87
86
  !(self.empty?)
88
87
  end
89
-
90
88
  end
91
-
92
89
  end
@@ -2,7 +2,6 @@ require 'rubyXL/objects/ooxml_object'
2
2
  require 'rubyXL/objects/extensions'
3
3
 
4
4
  module RubyXL
5
-
6
5
  # http://www.datypic.com/sc/ooxml/e-ssml_comment-1.html
7
6
  class Comment < OOXMLObject
8
7
  define_child_node(RubyXL::RichText, :node_name => 'text')
@@ -28,7 +27,7 @@ module RubyXL
28
27
  # http://www.datypic.com/sc/ooxml/e-ssml_comments.html
29
28
  class CommentsFile < OOXMLTopLevelObject
30
29
  CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml'
31
- REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments'
30
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments'.freeze
32
31
 
33
32
  define_child_node(RubyXL::Authors)
34
33
  define_child_node(RubyXL::CommentList)
@@ -41,7 +40,5 @@ module RubyXL
41
40
  def xlsx_path
42
41
  ROOT.join('xl', "comments#{file_index}.xml")
43
42
  end
44
-
45
43
  end
46
-
47
44
  end