rubyXL 3.4.22 → 3.4.25

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 (449) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +8 -8
  3. data/Gemfile.lock +6 -6
  4. data/README.rdoc +9 -1
  5. data/Rakefile +24 -25
  6. data/VERSION +1 -1
  7. data/lib/rubyXL/cell.rb +2 -4
  8. data/lib/rubyXL/convenience_methods/cell.rb +26 -27
  9. data/lib/rubyXL/convenience_methods/color.rb +3 -7
  10. data/lib/rubyXL/convenience_methods/workbook.rb +2 -5
  11. data/lib/rubyXL/convenience_methods/worksheet.rb +3 -4
  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 +5 -9
  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 +25 -27
  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 +13 -1
  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 +79 -48
  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 +8 -5
  416. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +21 -21
  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 +73 -73
  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 +21 -2
  437. data/rubyXL.gemspec +5 -4
  438. data/spec/lib/cell_spec.rb +5 -7
  439. data/spec/lib/color_spec.rb +1 -1
  440. data/spec/lib/parser_spec.rb +24 -27
  441. data/spec/lib/reference_spec.rb +9 -3
  442. data/spec/lib/rgb_color_spec.rb +1 -2
  443. data/spec/lib/stylesheet_spec.rb +8 -11
  444. data/spec/lib/text_spec.rb +1 -5
  445. data/spec/lib/workbook_spec.rb +3 -4
  446. data/spec/lib/worksheet_spec.rb +577 -535
  447. data/spec/spec_helper.rb +2 -0
  448. data/test/test_parse_write.rb +3 -3
  449. metadata +4 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 474d2b39dac1700addee159716c6b4f3b5f4e0fb6e345009581b21651cd0a108
4
- data.tar.gz: 828d1c9fe9b798d9fc993be81407811c79cf73d0dd81fd767dcf80b40f6367d6
3
+ metadata.gz: 69ceee765ae742ca18903f3db0a368782e581e8324941fd9671e6642fb8ba5d9
4
+ data.tar.gz: 0bed16ef2323e2bd91e33d395a66c9a13b902e5e03cad2de415f4bafcbcb8b3b
5
5
  SHA512:
6
- metadata.gz: 4b48f5c71dac79e26bb8217d9684f5f02ca0ebec3817094468c379c63ed6885ae90ef4bb1a52403cbea9235bc30b53d5988f1d8de24aa1507e05b4d41cb036ee
7
- data.tar.gz: 2c38fb075641d53089ec6a57a1784dc6ad6ec014f8b7b1a957a06bd44a8b453acea456e2b726fbc889bd11fc5a09af4e2a8bd2967eb99a6a935fdeb9ac2d8e40
6
+ metadata.gz: d30a855437e79b15c975ad5e13148cfb72e4f2956449dcbc95d6ff691e60a668d729432e80909318010d473e75323c3c4f75c17b57f80c59f22f41bac43bfc35
7
+ data.tar.gz: fe740718fd69d6a8131383d8b5b326df918820d67c08c708e8e80959a9a04ad3f0f18c2d0efb02e6e660dc66456578a8008e98781ee094658ac78fee9319d90b
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
@@ -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)
@@ -60,7 +60,7 @@ GEM
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.3)
63
+ nokogiri (1.13.6)
64
64
  mini_portile2 (~> 2.8.0)
65
65
  racc (~> 1.4)
66
66
  oauth2 (1.4.9)
@@ -69,9 +69,9 @@ GEM
69
69
  multi_json (~> 1.3)
70
70
  multi_xml (~> 0.5)
71
71
  rack (>= 1.2, < 3)
72
- psych (4.0.3)
72
+ psych (4.0.4)
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)
@@ -87,7 +87,7 @@ GEM
87
87
  rspec-expectations (3.11.0)
88
88
  diff-lcs (>= 1.2.0, < 2.0)
89
89
  rspec-support (~> 3.11.0)
90
- rspec-mocks (3.11.0)
90
+ rspec-mocks (3.11.1)
91
91
  diff-lcs (>= 1.2.0, < 2.0)
92
92
  rspec-support (~> 3.11.0)
93
93
  rspec-support (3.11.0)
@@ -103,7 +103,7 @@ GEM
103
103
  simplecov_json_formatter (~> 0.1)
104
104
  simplecov-html (0.12.3)
105
105
  simplecov_json_formatter (0.1.4)
106
- stringio (3.0.1)
106
+ stringio (3.0.2)
107
107
  thread_safe (0.3.6)
108
108
 
109
109
  PLATFORMS
data/README.rdoc CHANGED
@@ -59,6 +59,10 @@ Please note that row is a _sparse_ array of cells. Your code *must* expect that
59
59
  cell.value # Returns a properly converted value in the cell (if the file claims that the cell
60
60
  # is holding a number, returns a respective Integer or Float, and so on).
61
61
 
62
+ Or, if you prefer Excel-style references (single-cell only!)
63
+
64
+ cell = worksheet.cell_at('B11')
65
+
62
66
  ==== Wrappers for accessing Cell properties
63
67
  cell = workbook[0][0][0]
64
68
  cell.is_struckthrough # Returns +true+ if the cell is struckthrough, other boolean properties have same syntax
@@ -157,7 +161,6 @@ Please note: these methods are being phased out in favor of the OOXML object mod
157
161
  # * 255 - text is in normal rotation but displayed vertically (one letter under another), line feed starts new line to the right of the previous.
158
162
  worksheet.sheet_data[0][0].change_text_rotation(90) # Sets A1 to be rotated by 90 degrees
159
163
 
160
-
161
164
  ==== Changing Row Height
162
165
  worksheet.change_row_height(0, 30) # Sets first row height to 30
163
166
 
@@ -214,6 +217,11 @@ WARNING: Use of this method WILL break formulas referencing cells which have bee
214
217
  cell.change_shrink_to_fit(true) # Makes the text in the cell to shrink to fit.
215
218
  cell.change_text_indent(1) # Indents the text in the cell by 1 level
216
219
 
220
+ ==== Add hyperlink to a Cell
221
+ cell.add_hyperlink('http://example.com')
222
+ cell.add_hyperlink('http://example.com', 'Some tooltip text')
223
+
224
+
217
225
  == I/O
218
226
 
219
227
  By default, the gem operates with files on the local filesystem:
data/Rakefile CHANGED
@@ -1,29 +1,28 @@
1
- # encoding: utf-8
2
1
  require 'rubygems'
3
2
 
4
3
  require 'bundler'
5
4
  begin
6
5
  Bundler.setup(:default, :development)
7
6
  rescue Bundler::BundlerError => e
8
- $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
7
+ warn e.message
8
+ warn 'Run `bundle install` to install missing gems'
10
9
  exit e.status_code
11
10
  end
12
11
 
13
12
  require 'juwelier'
14
13
  Juwelier::Tasks.new do |gem|
15
14
  # 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"
19
- gem.summary = %Q{rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents}
20
- 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']
15
+ gem.name = 'rubyXL'
16
+ gem.homepage = 'http://github.com/gilt/rubyXL'
17
+ gem.license = 'MIT'
18
+ gem.summary = %q{rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents}
19
+ gem.description = %q{rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents}
20
+ gem.email = 'bhagwat.vivek@gmail.com'
21
+ gem.authors = ['Vivek Bhagwat', 'Wesha']
23
22
  # gem.required_ruby_version = '>2.1'
24
23
  # dependencies defined in Gemfile
25
24
  end
26
- Juwelier::RubygemsDotOrgTasks.new
25
+ Juwelier::RubygemsDotOrgTasks.new
27
26
 
28
27
  require 'rake/testtask'
29
28
  Rake::TestTask.new(:test) do |test|
@@ -39,7 +38,7 @@ task :default => :rspec
39
38
 
40
39
  require 'rdoc/task'
41
40
  Rake::RDocTask.new do |rdoc|
42
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
41
+ version = File.exist?('VERSION') ? File.read('VERSION') : ''
43
42
 
44
43
  rdoc.rdoc_dir = 'rdoc'
45
44
  rdoc.title = "rubyXL #{version}"
@@ -47,42 +46,42 @@ Rake::RDocTask.new do |rdoc|
47
46
  rdoc.rdoc_files.include('lib/**/*.rb')
48
47
  end
49
48
 
50
- desc "Dump profiling data with stackprof"
49
+ desc 'Dump profiling data with stackprof'
51
50
  task :stackprof do
52
51
  require 'benchmark'
53
52
  require 'stackprof'
54
53
 
55
- $:.unshift File.dirname(__FILE__) + '/lib' # Make Ruby aware of load path
54
+ $LOAD_PATH.unshift File.dirname(__FILE__) + '/lib' # Make Ruby aware of load path
56
55
  require './lib/rubyXL'
57
56
 
58
- spreadsheets = Dir.glob(File.join("test", "input", "*.xls?")).sort!
57
+ spreadsheets = Dir.glob(File.join('test', 'input', '*.xls?')).sort!
59
58
 
60
59
  spreadsheets.each { |input|
61
60
  puts "<<<--- Profiling parsing of #{input}..."
62
61
  doc = nil
63
- StackProf.run(:mode => :cpu, :interval => 100,
64
- :out => "tmp/stackprof-cpu-parse-#{File.basename(input)}.dump") {
62
+ StackProf.run(:mode => :cpu, :interval => 100,
63
+ :out => "tmp/stackprof-cpu-parse-#{File.basename(input)}.dump") {
65
64
  doc = RubyXL::Parser.parse(input)
66
65
  }
67
66
 
68
- output = File.join("test", "output", File.basename(input))
69
- puts "--->>> Profiling writing of #{output}..."
70
- StackProf.run(:mode => :cpu, :interval => 100,
67
+ output = File.join('test', 'output', File.basename(input))
68
+ puts "--->>> Profiling writing of #{output}..."
69
+ StackProf.run(:mode => :cpu, :interval => 100,
71
70
  :out => "tmp/stackprof-cpu-write-#{File.basename(input)}.dump") {
72
71
  doc.write(output)
73
72
  }
74
73
  }
75
74
  end
76
75
 
77
- desc "Dump profiling data with ruby-prof"
76
+ desc 'Dump profiling data with ruby-prof'
78
77
  task :rubyprof do
79
78
  require 'benchmark'
80
79
  require 'ruby-prof'
81
80
 
82
- $:.unshift File.dirname(__FILE__) + '/lib' # Make Ruby aware of load path
81
+ $LOAD_PATH.unshift File.dirname(__FILE__) + '/lib' # Make Ruby aware of load path
83
82
  require './lib/rubyXL'
84
83
 
85
- spreadsheets = Dir.glob(File.join("test", "input", "*.xls?")).sort!
84
+ spreadsheets = Dir.glob(File.join('test', 'input', '*.xls?')).sort!
86
85
 
87
86
  spreadsheets.each { |input|
88
87
  puts "<<<--- Profiling parsing of #{input}..."
@@ -93,8 +92,8 @@ task :rubyprof do
93
92
  printer = RubyProf::CallStackPrinter.new(result)
94
93
  File.open("tmp/ruby-prof-parse-#{File.basename(input)}.html", 'w') { |f| printer.print(f, {}) }
95
94
 
96
- output = File.join("test", "output", File.basename(input))
97
- puts "--->>> Profiling writing of #{output}..."
95
+ output = File.join('test', 'output', File.basename(input))
96
+ puts "--->>> Profiling writing of #{output}..."
98
97
  result = RubyProf.profile {
99
98
  doc.write(output)
100
99
  }
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.4.22
1
+ 3.4.25
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
@@ -7,7 +6,7 @@ module RubyXL
7
6
 
8
7
  private
9
8
 
10
- def validate_workbook()
9
+ def validate_workbook
11
10
  unless workbook.nil? || workbook.worksheets.nil?
12
11
  workbook.worksheets.each { |sheet|
13
12
  unless sheet.nil? || sheet.sheet_data.nil? || sheet.sheet_data[row].nil?
@@ -20,10 +19,9 @@ module RubyXL
20
19
  raise "This cell #{self} is not in workbook #{workbook}"
21
20
  end
22
21
 
23
- def validate_worksheet()
22
+ def validate_worksheet
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
 
@@ -80,61 +79,61 @@ module RubyXL
80
79
  self.style_index = workbook.modify_border_color(self.style_index, direction, color)
81
80
  end
82
81
 
83
- def is_italicized()
82
+ def is_italicized
84
83
  validate_worksheet
85
84
  get_cell_font.is_italic
86
85
  end
87
86
 
88
- def is_bolded()
87
+ def is_bolded
89
88
  validate_worksheet
90
89
  get_cell_font.is_bold
91
90
  end
92
91
 
93
- def is_underlined()
92
+ def is_underlined
94
93
  validate_worksheet
95
94
  get_cell_font.is_underlined
96
95
  end
97
96
 
98
- def is_struckthrough()
97
+ def is_struckthrough
99
98
  validate_worksheet
100
99
  get_cell_font.is_strikethrough
101
100
  end
102
101
 
103
- def font_name()
102
+ def font_name
104
103
  validate_worksheet
105
104
  get_cell_font.get_name
106
105
  end
107
106
 
108
- def font_size()
107
+ def font_size
109
108
  validate_worksheet
110
109
  get_cell_font.get_size
111
110
  end
112
111
 
113
- def font_color()
112
+ def font_color
114
113
  validate_worksheet
115
114
  get_cell_font.get_rgb_color || '000000'
116
115
  end
117
116
 
118
- def fill_color()
117
+ def fill_color
119
118
  validate_worksheet
120
119
  return workbook.get_fill_color(get_cell_xf)
121
120
  end
122
121
 
123
- def horizontal_alignment()
122
+ def horizontal_alignment
124
123
  validate_worksheet
125
124
  xf_obj = get_cell_xf
126
125
  return nil if xf_obj.alignment.nil?
127
126
  xf_obj.alignment.horizontal
128
127
  end
129
128
 
130
- def vertical_alignment()
129
+ def vertical_alignment
131
130
  validate_worksheet
132
131
  xf_obj = get_cell_xf
133
132
  return nil if xf_obj.alignment.nil?
134
133
  xf_obj.alignment.vertical
135
134
  end
136
135
 
137
- def text_wrap()
136
+ def text_wrap
138
137
  validate_worksheet
139
138
  xf_obj = get_cell_xf
140
139
  return nil if xf_obj.alignment.nil?
@@ -148,7 +147,7 @@ module RubyXL
148
147
  xf_obj.alignment.text_rotation
149
148
  end
150
149
 
151
- def text_indent()
150
+ def text_indent
152
151
  validate_worksheet
153
152
  xf_obj = get_cell_xf
154
153
  return nil if xf_obj.alignment.nil?
@@ -254,23 +253,23 @@ module RubyXL
254
253
  end
255
254
  end
256
255
 
257
- =begin
258
- def add_hyperlink(l)
259
- worksheet.hyperlinks ||= RubyXL::Hyperlinks.new
260
- worksheet.hyperlinks << RubyXL::Hyperlink.new(:ref => self.r, :location => l)
261
- # define_relationship
262
- # define_attribute(:location, :string)
263
- # define_attribute(:tooltip, :string)
264
- # 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)
265
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
266
267
  end
267
268
 
268
- def add_shared_string(str)
269
- self.datatype = RubyXL::DataType::SHARED_STRING
270
- self.raw_value = @workbook.shared_strings_container.add(str)
271
- end
272
- =end
273
-
269
+ # def add_shared_string(str)
270
+ # self.datatype = RubyXL::DataType::SHARED_STRING
271
+ # self.raw_value = @workbook.shared_strings_container.add(str)
272
+ # end
274
273
  end
275
274
 
276
275
  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
 
@@ -137,7 +135,6 @@ module RubyXL
137
135
  def title=(v)
138
136
  self.root.core_properties.dc_title = v && RubyXL::StringNode.new(:value => v)
139
137
  end
140
-
141
138
  end
142
139
 
143
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
@@ -702,12 +701,12 @@ module RubyXL
702
701
  # "Any double quote characters in the value should be escaped with another double quote.
703
702
  # If the value does not contain a comma, newline or double quote, then the String value should be returned unchanged.
704
703
  # If the value contains a comma, newline or double quote, then the String value should be returned enclosed in double quotes."
705
- expr = '"' + list_arr.collect{|str| str.gsub('"', '""')}.join(',') + '"'
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,14 +56,13 @@ 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)
65
64
 
66
- attr_accessor :state, :rels
67
- attr_accessor :workbook, :sheet_name, :sheet_id
65
+ attr_accessor :state, :rels, :workbook, :sheet_name, :sheet_id
68
66
 
69
67
  define_child_node(RubyXL::ChartsheetProperties)
70
68
  define_child_node(RubyXL::ChartsheetViews)
@@ -80,13 +78,11 @@ module RubyXL
80
78
  define_child_node(RubyXL::WebPublishingItems)
81
79
  define_child_node(RubyXL::ExtensionStorageArea)
82
80
  define_element_name 'chartsheet'
83
- set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => nil,
81
+ set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => nil,
84
82
  'http://schemas.openxmlformats.org/officeDocument/2006/relationships' => 'r')
85
83
 
86
84
  def xlsx_path
87
85
  ROOT.join('xl', 'chartsheets', "sheet#{file_index}.xml")
88
86
  end
89
-
90
87
  end
91
-
92
88
  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