rubyXL 3.2.6 → 3.2.7

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 (365) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +7 -1
  3. data/VERSION +1 -1
  4. data/lib/rubyXL/cell.rb +0 -73
  5. data/lib/rubyXL/convenience_methods.rb +493 -9
  6. data/lib/rubyXL/objects/border.rb +1 -1
  7. data/lib/rubyXL/objects/column_range.rb +31 -14
  8. data/lib/rubyXL/objects/container_nodes.rb +9 -0
  9. data/lib/rubyXL/objects/document_properties.rb +4 -6
  10. data/lib/rubyXL/objects/fill.rb +7 -5
  11. data/lib/rubyXL/objects/font.rb +3 -3
  12. data/lib/rubyXL/objects/sheet_data.rb +2 -0
  13. data/lib/rubyXL/objects/stylesheet.rb +9 -9
  14. data/lib/rubyXL/objects/theme.rb +1 -1
  15. data/lib/rubyXL/objects/workbook.rb +1 -1
  16. data/lib/rubyXL/objects/worksheet.rb +2 -0
  17. data/lib/rubyXL/worksheet.rb +5 -415
  18. data/rdoc/README_rdoc.html +14 -2
  19. data/rdoc/RubyXL/AExtension.html +1 -1
  20. data/rdoc/RubyXL/AExtensionStorageArea.html +1 -1
  21. data/rdoc/RubyXL/AdjustHandleList.html +1 -1
  22. data/rdoc/RubyXL/Alignment.html +1 -1
  23. data/rdoc/RubyXL/AlternateContent.html +1 -1
  24. data/rdoc/RubyXL/Authors.html +1 -1
  25. data/rdoc/RubyXL/AutoFilter.html +1 -1
  26. data/rdoc/RubyXL/AutoFilterColumn.html +1 -1
  27. data/rdoc/RubyXL/BinaryImageFile.html +1 -1
  28. data/rdoc/RubyXL/BodyProperties.html +1 -1
  29. data/rdoc/RubyXL/BooleanNode.html +1 -1
  30. data/rdoc/RubyXL/BooleanValue.html +1 -1
  31. data/rdoc/RubyXL/Border.html +1 -1
  32. data/rdoc/RubyXL/BorderEdge.html +1 -1
  33. data/rdoc/RubyXL/Borders.html +1 -1
  34. data/rdoc/RubyXL/Break.html +1 -1
  35. data/rdoc/RubyXL/BreakList.html +1 -1
  36. data/rdoc/RubyXL/CT_AdjPoint2D.html +1 -1
  37. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +1 -1
  38. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +1 -1
  39. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +1 -1
  40. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +1 -1
  41. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +1 -1
  42. data/rdoc/RubyXL/CT_Backdrop.html +1 -1
  43. data/rdoc/RubyXL/CT_Bevel.html +1 -1
  44. data/rdoc/RubyXL/CT_BiLevelEffect.html +1 -1
  45. data/rdoc/RubyXL/CT_BlendEffect.html +1 -1
  46. data/rdoc/RubyXL/CT_Blip.html +1 -1
  47. data/rdoc/RubyXL/CT_BlipFillProperties.html +1 -1
  48. data/rdoc/RubyXL/CT_BlurEffect.html +1 -1
  49. data/rdoc/RubyXL/CT_Camera.html +1 -1
  50. data/rdoc/RubyXL/CT_Color.html +1 -1
  51. data/rdoc/RubyXL/CT_ColorChangeEffect.html +1 -1
  52. data/rdoc/RubyXL/CT_ColorMapping.html +1 -1
  53. data/rdoc/RubyXL/CT_ColorScheme.html +1 -1
  54. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +1 -1
  55. data/rdoc/RubyXL/CT_ConnectionSite.html +1 -1
  56. data/rdoc/RubyXL/CT_ConnectionSiteList.html +1 -1
  57. data/rdoc/RubyXL/CT_DashStop.html +1 -1
  58. data/rdoc/RubyXL/CT_DashStopList.html +1 -1
  59. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +1 -1
  60. data/rdoc/RubyXL/CT_DuotoneEffect.html +1 -1
  61. data/rdoc/RubyXL/CT_EffectContainer.html +1 -1
  62. data/rdoc/RubyXL/CT_EffectList.html +1 -1
  63. data/rdoc/RubyXL/CT_EffectReference.html +1 -1
  64. data/rdoc/RubyXL/CT_EffectStyleItem.html +1 -1
  65. data/rdoc/RubyXL/CT_EffectStyleList.html +1 -1
  66. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +1 -1
  67. data/rdoc/RubyXL/CT_FillEffect.html +1 -1
  68. data/rdoc/RubyXL/CT_FillOverlayEffect.html +1 -1
  69. data/rdoc/RubyXL/CT_FillStyleList.html +1 -1
  70. data/rdoc/RubyXL/CT_FlatText.html +1 -1
  71. data/rdoc/RubyXL/CT_FontCollection.html +1 -1
  72. data/rdoc/RubyXL/CT_FontReference.html +1 -1
  73. data/rdoc/RubyXL/CT_GeomGuideList.html +1 -1
  74. data/rdoc/RubyXL/CT_GlowEffect.html +1 -1
  75. data/rdoc/RubyXL/CT_GradientFillProperties.html +1 -1
  76. data/rdoc/RubyXL/CT_GradientStop.html +1 -1
  77. data/rdoc/RubyXL/CT_GradientStopList.html +1 -1
  78. data/rdoc/RubyXL/CT_HSLEffect.html +1 -1
  79. data/rdoc/RubyXL/CT_HslColor.html +1 -1
  80. data/rdoc/RubyXL/CT_Hyperlink.html +1 -1
  81. data/rdoc/RubyXL/CT_InnerShadowEffect.html +1 -1
  82. data/rdoc/RubyXL/CT_LightRig.html +1 -1
  83. data/rdoc/RubyXL/CT_LineEndProperties.html +1 -1
  84. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +1 -1
  85. data/rdoc/RubyXL/CT_LineProperties.html +1 -1
  86. data/rdoc/RubyXL/CT_LineStyleList.html +1 -1
  87. data/rdoc/RubyXL/CT_LinearShadeProperties.html +1 -1
  88. data/rdoc/RubyXL/CT_LuminanceEffect.html +1 -1
  89. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +1 -1
  90. data/rdoc/RubyXL/CT_OuterShadowEffect.html +1 -1
  91. data/rdoc/RubyXL/CT_Path2D.html +1 -1
  92. data/rdoc/RubyXL/CT_Path2DArcTo.html +1 -1
  93. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +1 -1
  94. data/rdoc/RubyXL/CT_Path2DList.html +1 -1
  95. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +1 -1
  96. data/rdoc/RubyXL/CT_Path2DTo.html +1 -1
  97. data/rdoc/RubyXL/CT_PathShadeProperties.html +1 -1
  98. data/rdoc/RubyXL/CT_PatternFillProperties.html +1 -1
  99. data/rdoc/RubyXL/CT_Point3D.html +1 -1
  100. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +1 -1
  101. data/rdoc/RubyXL/CT_PresetColor.html +1 -1
  102. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +1 -1
  103. data/rdoc/RubyXL/CT_PresetShadowEffect.html +1 -1
  104. data/rdoc/RubyXL/CT_PresetTextShape.html +1 -1
  105. data/rdoc/RubyXL/CT_ReflectionEffect.html +1 -1
  106. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +1 -1
  107. data/rdoc/RubyXL/CT_RelativeRect.html +1 -1
  108. data/rdoc/RubyXL/CT_SRgbColor.html +1 -1
  109. data/rdoc/RubyXL/CT_ScRgbColor.html +1 -1
  110. data/rdoc/RubyXL/CT_Scene3D.html +1 -1
  111. data/rdoc/RubyXL/CT_SchemeColor.html +1 -1
  112. data/rdoc/RubyXL/CT_Shape3D.html +1 -1
  113. data/rdoc/RubyXL/CT_ShapeStyle.html +1 -1
  114. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +1 -1
  115. data/rdoc/RubyXL/CT_SphereCoords.html +1 -1
  116. data/rdoc/RubyXL/CT_StretchInfoProperties.html +1 -1
  117. data/rdoc/RubyXL/CT_StyleMatrix.html +1 -1
  118. data/rdoc/RubyXL/CT_StyleMatrixReference.html +1 -1
  119. data/rdoc/RubyXL/CT_SupplementalFont.html +1 -1
  120. data/rdoc/RubyXL/CT_SystemColor.html +1 -1
  121. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +1 -1
  122. data/rdoc/RubyXL/CT_TextBlipBullet.html +1 -1
  123. data/rdoc/RubyXL/CT_TextCharBullet.html +1 -1
  124. data/rdoc/RubyXL/CT_TextCharacterProperties.html +1 -1
  125. data/rdoc/RubyXL/CT_TextFont.html +1 -1
  126. data/rdoc/RubyXL/CT_TextListStyle.html +1 -1
  127. data/rdoc/RubyXL/CT_TextNormalAutofit.html +1 -1
  128. data/rdoc/RubyXL/CT_TextParagraphProperties.html +1 -1
  129. data/rdoc/RubyXL/CT_TextSpacing.html +1 -1
  130. data/rdoc/RubyXL/CT_TextTabStop.html +1 -1
  131. data/rdoc/RubyXL/CT_TextTabStopList.html +1 -1
  132. data/rdoc/RubyXL/CT_TileInfoProperties.html +1 -1
  133. data/rdoc/RubyXL/CT_TintEffect.html +1 -1
  134. data/rdoc/RubyXL/CT_Transform2D.html +1 -1
  135. data/rdoc/RubyXL/CT_TransformEffect.html +1 -1
  136. data/rdoc/RubyXL/CT_Vector3D.html +1 -1
  137. data/rdoc/RubyXL/CT_XYAdjustHandle.html +1 -1
  138. data/rdoc/RubyXL/CalculationChain.html +1 -1
  139. data/rdoc/RubyXL/CalculationChainCell.html +1 -1
  140. data/rdoc/RubyXL/CalculationProperties.html +1 -1
  141. data/rdoc/RubyXL/Cell.html +15 -11
  142. data/rdoc/RubyXL/CellConvenienceMethods.html +98 -0
  143. data/rdoc/RubyXL/CellSmartTag.html +1 -1
  144. data/rdoc/RubyXL/CellSmartTagProperty.html +1 -1
  145. data/rdoc/RubyXL/CellSmartTags.html +1 -1
  146. data/rdoc/RubyXL/CellStyle.html +1 -1
  147. data/rdoc/RubyXL/CellStyleXFs.html +1 -1
  148. data/rdoc/RubyXL/CellStyles.html +1 -1
  149. data/rdoc/RubyXL/CellValue.html +2 -2
  150. data/rdoc/RubyXL/CellWatch.html +1 -1
  151. data/rdoc/RubyXL/CellWatches.html +1 -1
  152. data/rdoc/RubyXL/CellXFs.html +1 -1
  153. data/rdoc/RubyXL/ChartColorsFile.html +1 -1
  154. data/rdoc/RubyXL/ChartFile.html +1 -1
  155. data/rdoc/RubyXL/ChartStyleFile.html +1 -1
  156. data/rdoc/RubyXL/ChartUserShapesFile.html +1 -1
  157. data/rdoc/RubyXL/Chartsheet.html +1 -1
  158. data/rdoc/RubyXL/ChartsheetPageSetup.html +1 -1
  159. data/rdoc/RubyXL/ChartsheetProperties.html +1 -1
  160. data/rdoc/RubyXL/ChartsheetProtection.html +1 -1
  161. data/rdoc/RubyXL/ChartsheetView.html +1 -1
  162. data/rdoc/RubyXL/ChartsheetViews.html +1 -1
  163. data/rdoc/RubyXL/Color.html +1 -1
  164. data/rdoc/RubyXL/ColorFilter.html +1 -1
  165. data/rdoc/RubyXL/ColorScale.html +1 -1
  166. data/rdoc/RubyXL/ColorSet.html +1 -1
  167. data/rdoc/RubyXL/Colors.html +1 -1
  168. data/rdoc/RubyXL/ColumnRange.html +1 -1
  169. data/rdoc/RubyXL/ColumnRanges.html +56 -40
  170. data/rdoc/RubyXL/Comment.html +1 -1
  171. data/rdoc/RubyXL/CommentList.html +1 -1
  172. data/rdoc/RubyXL/CommentsFile.html +1 -1
  173. data/rdoc/RubyXL/ConditionalFormatValue.html +1 -1
  174. data/rdoc/RubyXL/ConditionalFormatting.html +1 -1
  175. data/rdoc/RubyXL/ConditionalFormattingRule.html +1 -1
  176. data/rdoc/RubyXL/ContentTypeDefault.html +1 -1
  177. data/rdoc/RubyXL/ContentTypeOverride.html +1 -1
  178. data/rdoc/RubyXL/ContentTypes.html +1 -1
  179. data/rdoc/RubyXL/ControlPropertiesFile.html +1 -1
  180. data/rdoc/RubyXL/CorePropertiesFile.html +1 -1
  181. data/rdoc/RubyXL/CustomColor.html +1 -1
  182. data/rdoc/RubyXL/CustomColorList.html +1 -1
  183. data/rdoc/RubyXL/CustomFilter.html +1 -1
  184. data/rdoc/RubyXL/CustomFilters.html +1 -1
  185. data/rdoc/RubyXL/CustomGeometry.html +1 -1
  186. data/rdoc/RubyXL/CustomProperties.html +1 -1
  187. data/rdoc/RubyXL/CustomPropertiesFile.html +1 -1
  188. data/rdoc/RubyXL/CustomProperty.html +1 -1
  189. data/rdoc/RubyXL/CustomSheetView.html +1 -1
  190. data/rdoc/RubyXL/CustomSheetViews.html +1 -1
  191. data/rdoc/RubyXL/CustomWorkbookView.html +1 -1
  192. data/rdoc/RubyXL/CustomWorkbookViews.html +1 -1
  193. data/rdoc/RubyXL/CustomXMLFile.html +1 -1
  194. data/rdoc/RubyXL/DXF.html +1 -1
  195. data/rdoc/RubyXL/DXFs.html +1 -1
  196. data/rdoc/RubyXL/DataBar.html +1 -1
  197. data/rdoc/RubyXL/DataConsolidate.html +1 -1
  198. data/rdoc/RubyXL/DataConsolidationReference.html +1 -1
  199. data/rdoc/RubyXL/DataConsolidationReferences.html +1 -1
  200. data/rdoc/RubyXL/DataType.html +1 -1
  201. data/rdoc/RubyXL/DataValidation.html +1 -1
  202. data/rdoc/RubyXL/DataValidations.html +1 -1
  203. data/rdoc/RubyXL/DateGroupItem.html +1 -1
  204. data/rdoc/RubyXL/DefinedName.html +1 -1
  205. data/rdoc/RubyXL/DefinedNames.html +1 -1
  206. data/rdoc/RubyXL/DocumentPropertiesFile.html +1 -1
  207. data/rdoc/RubyXL/DrawingFile.html +1 -1
  208. data/rdoc/RubyXL/DynamicFilter.html +1 -1
  209. data/rdoc/RubyXL/EmbeddedControl.html +1 -1
  210. data/rdoc/RubyXL/EmbeddedControls.html +1 -1
  211. data/rdoc/RubyXL/Extension.html +1 -1
  212. data/rdoc/RubyXL/ExtensionStorageArea.html +1 -1
  213. data/rdoc/RubyXL/Extents.html +1 -1
  214. data/rdoc/RubyXL/ExternalLinksFile.html +1 -1
  215. data/rdoc/RubyXL/ExternalReference.html +1 -1
  216. data/rdoc/RubyXL/ExternalReferences.html +1 -1
  217. data/rdoc/RubyXL/ExtraColorSchemeList.html +1 -1
  218. data/rdoc/RubyXL/FieldItem.html +1 -1
  219. data/rdoc/RubyXL/FileRecoveryProperties.html +1 -1
  220. data/rdoc/RubyXL/FileSharing.html +1 -1
  221. data/rdoc/RubyXL/FileVersion.html +1 -1
  222. data/rdoc/RubyXL/Fill.html +1 -1
  223. data/rdoc/RubyXL/Fills.html +1 -1
  224. data/rdoc/RubyXL/FilterContainer.html +1 -1
  225. data/rdoc/RubyXL/FloatNode.html +1 -1
  226. data/rdoc/RubyXL/FloatValue.html +1 -1
  227. data/rdoc/RubyXL/Font.html +6 -6
  228. data/rdoc/RubyXL/FontScheme.html +1 -1
  229. data/rdoc/RubyXL/Fonts.html +1 -1
  230. data/rdoc/RubyXL/Formula.html +1 -1
  231. data/rdoc/RubyXL/FunctionGroup.html +1 -1
  232. data/rdoc/RubyXL/FunctionGroups.html +1 -1
  233. data/rdoc/RubyXL/GenericStorageObject.html +1 -1
  234. data/rdoc/RubyXL/GradientFill.html +1 -1
  235. data/rdoc/RubyXL/HeaderFooterSettings.html +1 -1
  236. data/rdoc/RubyXL/Hyperlink.html +1 -1
  237. data/rdoc/RubyXL/HyperlinkRelFile.html +1 -1
  238. data/rdoc/RubyXL/Hyperlinks.html +1 -1
  239. data/rdoc/RubyXL/IconFilter.html +1 -1
  240. data/rdoc/RubyXL/IconSet.html +1 -1
  241. data/rdoc/RubyXL/IgnoredError.html +1 -1
  242. data/rdoc/RubyXL/IgnoredErrors.html +1 -1
  243. data/rdoc/RubyXL/IndexedColors.html +1 -1
  244. data/rdoc/RubyXL/InputCells.html +1 -1
  245. data/rdoc/RubyXL/IntegerNode.html +1 -1
  246. data/rdoc/RubyXL/IntegerValue.html +1 -1
  247. data/rdoc/RubyXL/LegacyCell.html +15 -514
  248. data/rdoc/RubyXL/LegacyWorksheet.html +134 -2518
  249. data/rdoc/RubyXL/MRUColors.html +1 -1
  250. data/rdoc/RubyXL/MacrosFile.html +1 -1
  251. data/rdoc/RubyXL/MergedCell.html +1 -1
  252. data/rdoc/RubyXL/MergedCells.html +1 -1
  253. data/rdoc/RubyXL/NumFmt.html +1 -1
  254. data/rdoc/RubyXL/NumberFormat.html +1 -1
  255. data/rdoc/RubyXL/NumberFormats.html +1 -1
  256. data/rdoc/RubyXL/OLEObject.html +1 -1
  257. data/rdoc/RubyXL/OLEObjects.html +1 -1
  258. data/rdoc/RubyXL/OLESize.html +1 -1
  259. data/rdoc/RubyXL/OOXMLContainerObject.html +1 -1
  260. data/rdoc/RubyXL/OOXMLObject.html +1 -1
  261. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +1 -1
  262. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +1 -1
  263. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +1 -1
  264. data/rdoc/RubyXL/OOXMLTopLevelObject.html +1 -1
  265. data/rdoc/RubyXL/Offset.html +1 -1
  266. data/rdoc/RubyXL/OutlineProperties.html +1 -1
  267. data/rdoc/RubyXL/PageMargins.html +1 -1
  268. data/rdoc/RubyXL/PageSetup.html +1 -1
  269. data/rdoc/RubyXL/PageSetupProperties.html +1 -1
  270. data/rdoc/RubyXL/Pane.html +1 -1
  271. data/rdoc/RubyXL/Parser.html +1 -1
  272. data/rdoc/RubyXL/PatternFill.html +1 -1
  273. data/rdoc/RubyXL/PhoneticProperties.html +1 -1
  274. data/rdoc/RubyXL/PhoneticRun.html +1 -1
  275. data/rdoc/RubyXL/PivotArea.html +1 -1
  276. data/rdoc/RubyXL/PivotCache.html +1 -1
  277. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +1 -1
  278. data/rdoc/RubyXL/PivotCaches.html +1 -1
  279. data/rdoc/RubyXL/PivotReference.html +1 -1
  280. data/rdoc/RubyXL/PivotReferences.html +1 -1
  281. data/rdoc/RubyXL/PivotTableFile.html +1 -1
  282. data/rdoc/RubyXL/PivotTableSelection.html +1 -1
  283. data/rdoc/RubyXL/PresetGeometry.html +1 -1
  284. data/rdoc/RubyXL/PrintOptions.html +1 -1
  285. data/rdoc/RubyXL/PrinterSettingsFile.html +1 -1
  286. data/rdoc/RubyXL/ProtectedRange.html +1 -1
  287. data/rdoc/RubyXL/ProtectedRanges.html +1 -1
  288. data/rdoc/RubyXL/Protection.html +1 -1
  289. data/rdoc/RubyXL/RID.html +1 -1
  290. data/rdoc/RubyXL/RawOOXML.html +1 -1
  291. data/rdoc/RubyXL/Reference.html +1 -1
  292. data/rdoc/RubyXL/Relationship.html +1 -1
  293. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +1 -1
  294. data/rdoc/RubyXL/RelationshipSupport.html +1 -1
  295. data/rdoc/RubyXL/RichText.html +1 -1
  296. data/rdoc/RubyXL/RichTextRun.html +1 -1
  297. data/rdoc/RubyXL/Row.html +1 -1
  298. data/rdoc/RubyXL/RunProperties.html +1 -1
  299. data/rdoc/RubyXL/Scenario.html +1 -1
  300. data/rdoc/RubyXL/Scenarios.html +1 -1
  301. data/rdoc/RubyXL/Selection.html +1 -1
  302. data/rdoc/RubyXL/ShapeGuide.html +1 -1
  303. data/rdoc/RubyXL/ShapeTextRectangle.html +1 -1
  304. data/rdoc/RubyXL/SharedStringsTable.html +1 -1
  305. data/rdoc/RubyXL/Sheet.html +1 -1
  306. data/rdoc/RubyXL/SheetCalculationProperties.html +1 -1
  307. data/rdoc/RubyXL/SheetData.html +1 -1
  308. data/rdoc/RubyXL/Sheets.html +1 -1
  309. data/rdoc/RubyXL/SlicerCacheFile.html +1 -1
  310. data/rdoc/RubyXL/SlicerFile.html +1 -1
  311. data/rdoc/RubyXL/SmartTagProperties.html +1 -1
  312. data/rdoc/RubyXL/SmartTagType.html +1 -1
  313. data/rdoc/RubyXL/SmartTagTypes.html +1 -1
  314. data/rdoc/RubyXL/SmartTags.html +1 -1
  315. data/rdoc/RubyXL/SortCondition.html +1 -1
  316. data/rdoc/RubyXL/SortState.html +1 -1
  317. data/rdoc/RubyXL/Sqref.html +1 -1
  318. data/rdoc/RubyXL/Stop.html +1 -1
  319. data/rdoc/RubyXL/StringNode.html +1 -1
  320. data/rdoc/RubyXL/StringNodeW3C.html +95 -1
  321. data/rdoc/RubyXL/StringValue.html +1 -1
  322. data/rdoc/RubyXL/Stylesheet.html +1 -1
  323. data/rdoc/RubyXL/TableFile.html +1 -1
  324. data/rdoc/RubyXL/TableParts.html +1 -1
  325. data/rdoc/RubyXL/TableStyle.html +1 -1
  326. data/rdoc/RubyXL/TableStyles.html +1 -1
  327. data/rdoc/RubyXL/Text.html +1 -1
  328. data/rdoc/RubyXL/Theme.html +1 -1
  329. data/rdoc/RubyXL/ThemeElements.html +1 -1
  330. data/rdoc/RubyXL/ThumbnailFile.html +1 -1
  331. data/rdoc/RubyXL/Top10.html +1 -1
  332. data/rdoc/RubyXL/VMLDrawingFile.html +1 -1
  333. data/rdoc/RubyXL/Variant.html +1 -1
  334. data/rdoc/RubyXL/Vector.html +1 -1
  335. data/rdoc/RubyXL/VectorValue.html +1 -1
  336. data/rdoc/RubyXL/VisualProperties.html +1 -1
  337. data/rdoc/RubyXL/WebPublishObject.html +1 -1
  338. data/rdoc/RubyXL/WebPublishObjects.html +1 -1
  339. data/rdoc/RubyXL/WebPublishingItem.html +1 -1
  340. data/rdoc/RubyXL/WebPublishingItems.html +1 -1
  341. data/rdoc/RubyXL/WebPublishingProperties.html +1 -1
  342. data/rdoc/RubyXL/Workbook.html +1 -1
  343. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +8 -45
  344. data/rdoc/RubyXL/WorkbookProperties.html +1 -1
  345. data/rdoc/RubyXL/WorkbookProtection.html +1 -1
  346. data/rdoc/RubyXL/WorkbookRoot.html +1 -1
  347. data/rdoc/RubyXL/WorkbookView.html +1 -1
  348. data/rdoc/RubyXL/WorkbookViews.html +1 -1
  349. data/rdoc/RubyXL/Worksheet.html +1 -1
  350. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +98 -0
  351. data/rdoc/RubyXL/WorksheetDimensions.html +1 -1
  352. data/rdoc/RubyXL/WorksheetFormatProperties.html +1 -1
  353. data/rdoc/RubyXL/WorksheetProperties.html +1 -1
  354. data/rdoc/RubyXL/WorksheetProtection.html +1 -1
  355. data/rdoc/RubyXL/WorksheetView.html +1 -1
  356. data/rdoc/RubyXL/WorksheetViews.html +1 -1
  357. data/rdoc/RubyXL/XF.html +1 -1
  358. data/rdoc/RubyXL.html +1 -1
  359. data/rdoc/created.rid +18 -18
  360. data/rdoc/index.html +2 -2
  361. data/rdoc/js/search_index.js +1 -1
  362. data/rdoc/table_of_contents.html +76 -464
  363. data/rubyXL.gemspec +5 -3
  364. data/spec/lib/worksheet_spec.rb +55 -7
  365. metadata +4 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0357a1410e4359d4e9ae1e443fb0a6aaa0323165
4
- data.tar.gz: 19f35af41662e0b947f611e8fcdd65fa0fcae4aa
3
+ metadata.gz: 78d8560310cff3db8a14ada15250fd8ccc4a0cf4
4
+ data.tar.gz: 934202bae68313dbc61ee8e35b1b70d3e36b856e
5
5
  SHA512:
6
- metadata.gz: 1ff8da5ec0bd5b8822a4a9cb5ff8b4c61c067e170724d55e7d1df5e7cac52c9e8eb1815b838cdfe1a150c5f054f904f460935010efd30519c19bb57a13615f79
7
- data.tar.gz: eba4a1f422a2a172618a08ab602abac10878561a76a033061560d0cb2d2af0a27b37a06a50062af064fe3e0b4be8310e5c1cd07cfbd22f07272e26832fa6c286
6
+ metadata.gz: 8abe16d619a9ef123a2b621fcf4bb17f8e7266fbceb1919a3b9d1ad6ab3ce21a597d15900834883e12ecba77a271fc2071ddf3b05dfbe28de7164324aaea06b9
7
+ data.tar.gz: 9580942eb45bca0b491622c16bd82e528444340c22e90345b772f6b3903ab2a3fae815cc5e0d1c3c6b78f98039c2c41b05570afe643bcaf442ff3b59acf1fb02
data/README.rdoc CHANGED
@@ -188,11 +188,17 @@ WARNING: Use of this method WILL break formulas referencing cells which have bee
188
188
  worksheet.delete_cell(0, 0, :up) # Deletes A1, shifts contents of first column up
189
189
  worksheet.delete_cell(0, 0) # Deletes A1, does not shift cells
190
190
 
191
+ == I/O
192
+
191
193
  === Writing
192
194
  workbook.write("path/to/desired/Excel/file.xlsx")
193
195
 
196
+ === Streaming
197
+ The gem can provide +StringIO+ object containing the resulting +xlsx+ file, eliminating the need to save it to disk first. This capability comes in handy for web servers.
198
+
199
+ workbook.stream
194
200
 
195
- === Miscellaneous
201
+ == Miscellaneous
196
202
  Reference.ind2ref(0,0) == 'A1' # Converts row and column index to Excel-style cell reference
197
203
  Reference.ref2ind('A1') == [0, 0] # Converts Excel-style cell reference to row and column index
198
204
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.2.6
1
+ 3.2.7
data/lib/rubyXL/cell.rb CHANGED
@@ -96,54 +96,6 @@ module RubyXL
96
96
  end
97
97
  private :update_font_references
98
98
 
99
- # changes horizontal alignment of cell
100
- def change_horizontal_alignment(alignment = 'center')
101
- validate_worksheet
102
- self.style_index = workbook.modify_alignment(self.style_index, true, alignment)
103
- end
104
-
105
- # changes vertical alignment of cell
106
- def change_vertical_alignment(alignment = 'center')
107
- validate_worksheet
108
- self.style_index = workbook.modify_alignment(self.style_index, false, alignment)
109
- end
110
-
111
- # changes wrap of cell
112
- def change_text_wrap(wrap = false)
113
- validate_worksheet
114
- self.style_index = workbook.modify_text_wrap(self.style_index, wrap)
115
- end
116
-
117
- def change_border(direction, weight)
118
- validate_worksheet
119
- self.style_index = workbook.modify_border(self.style_index, direction, weight)
120
- end
121
-
122
- def change_border_top(weight = 'thin')
123
- warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_border` instead."
124
- change_border(:top, weight)
125
- end
126
-
127
- def change_border_left(weight = 'thin')
128
- warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_border` instead."
129
- change_border(:left, weight)
130
- end
131
-
132
- def change_border_right(weight = 'thin')
133
- warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_border` instead."
134
- change_border(:right, weight)
135
- end
136
-
137
- def change_border_bottom(weight = 'thin')
138
- warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_border` instead."
139
- change_border(:bottom, weight)
140
- end
141
-
142
- def change_border_diagonal(weight = 'thin')
143
- warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_border` instead."
144
- change_border(:diagonal, weight)
145
- end
146
-
147
99
  def change_contents(data, formula_expression = nil)
148
100
  validate_worksheet
149
101
 
@@ -229,31 +181,6 @@ module RubyXL
229
181
  xf_obj.alignment.wrap_text
230
182
  end
231
183
 
232
- # returns cell's top border
233
- def border_top()
234
- return get_border(:top)
235
- end
236
-
237
- # returns cell's left border
238
- def border_left()
239
- return get_border(:left)
240
- end
241
-
242
- # returns cell's right border
243
- def border_right()
244
- return get_border(:right)
245
- end
246
-
247
- # returns cell's bottom border
248
- def border_bottom()
249
- return get_border(:bottom)
250
- end
251
-
252
- # returns cell's diagonal border
253
- def border_diagonal()
254
- return get_border(:diagonal)
255
- end
256
-
257
184
  def inspect
258
185
  str = "#<#{self.class}(#{row},#{column}): #{raw_value.inspect}"
259
186
  str += " =#{self.formula.expression}" if self.formula
@@ -147,17 +147,11 @@ module RubyXL
147
147
  new_xf_id
148
148
  end
149
149
 
150
- def modify_text_wrap(style_index, wrap = false)
151
- xf = cell_xfs[style_index].dup
152
- xf.alignment = RubyXL::Alignment.new(:wrap_text => wrap, :apply_alignment => true)
153
- register_new_xf(xf, style_index)
154
- end
155
-
156
- def modify_alignment(style_index, is_horizontal, alignment)
150
+ def modify_alignment(style_index, &block)
157
151
  xf = cell_xfs[style_index].dup
152
+ xf.alignment ||= RubyXL::Alignment.new
158
153
  xf.apply_alignment = true
159
- xf.alignment = RubyXL::Alignment.new(:horizontal => is_horizontal ? alignment : nil,
160
- :vertical => is_horizontal ? nil : alignment)
154
+ yield(xf.alignment)
161
155
  register_new_xf(xf, style_index)
162
156
  end
163
157
 
@@ -187,4 +181,494 @@ module RubyXL
187
181
 
188
182
  end
189
183
 
184
+
185
+ module WorksheetConvenienceMethods
186
+
187
+ def get_row_fill(row = 0)
188
+ (row = sheet_data.rows[row]) && row.get_fill_color
189
+ end
190
+
191
+ def get_row_font_name(row = 0)
192
+ (font = row_font(row)) && font.get_name
193
+ end
194
+
195
+ def get_row_font_size(row = 0)
196
+ (font = row_font(row)) && font.get_size
197
+ end
198
+
199
+ def get_row_font_color(row = 0)
200
+ font = row_font(row)
201
+ color = font && font.color
202
+ color && (color.rgb || '000000')
203
+ end
204
+
205
+ def is_row_italicized(row = 0)
206
+ (font = row_font(row)) && font.is_italic
207
+ end
208
+
209
+ def is_row_bolded(row = 0)
210
+ (font = row_font(row)) && font.is_bold
211
+ end
212
+
213
+ def is_row_underlined(row = 0)
214
+ (font = row_font(row)) && font.is_underlined
215
+ end
216
+
217
+ def is_row_struckthrough(row = 0)
218
+ (font = row_font(row)) && font.is_strikethrough
219
+ end
220
+
221
+ def get_row_height(row = 0)
222
+ validate_workbook
223
+ validate_nonnegative(row)
224
+ return nil unless row_exists(row)
225
+ row = sheet_data.rows[row]
226
+ row && row.ht || 13
227
+ end
228
+
229
+ def get_row_horizontal_alignment(row = 0)
230
+ return get_row_alignment(row, true)
231
+ end
232
+
233
+ def get_row_vertical_alignment(row = 0)
234
+ return get_row_alignment(row, false)
235
+ end
236
+
237
+ def get_row_border_top(row = 0)
238
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_row_border` instead."
239
+ return get_row_border(row, :top)
240
+ end
241
+
242
+ def get_row_border_left(row = 0)
243
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_row_border` instead."
244
+ return get_row_border(row, :left)
245
+ end
246
+
247
+ def get_row_border_right(row = 0)
248
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_row_border` instead."
249
+ return get_row_border(row, :right)
250
+ end
251
+
252
+ def get_row_border_bottom(row = 0)
253
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_row_border` instead."
254
+ return get_row_border(row, :bottom)
255
+ end
256
+
257
+ def get_row_border_diagonal(row = 0)
258
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_row_border` instead."
259
+ return get_row_border(row, :diagonal)
260
+ end
261
+
262
+ def get_column_font_name(col = 0)
263
+ font = column_font(col)
264
+ font && font.get_name
265
+ end
266
+
267
+ def get_column_font_size(col = 0)
268
+ font = column_font(col)
269
+ font && font.get_size
270
+ end
271
+
272
+ def get_column_font_color(col = 0)
273
+ font = column_font(col)
274
+ font && (font.get_rgb_color || '000000')
275
+ end
276
+
277
+ def is_column_italicized(col = 0)
278
+ font = column_font(col)
279
+ font && font.is_italic
280
+ end
281
+
282
+ def is_column_bolded(col = 0)
283
+ font = column_font(col)
284
+ font && font.is_bold
285
+ end
286
+
287
+ def is_column_underlined(col = 0)
288
+ font = column_font(col)
289
+ font && font.is_underlined
290
+ end
291
+
292
+ def is_column_struckthrough(col = 0)
293
+ font = column_font(col)
294
+ font && font.is_strikethrough
295
+ end
296
+
297
+ # Get raw column width value as stored in the file
298
+ def get_column_width_raw(column_index = 0)
299
+ validate_workbook
300
+ validate_nonnegative(column_index)
301
+
302
+ range = cols.locate_range(column_index)
303
+ range && range.width
304
+ end
305
+
306
+ # Get column width measured in number of digits, as per
307
+ # http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.column%28v=office.14%29.aspx
308
+ def get_column_width(column_index = 0)
309
+ width = get_column_width_raw(column_index)
310
+ return RubyXL::ColumnRange::DEFAULT_WIDTH if width.nil?
311
+ (width - (5.0 / RubyXL::Font::MAX_DIGIT_WIDTH)).round
312
+ end
313
+
314
+ def get_column_fill(col=0)
315
+ validate_workbook
316
+ validate_nonnegative(col)
317
+ return nil unless column_exists(col)
318
+
319
+ @workbook.get_fill_color(get_col_xf(col))
320
+ end
321
+
322
+ def get_column_horizontal_alignment(col=0)
323
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_column_alignment` instead."
324
+ get_column_alignment(col, :horizontal)
325
+ end
326
+
327
+ def get_column_vertical_alignment(col=0)
328
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_column_alignment` instead."
329
+ get_column_alignment(col, :vertical)
330
+ end
331
+
332
+ def get_column_border_top(col=0)
333
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_column_border` instead."
334
+ get_column_border(col, :top)
335
+ end
336
+
337
+ def get_column_border_left(col=0)
338
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_column_border` instead."
339
+ get_column_border(col, :left)
340
+ end
341
+
342
+ def get_column_border_right(col=0)
343
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_column_border` instead."
344
+ get_column_border(col, :right)
345
+ end
346
+
347
+ def get_column_border_bottom(col=0)
348
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_column_border` instead."
349
+ get_column_border(col, :bottom)
350
+ end
351
+
352
+ def get_column_border_diagonal(col=0)
353
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_column_border` instead."
354
+ get_column_border(col, :diagonal)
355
+ end
356
+
357
+ def change_row_horizontal_alignment(row = 0, alignment = 'center')
358
+ validate_workbook
359
+ validate_nonnegative(row)
360
+ change_row_alignment(row) { |a| a.horizontal = alignment }
361
+ end
362
+
363
+ def change_row_vertical_alignment(row = 0, alignment = 'center')
364
+ validate_workbook
365
+ validate_nonnegative(row)
366
+ change_row_alignment(row) { |a| a.vertical = alignment }
367
+ end
368
+
369
+ def change_row_border_top(row = 0, weight = 'thin')
370
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_row_border` instead."
371
+ change_row_border(row, :top, weight)
372
+ end
373
+
374
+ def change_row_border_left(row = 0, weight = 'thin')
375
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_row_border` instead."
376
+ change_row_border(row, :left, weight)
377
+ end
378
+
379
+ def change_row_border_right(row = 0, weight = 'thin')
380
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_row_border` instead."
381
+ change_row_border(row, :right, weight)
382
+ end
383
+
384
+ def change_row_border_bottom(row = 0, weight = 'thin')
385
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_row_border` instead."
386
+ change_row_border(row, :bottom, weight)
387
+ end
388
+
389
+ def change_row_border_diagonal(row = 0, weight = 'thin')
390
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_row_border` instead."
391
+ change_row_border(row, :diagonal, weight)
392
+ end
393
+
394
+ def change_row_border(row, direction, weight)
395
+ validate_workbook
396
+ ensure_cell_exists(row)
397
+
398
+ sheet_data.rows[row].style_index = @workbook.modify_border(get_row_style(row), direction, weight)
399
+
400
+ sheet_data[row].cells.each { |c|
401
+ c.change_border(direction, weight) unless c.nil?
402
+ }
403
+ end
404
+
405
+ def change_row_fill(row_index = 0, rgb = 'ffffff')
406
+ validate_workbook
407
+ ensure_cell_exists(row_index)
408
+ Color.validate_color(rgb)
409
+
410
+ sheet_data.rows[row_index].style_index = @workbook.modify_fill(get_row_style(row_index), rgb)
411
+ sheet_data[row_index].cells.each { |c| c.change_fill(rgb) unless c.nil? }
412
+ end
413
+
414
+ def change_row_font_name(row = 0, font_name = 'Verdana')
415
+ ensure_cell_exists(row)
416
+ font = row_font(row).dup
417
+ font.set_name(font_name)
418
+ change_row_font(row, Worksheet::NAME, font_name, font)
419
+ end
420
+
421
+ def change_row_font_size(row = 0, font_size=10)
422
+ ensure_cell_exists(row)
423
+ font = row_font(row).dup
424
+ font.set_size(font_size)
425
+ change_row_font(row, Worksheet::SIZE, font_size, font)
426
+ end
427
+
428
+ def change_row_font_color(row = 0, font_color = '000000')
429
+ ensure_cell_exists(row)
430
+ Color.validate_color(font_color)
431
+ font = row_font(row).dup
432
+ font.set_rgb_color(font_color)
433
+ change_row_font(row, Worksheet::COLOR, font_color, font)
434
+ end
435
+
436
+ def change_row_italics(row = 0, italicized = false)
437
+ ensure_cell_exists(row)
438
+ font = row_font(row).dup
439
+ font.set_italic(italicized)
440
+ change_row_font(row, Worksheet::ITALICS, italicized, font)
441
+ end
442
+
443
+ def change_row_bold(row = 0, bolded = false)
444
+ ensure_cell_exists(row)
445
+ font = row_font(row).dup
446
+ font.set_bold(bolded)
447
+ change_row_font(row, Worksheet::BOLD, bolded, font)
448
+ end
449
+
450
+ def change_row_underline(row = 0, underlined=false)
451
+ ensure_cell_exists(row)
452
+ font = row_font(row).dup
453
+ font.set_underline(underlined)
454
+ change_row_font(row, Worksheet::UNDERLINE, underlined, font)
455
+ end
456
+
457
+ def change_row_strikethrough(row = 0, struckthrough=false)
458
+ ensure_cell_exists(row)
459
+ font = row_font(row).dup
460
+ font.set_strikethrough(struckthrough)
461
+ change_row_font(row, Worksheet::STRIKETHROUGH, struckthrough, font)
462
+ end
463
+
464
+ def change_row_height(row = 0, height = 10)
465
+ validate_workbook
466
+ ensure_cell_exists(row)
467
+
468
+ c = sheet_data.rows[row]
469
+ c.ht = height
470
+ c.custom_height = true
471
+ end
472
+
473
+ def change_column_font_name(column_index = 0, font_name = 'Verdana')
474
+ xf = get_col_xf(column_index)
475
+ font = @workbook.fonts[xf.font_id].dup
476
+ font.set_name(font_name)
477
+ change_column_font(column_index, Worksheet::NAME, font_name, font, xf)
478
+ end
479
+
480
+ def change_column_font_size(column_index, font_size=10)
481
+ xf = get_col_xf(column_index)
482
+ font = @workbook.fonts[xf.font_id].dup
483
+ font.set_size(font_size)
484
+ change_column_font(column_index, Worksheet::SIZE, font_size, font, xf)
485
+ end
486
+
487
+ def change_column_font_color(column_index, font_color='000000')
488
+ Color.validate_color(font_color)
489
+
490
+ xf = get_col_xf(column_index)
491
+ font = @workbook.fonts[xf.font_id].dup
492
+ font.set_rgb_color(font_color)
493
+ change_column_font(column_index, Worksheet::COLOR, font_color, font, xf)
494
+ end
495
+
496
+ def change_column_italics(column_index, italicized = false)
497
+ xf = get_col_xf(column_index)
498
+ font = @workbook.fonts[xf.font_id].dup
499
+ font.set_italic(italicized)
500
+ change_column_font(column_index, Worksheet::ITALICS, italicized, font, xf)
501
+ end
502
+
503
+ def change_column_bold(column_index, bolded = false)
504
+ xf = get_col_xf(column_index)
505
+ font = @workbook.fonts[xf.font_id].dup
506
+ font.set_bold(bolded)
507
+ change_column_font(column_index, Worksheet::BOLD, bolded, font, xf)
508
+ end
509
+
510
+ def change_column_underline(column_index, underlined = false)
511
+ xf = get_col_xf(column_index)
512
+ font = @workbook.fonts[xf.font_id].dup
513
+ font.set_underline(underlined)
514
+ change_column_font(column_index, Worksheet::UNDERLINE, underlined, font, xf)
515
+ end
516
+
517
+ def change_column_strikethrough(column_index, struckthrough=false)
518
+ xf = get_col_xf(column_index)
519
+ font = @workbook.fonts[xf.font_id].dup
520
+ font.set_strikethrough(struckthrough)
521
+ change_column_font(column_index, Worksheet::STRIKETHROUGH, struckthrough, font, xf)
522
+ end
523
+
524
+ def change_column_horizontal_alignment(column_index, alignment = 'center')
525
+ change_column_alignment(column_index) { |a| a.horizontal = alignment }
526
+ end
527
+
528
+ def change_column_vertical_alignment(column_index, alignment = 'center')
529
+ change_column_alignment(column_index) { |a| a.vertical = alignment }
530
+ end
531
+
532
+ def change_column_border_top(column_index, weight = 'thin')
533
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_column_border` instead."
534
+ change_column_border(column_index, :top, weight)
535
+ end
536
+
537
+ def change_column_border_left(column_index, weight = 'thin')
538
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_column_border` instead."
539
+ change_column_border(column_index, :left, weight)
540
+ end
541
+
542
+ def change_column_border_right(column_index, weight = 'thin')
543
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_column_border` instead."
544
+ change_column_border(column_index, :right, weight)
545
+ end
546
+
547
+ def change_column_border_bottom(column_index, weight = 'thin')
548
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_column_border` instead."
549
+ change_column_border(column_index, :bottom, weight)
550
+ end
551
+
552
+ def change_column_border_diagonal(column_index, weight = 'thin')
553
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_column_border` instead."
554
+ change_column_border(column_index, :diagonal, weight)
555
+ end
556
+
557
+ def change_column_border(column_index, direction, weight)
558
+ validate_workbook
559
+ ensure_cell_exists(0, column_index)
560
+
561
+ cols.get_range(column_index).style_index = @workbook.modify_border(get_col_style(column_index), direction, weight)
562
+
563
+ sheet_data.rows.each { |row|
564
+ c = row.cells[column_index]
565
+ c.change_border(direction, weight) unless c.nil?
566
+ }
567
+ end
568
+
569
+ def change_row_alignment(row, &block)
570
+ validate_workbook
571
+ validate_nonnegative(row)
572
+ ensure_cell_exists(row)
573
+
574
+ sheet_data.rows[row].style_index = @workbook.modify_alignment(get_row_style(row), &block)
575
+
576
+ sheet_data[row].cells.each { |c|
577
+ next if c.nil?
578
+ c.style_index = @workbook.modify_alignment(c.style_index, &block)
579
+ }
580
+ end
581
+
582
+ def change_column_alignment(column_index, &block)
583
+ validate_workbook
584
+ ensure_cell_exists(0, column_index)
585
+
586
+ cols.get_range(column_index).style_index = @workbook.modify_alignment(get_col_style(column_index), &block)
587
+ # Excel gets confused if width is not explicitly set for a column that had alignment changes
588
+ change_column_width(column_index) if get_column_width_raw(column_index).nil?
589
+
590
+ sheet_data.rows.each { |row|
591
+ c = row[column_index]
592
+ next if c.nil?
593
+ c.style_index = @workbook.modify_alignment(c.style_index, &block)
594
+ }
595
+ end
596
+
597
+ end
598
+
599
+
600
+ module CellConvenienceMethods
601
+
602
+ def change_horizontal_alignment(alignment = 'center')
603
+ validate_worksheet
604
+ self.style_index = workbook.modify_alignment(self.style_index) { |a| a.horizontal = alignment }
605
+ end
606
+
607
+ def change_vertical_alignment(alignment = 'center')
608
+ validate_worksheet
609
+ self.style_index = workbook.modify_alignment(self.style_index) { |a| a.vertical = alignment }
610
+ end
611
+
612
+ def change_text_wrap(wrap = false)
613
+ validate_worksheet
614
+ self.style_index = workbook.modify_alignment(self.style_index) { |a| a.wrap_text = wrap }
615
+ end
616
+
617
+ def change_border(direction, weight)
618
+ validate_worksheet
619
+ self.style_index = workbook.modify_border(self.style_index, direction, weight)
620
+ end
621
+
622
+ def change_border_top(weight = 'thin')
623
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_border` instead."
624
+ change_border(:top, weight)
625
+ end
626
+
627
+ def change_border_left(weight = 'thin')
628
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_border` instead."
629
+ change_border(:left, weight)
630
+ end
631
+
632
+ def change_border_right(weight = 'thin')
633
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_border` instead."
634
+ change_border(:right, weight)
635
+ end
636
+
637
+ def change_border_bottom(weight = 'thin')
638
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_border` instead."
639
+ change_border(:bottom, weight)
640
+ end
641
+
642
+ def change_border_diagonal(weight = 'thin')
643
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `change_border` instead."
644
+ change_border(:diagonal, weight)
645
+ end
646
+
647
+ def border_top()
648
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_border` instead."
649
+ return get_border(:top)
650
+ end
651
+
652
+ def border_left()
653
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_border` instead."
654
+ return get_border(:left)
655
+ end
656
+
657
+ def border_right()
658
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_border` instead."
659
+ return get_border(:right)
660
+ end
661
+
662
+ def border_bottom()
663
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_border` instead."
664
+ return get_border(:bottom)
665
+ end
666
+
667
+ def border_diagonal()
668
+ warn "[DEPRECATION] `#{__method__}` is deprecated. Please use `get_border` instead."
669
+ return get_border(:diagonal)
670
+ end
671
+
672
+ end
673
+
190
674
  end
@@ -37,7 +37,7 @@ module RubyXL
37
37
  define_child_node(RubyXL::Border, :collection => :with_count)
38
38
  define_element_name 'borders'
39
39
 
40
- def self.defaults
40
+ def self.default
41
41
  self.new(:_ => [ RubyXL::Border.new ])
42
42
  end
43
43