rubyXL 3.3.14 → 3.3.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (368) hide show
  1. data/VERSION +1 -1
  2. data/lib/rubyXL/convenience_methods.rb +160 -4
  3. data/lib/rubyXL/objects/ooxml_object.rb +2 -1
  4. data/lib/rubyXL/objects/root.rb +1 -1
  5. data/lib/rubyXL/objects/storage.rb +2 -1
  6. data/lib/rubyXL/objects/worksheet.rb +5 -5
  7. data/lib/rubyXL/worksheet.rb +1 -160
  8. data/rdoc/README_rdoc.html +1 -1
  9. data/rdoc/RubyXL.html +1 -1
  10. data/rdoc/RubyXL/AExtension.html +1 -1
  11. data/rdoc/RubyXL/AExtensionStorageArea.html +1 -1
  12. data/rdoc/RubyXL/AdjustHandleList.html +1 -1
  13. data/rdoc/RubyXL/Alignment.html +1 -1
  14. data/rdoc/RubyXL/AlternateContent.html +1 -1
  15. data/rdoc/RubyXL/Authors.html +1 -1
  16. data/rdoc/RubyXL/AutoFilter.html +1 -1
  17. data/rdoc/RubyXL/AutoFilterColumn.html +1 -1
  18. data/rdoc/RubyXL/BinaryImageFile.html +1 -1
  19. data/rdoc/RubyXL/BodyProperties.html +1 -1
  20. data/rdoc/RubyXL/BooleanNode.html +1 -1
  21. data/rdoc/RubyXL/BooleanValue.html +1 -1
  22. data/rdoc/RubyXL/Border.html +1 -1
  23. data/rdoc/RubyXL/BorderEdge.html +1 -1
  24. data/rdoc/RubyXL/Borders.html +1 -1
  25. data/rdoc/RubyXL/Break.html +1 -1
  26. data/rdoc/RubyXL/BreakList.html +1 -1
  27. data/rdoc/RubyXL/CT_AdjPoint2D.html +1 -1
  28. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +1 -1
  29. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +1 -1
  30. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +1 -1
  31. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +1 -1
  32. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +1 -1
  33. data/rdoc/RubyXL/CT_Backdrop.html +1 -1
  34. data/rdoc/RubyXL/CT_Bevel.html +1 -1
  35. data/rdoc/RubyXL/CT_BiLevelEffect.html +1 -1
  36. data/rdoc/RubyXL/CT_BlendEffect.html +1 -1
  37. data/rdoc/RubyXL/CT_Blip.html +1 -1
  38. data/rdoc/RubyXL/CT_BlipFillProperties.html +1 -1
  39. data/rdoc/RubyXL/CT_BlurEffect.html +1 -1
  40. data/rdoc/RubyXL/CT_Camera.html +1 -1
  41. data/rdoc/RubyXL/CT_Color.html +1 -1
  42. data/rdoc/RubyXL/CT_ColorChangeEffect.html +1 -1
  43. data/rdoc/RubyXL/CT_ColorMapping.html +1 -1
  44. data/rdoc/RubyXL/CT_ColorScheme.html +1 -1
  45. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +1 -1
  46. data/rdoc/RubyXL/CT_ConnectionSite.html +1 -1
  47. data/rdoc/RubyXL/CT_ConnectionSiteList.html +1 -1
  48. data/rdoc/RubyXL/CT_DashStop.html +1 -1
  49. data/rdoc/RubyXL/CT_DashStopList.html +1 -1
  50. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +1 -1
  51. data/rdoc/RubyXL/CT_DuotoneEffect.html +1 -1
  52. data/rdoc/RubyXL/CT_EffectContainer.html +1 -1
  53. data/rdoc/RubyXL/CT_EffectList.html +1 -1
  54. data/rdoc/RubyXL/CT_EffectReference.html +1 -1
  55. data/rdoc/RubyXL/CT_EffectStyleItem.html +1 -1
  56. data/rdoc/RubyXL/CT_EffectStyleList.html +1 -1
  57. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +1 -1
  58. data/rdoc/RubyXL/CT_FillEffect.html +1 -1
  59. data/rdoc/RubyXL/CT_FillOverlayEffect.html +1 -1
  60. data/rdoc/RubyXL/CT_FillStyleList.html +1 -1
  61. data/rdoc/RubyXL/CT_FlatText.html +1 -1
  62. data/rdoc/RubyXL/CT_FontCollection.html +1 -1
  63. data/rdoc/RubyXL/CT_FontReference.html +1 -1
  64. data/rdoc/RubyXL/CT_GeomGuideList.html +1 -1
  65. data/rdoc/RubyXL/CT_GlowEffect.html +1 -1
  66. data/rdoc/RubyXL/CT_GradientFillProperties.html +1 -1
  67. data/rdoc/RubyXL/CT_GradientStop.html +1 -1
  68. data/rdoc/RubyXL/CT_GradientStopList.html +1 -1
  69. data/rdoc/RubyXL/CT_HSLEffect.html +1 -1
  70. data/rdoc/RubyXL/CT_HslColor.html +1 -1
  71. data/rdoc/RubyXL/CT_Hyperlink.html +1 -1
  72. data/rdoc/RubyXL/CT_InnerShadowEffect.html +1 -1
  73. data/rdoc/RubyXL/CT_LightRig.html +1 -1
  74. data/rdoc/RubyXL/CT_LineEndProperties.html +1 -1
  75. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +1 -1
  76. data/rdoc/RubyXL/CT_LineProperties.html +1 -1
  77. data/rdoc/RubyXL/CT_LineStyleList.html +1 -1
  78. data/rdoc/RubyXL/CT_LinearShadeProperties.html +1 -1
  79. data/rdoc/RubyXL/CT_LuminanceEffect.html +1 -1
  80. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +1 -1
  81. data/rdoc/RubyXL/CT_OuterShadowEffect.html +1 -1
  82. data/rdoc/RubyXL/CT_Path2D.html +1 -1
  83. data/rdoc/RubyXL/CT_Path2DArcTo.html +1 -1
  84. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +1 -1
  85. data/rdoc/RubyXL/CT_Path2DList.html +1 -1
  86. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +1 -1
  87. data/rdoc/RubyXL/CT_Path2DTo.html +1 -1
  88. data/rdoc/RubyXL/CT_PathShadeProperties.html +1 -1
  89. data/rdoc/RubyXL/CT_PatternFillProperties.html +1 -1
  90. data/rdoc/RubyXL/CT_Point3D.html +1 -1
  91. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +1 -1
  92. data/rdoc/RubyXL/CT_PresetColor.html +1 -1
  93. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +1 -1
  94. data/rdoc/RubyXL/CT_PresetShadowEffect.html +1 -1
  95. data/rdoc/RubyXL/CT_PresetTextShape.html +1 -1
  96. data/rdoc/RubyXL/CT_ReflectionEffect.html +1 -1
  97. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +1 -1
  98. data/rdoc/RubyXL/CT_RelativeRect.html +1 -1
  99. data/rdoc/RubyXL/CT_SRgbColor.html +1 -1
  100. data/rdoc/RubyXL/CT_ScRgbColor.html +1 -1
  101. data/rdoc/RubyXL/CT_Scene3D.html +1 -1
  102. data/rdoc/RubyXL/CT_SchemeColor.html +1 -1
  103. data/rdoc/RubyXL/CT_Shape3D.html +1 -1
  104. data/rdoc/RubyXL/CT_ShapeStyle.html +1 -1
  105. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +1 -1
  106. data/rdoc/RubyXL/CT_SphereCoords.html +1 -1
  107. data/rdoc/RubyXL/CT_StretchInfoProperties.html +1 -1
  108. data/rdoc/RubyXL/CT_StyleMatrix.html +1 -1
  109. data/rdoc/RubyXL/CT_StyleMatrixReference.html +1 -1
  110. data/rdoc/RubyXL/CT_SupplementalFont.html +1 -1
  111. data/rdoc/RubyXL/CT_SystemColor.html +1 -1
  112. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +1 -1
  113. data/rdoc/RubyXL/CT_TextBlipBullet.html +1 -1
  114. data/rdoc/RubyXL/CT_TextCharBullet.html +1 -1
  115. data/rdoc/RubyXL/CT_TextCharacterProperties.html +1 -1
  116. data/rdoc/RubyXL/CT_TextFont.html +1 -1
  117. data/rdoc/RubyXL/CT_TextListStyle.html +1 -1
  118. data/rdoc/RubyXL/CT_TextNormalAutofit.html +1 -1
  119. data/rdoc/RubyXL/CT_TextParagraphProperties.html +1 -1
  120. data/rdoc/RubyXL/CT_TextSpacing.html +1 -1
  121. data/rdoc/RubyXL/CT_TextTabStop.html +1 -1
  122. data/rdoc/RubyXL/CT_TextTabStopList.html +1 -1
  123. data/rdoc/RubyXL/CT_TileInfoProperties.html +1 -1
  124. data/rdoc/RubyXL/CT_TintEffect.html +1 -1
  125. data/rdoc/RubyXL/CT_Transform2D.html +1 -1
  126. data/rdoc/RubyXL/CT_TransformEffect.html +1 -1
  127. data/rdoc/RubyXL/CT_Vector3D.html +1 -1
  128. data/rdoc/RubyXL/CT_XYAdjustHandle.html +1 -1
  129. data/rdoc/RubyXL/CalculationChain.html +1 -1
  130. data/rdoc/RubyXL/CalculationChainCell.html +1 -1
  131. data/rdoc/RubyXL/CalculationProperties.html +1 -1
  132. data/rdoc/RubyXL/Cell.html +1 -1
  133. data/rdoc/RubyXL/CellConvenienceMethods.html +28 -28
  134. data/rdoc/RubyXL/CellExt.html +1 -1
  135. data/rdoc/RubyXL/CellSmartTag.html +1 -1
  136. data/rdoc/RubyXL/CellSmartTagProperty.html +1 -1
  137. data/rdoc/RubyXL/CellSmartTags.html +1 -1
  138. data/rdoc/RubyXL/CellStyle.html +1 -1
  139. data/rdoc/RubyXL/CellStyleXFs.html +1 -1
  140. data/rdoc/RubyXL/CellStyles.html +1 -1
  141. data/rdoc/RubyXL/CellValue.html +1 -1
  142. data/rdoc/RubyXL/CellWatch.html +1 -1
  143. data/rdoc/RubyXL/CellWatches.html +1 -1
  144. data/rdoc/RubyXL/CellXFs.html +1 -1
  145. data/rdoc/RubyXL/ChartColorsFile.html +1 -1
  146. data/rdoc/RubyXL/ChartFile.html +2 -2
  147. data/rdoc/RubyXL/ChartStyleFile.html +1 -1
  148. data/rdoc/RubyXL/ChartUserShapesFile.html +1 -1
  149. data/rdoc/RubyXL/Chartsheet.html +1 -1
  150. data/rdoc/RubyXL/ChartsheetPageSetup.html +1 -1
  151. data/rdoc/RubyXL/ChartsheetProperties.html +1 -1
  152. data/rdoc/RubyXL/ChartsheetProtection.html +1 -1
  153. data/rdoc/RubyXL/ChartsheetView.html +1 -1
  154. data/rdoc/RubyXL/ChartsheetViews.html +1 -1
  155. data/rdoc/RubyXL/Color.html +1 -1
  156. data/rdoc/RubyXL/ColorFilter.html +1 -1
  157. data/rdoc/RubyXL/ColorScale.html +1 -1
  158. data/rdoc/RubyXL/ColorSet.html +1 -1
  159. data/rdoc/RubyXL/Colors.html +1 -1
  160. data/rdoc/RubyXL/ColumnRange.html +1 -1
  161. data/rdoc/RubyXL/ColumnRanges.html +1 -1
  162. data/rdoc/RubyXL/Comment.html +1 -1
  163. data/rdoc/RubyXL/CommentList.html +1 -1
  164. data/rdoc/RubyXL/CommentsFile.html +1 -1
  165. data/rdoc/RubyXL/ConditionalFormatValue.html +1 -1
  166. data/rdoc/RubyXL/ConditionalFormatting.html +1 -1
  167. data/rdoc/RubyXL/ConditionalFormattingRule.html +1 -1
  168. data/rdoc/RubyXL/ContentTypeDefault.html +1 -1
  169. data/rdoc/RubyXL/ContentTypeOverride.html +1 -1
  170. data/rdoc/RubyXL/ContentTypes.html +1 -1
  171. data/rdoc/RubyXL/ControlPropertiesFile.html +1 -1
  172. data/rdoc/RubyXL/CorePropertiesFile.html +1 -1
  173. data/rdoc/RubyXL/CustomColor.html +1 -1
  174. data/rdoc/RubyXL/CustomColorList.html +1 -1
  175. data/rdoc/RubyXL/CustomFilter.html +1 -1
  176. data/rdoc/RubyXL/CustomFilters.html +1 -1
  177. data/rdoc/RubyXL/CustomGeometry.html +1 -1
  178. data/rdoc/RubyXL/CustomProperties.html +1 -1
  179. data/rdoc/RubyXL/CustomPropertiesFile.html +1 -1
  180. data/rdoc/RubyXL/CustomProperty.html +1 -1
  181. data/rdoc/RubyXL/CustomSheetView.html +1 -1
  182. data/rdoc/RubyXL/CustomSheetViews.html +1 -1
  183. data/rdoc/RubyXL/CustomWorkbookView.html +1 -1
  184. data/rdoc/RubyXL/CustomWorkbookViews.html +1 -1
  185. data/rdoc/RubyXL/CustomXMLFile.html +1 -1
  186. data/rdoc/RubyXL/DXF.html +1 -1
  187. data/rdoc/RubyXL/DXFs.html +1 -1
  188. data/rdoc/RubyXL/DataBar.html +1 -1
  189. data/rdoc/RubyXL/DataConsolidate.html +1 -1
  190. data/rdoc/RubyXL/DataConsolidationReference.html +1 -1
  191. data/rdoc/RubyXL/DataConsolidationReferences.html +1 -1
  192. data/rdoc/RubyXL/DataType.html +1 -1
  193. data/rdoc/RubyXL/DataValidation.html +1 -1
  194. data/rdoc/RubyXL/DataValidations.html +1 -1
  195. data/rdoc/RubyXL/DateGroupItem.html +1 -1
  196. data/rdoc/RubyXL/DefinedName.html +1 -1
  197. data/rdoc/RubyXL/DefinedNameExt.html +1 -1
  198. data/rdoc/RubyXL/DefinedNames.html +1 -1
  199. data/rdoc/RubyXL/DefinedNamesExt.html +1 -1
  200. data/rdoc/RubyXL/DocumentPropertiesFile.html +1 -1
  201. data/rdoc/RubyXL/DrawingFile.html +2 -2
  202. data/rdoc/RubyXL/DynamicFilter.html +1 -1
  203. data/rdoc/RubyXL/EmbeddedControl.html +1 -1
  204. data/rdoc/RubyXL/EmbeddedControls.html +1 -1
  205. data/rdoc/RubyXL/Extension.html +1 -1
  206. data/rdoc/RubyXL/ExtensionStorageArea.html +1 -1
  207. data/rdoc/RubyXL/Extents.html +1 -1
  208. data/rdoc/RubyXL/ExternalBook.html +1 -1
  209. data/rdoc/RubyXL/ExternalLinksFile.html +1 -1
  210. data/rdoc/RubyXL/ExternalReference.html +1 -1
  211. data/rdoc/RubyXL/ExternalReferences.html +1 -1
  212. data/rdoc/RubyXL/ExtraColorSchemeList.html +1 -1
  213. data/rdoc/RubyXL/FieldItem.html +1 -1
  214. data/rdoc/RubyXL/FileRecoveryProperties.html +1 -1
  215. data/rdoc/RubyXL/FileSharing.html +1 -1
  216. data/rdoc/RubyXL/FileVersion.html +1 -1
  217. data/rdoc/RubyXL/Fill.html +1 -1
  218. data/rdoc/RubyXL/Fills.html +1 -1
  219. data/rdoc/RubyXL/FilterContainer.html +1 -1
  220. data/rdoc/RubyXL/FloatNode.html +1 -1
  221. data/rdoc/RubyXL/FloatValue.html +1 -1
  222. data/rdoc/RubyXL/Font.html +1 -1
  223. data/rdoc/RubyXL/FontScheme.html +1 -1
  224. data/rdoc/RubyXL/Fonts.html +1 -1
  225. data/rdoc/RubyXL/Formula.html +1 -1
  226. data/rdoc/RubyXL/FunctionGroup.html +1 -1
  227. data/rdoc/RubyXL/FunctionGroups.html +1 -1
  228. data/rdoc/RubyXL/GenericStorageObject.html +3 -2
  229. data/rdoc/RubyXL/GradientFill.html +1 -1
  230. data/rdoc/RubyXL/HeaderFooterSettings.html +1 -1
  231. data/rdoc/RubyXL/Hyperlink.html +1 -1
  232. data/rdoc/RubyXL/HyperlinkRelFile.html +1 -1
  233. data/rdoc/RubyXL/Hyperlinks.html +1 -1
  234. data/rdoc/RubyXL/IconFilter.html +1 -1
  235. data/rdoc/RubyXL/IconSet.html +1 -1
  236. data/rdoc/RubyXL/IgnoredError.html +1 -1
  237. data/rdoc/RubyXL/IgnoredErrors.html +1 -1
  238. data/rdoc/RubyXL/IndexedColors.html +1 -1
  239. data/rdoc/RubyXL/InputCells.html +1 -1
  240. data/rdoc/RubyXL/IntegerNode.html +1 -1
  241. data/rdoc/RubyXL/IntegerValue.html +1 -1
  242. data/rdoc/RubyXL/LegacyCell.html +1 -1
  243. data/rdoc/RubyXL/LegacyWorksheet.html +1 -266
  244. data/rdoc/RubyXL/MRUColors.html +1 -1
  245. data/rdoc/RubyXL/MacrosFile.html +1 -1
  246. data/rdoc/RubyXL/MergedCell.html +1 -1
  247. data/rdoc/RubyXL/MergedCells.html +1 -1
  248. data/rdoc/RubyXL/NumFmt.html +1 -1
  249. data/rdoc/RubyXL/NumberFormat.html +1 -1
  250. data/rdoc/RubyXL/NumberFormats.html +1 -1
  251. data/rdoc/RubyXL/OLEObject.html +1 -1
  252. data/rdoc/RubyXL/OLEObjectFile.html +1 -1
  253. data/rdoc/RubyXL/OLEObjects.html +1 -1
  254. data/rdoc/RubyXL/OLESize.html +1 -1
  255. data/rdoc/RubyXL/OOXMLContainerObject.html +1 -1
  256. data/rdoc/RubyXL/OOXMLObject.html +1 -1
  257. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +1 -1
  258. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +1 -1
  259. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +1 -1
  260. data/rdoc/RubyXL/OOXMLTopLevelObject.html +4 -3
  261. data/rdoc/RubyXL/Offset.html +1 -1
  262. data/rdoc/RubyXL/OutlineProperties.html +1 -1
  263. data/rdoc/RubyXL/PageMargins.html +1 -1
  264. data/rdoc/RubyXL/PageSetup.html +1 -1
  265. data/rdoc/RubyXL/PageSetupProperties.html +1 -1
  266. data/rdoc/RubyXL/Pane.html +1 -1
  267. data/rdoc/RubyXL/Parser.html +1 -1
  268. data/rdoc/RubyXL/PatternFill.html +1 -1
  269. data/rdoc/RubyXL/PhoneticProperties.html +1 -1
  270. data/rdoc/RubyXL/PhoneticRun.html +1 -1
  271. data/rdoc/RubyXL/PivotArea.html +1 -1
  272. data/rdoc/RubyXL/PivotCache.html +1 -1
  273. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +1 -1
  274. data/rdoc/RubyXL/PivotCacheRecordsFile.html +1 -1
  275. data/rdoc/RubyXL/PivotCaches.html +1 -1
  276. data/rdoc/RubyXL/PivotReference.html +1 -1
  277. data/rdoc/RubyXL/PivotReferences.html +1 -1
  278. data/rdoc/RubyXL/PivotTableFile.html +1 -1
  279. data/rdoc/RubyXL/PivotTableSelection.html +1 -1
  280. data/rdoc/RubyXL/PresetGeometry.html +1 -1
  281. data/rdoc/RubyXL/PrintOptions.html +1 -1
  282. data/rdoc/RubyXL/PrinterSettingsFile.html +1 -1
  283. data/rdoc/RubyXL/ProtectedRange.html +1 -1
  284. data/rdoc/RubyXL/ProtectedRanges.html +1 -1
  285. data/rdoc/RubyXL/Protection.html +1 -1
  286. data/rdoc/RubyXL/RID.html +1 -1
  287. data/rdoc/RubyXL/RawOOXML.html +1 -1
  288. data/rdoc/RubyXL/Reference.html +1 -1
  289. data/rdoc/RubyXL/Relationship.html +1 -1
  290. data/rdoc/RubyXL/RelationshipSupport.html +1 -1
  291. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +1 -1
  292. data/rdoc/RubyXL/RichText.html +1 -1
  293. data/rdoc/RubyXL/RichTextRun.html +1 -1
  294. data/rdoc/RubyXL/Row.html +1 -1
  295. data/rdoc/RubyXL/RowExt.html +1 -1
  296. data/rdoc/RubyXL/RunProperties.html +1 -1
  297. data/rdoc/RubyXL/Scenario.html +1 -1
  298. data/rdoc/RubyXL/Scenarios.html +1 -1
  299. data/rdoc/RubyXL/Selection.html +1 -1
  300. data/rdoc/RubyXL/ShapeGuide.html +1 -1
  301. data/rdoc/RubyXL/ShapeTextRectangle.html +1 -1
  302. data/rdoc/RubyXL/SharedStringsTable.html +1 -1
  303. data/rdoc/RubyXL/Sheet.html +1 -1
  304. data/rdoc/RubyXL/SheetCalculationProperties.html +1 -1
  305. data/rdoc/RubyXL/SheetData.html +1 -1
  306. data/rdoc/RubyXL/SheetDataExt.html +1 -1
  307. data/rdoc/RubyXL/SheetDataSet.html +1 -1
  308. data/rdoc/RubyXL/SheetName.html +1 -1
  309. data/rdoc/RubyXL/SheetNames.html +1 -1
  310. data/rdoc/RubyXL/Sheets.html +1 -1
  311. data/rdoc/RubyXL/SlicerCacheFile.html +1 -1
  312. data/rdoc/RubyXL/SlicerFile.html +1 -1
  313. data/rdoc/RubyXL/SmartTagProperties.html +1 -1
  314. data/rdoc/RubyXL/SmartTagType.html +1 -1
  315. data/rdoc/RubyXL/SmartTagTypes.html +1 -1
  316. data/rdoc/RubyXL/SmartTags.html +1 -1
  317. data/rdoc/RubyXL/SortCondition.html +1 -1
  318. data/rdoc/RubyXL/SortState.html +1 -1
  319. data/rdoc/RubyXL/Sqref.html +1 -1
  320. data/rdoc/RubyXL/Stop.html +1 -1
  321. data/rdoc/RubyXL/StringNode.html +1 -1
  322. data/rdoc/RubyXL/StringNodeW3C.html +1 -1
  323. data/rdoc/RubyXL/StringValue.html +1 -1
  324. data/rdoc/RubyXL/Stylesheet.html +1 -1
  325. data/rdoc/RubyXL/TableFile.html +1 -1
  326. data/rdoc/RubyXL/TableParts.html +1 -1
  327. data/rdoc/RubyXL/TableStyle.html +1 -1
  328. data/rdoc/RubyXL/TableStyles.html +1 -1
  329. data/rdoc/RubyXL/Text.html +1 -1
  330. data/rdoc/RubyXL/Theme.html +1 -1
  331. data/rdoc/RubyXL/ThemeElements.html +1 -1
  332. data/rdoc/RubyXL/ThumbnailFile.html +1 -1
  333. data/rdoc/RubyXL/Top10.html +1 -1
  334. data/rdoc/RubyXL/VMLDrawingFile.html +1 -1
  335. data/rdoc/RubyXL/Variant.html +1 -1
  336. data/rdoc/RubyXL/Vector.html +1 -1
  337. data/rdoc/RubyXL/VectorValue.html +1 -1
  338. data/rdoc/RubyXL/VisualProperties.html +1 -1
  339. data/rdoc/RubyXL/WebPublishObject.html +1 -1
  340. data/rdoc/RubyXL/WebPublishObjects.html +1 -1
  341. data/rdoc/RubyXL/WebPublishingItem.html +1 -1
  342. data/rdoc/RubyXL/WebPublishingItems.html +1 -1
  343. data/rdoc/RubyXL/WebPublishingProperties.html +1 -1
  344. data/rdoc/RubyXL/Workbook.html +1 -1
  345. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +1 -1
  346. data/rdoc/RubyXL/WorkbookProperties.html +1 -1
  347. data/rdoc/RubyXL/WorkbookProtection.html +1 -1
  348. data/rdoc/RubyXL/WorkbookRoot.html +2 -2
  349. data/rdoc/RubyXL/WorkbookView.html +1 -1
  350. data/rdoc/RubyXL/WorkbookViews.html +1 -1
  351. data/rdoc/RubyXL/Worksheet.html +1 -1
  352. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +591 -58
  353. data/rdoc/RubyXL/WorksheetDimensions.html +1 -1
  354. data/rdoc/RubyXL/WorksheetFormatProperties.html +1 -1
  355. data/rdoc/RubyXL/WorksheetProperties.html +1 -1
  356. data/rdoc/RubyXL/WorksheetProtection.html +1 -1
  357. data/rdoc/RubyXL/WorksheetView.html +1 -1
  358. data/rdoc/RubyXL/WorksheetViews.html +1 -1
  359. data/rdoc/RubyXL/XF.html +1 -1
  360. data/rdoc/created.rid +8 -8
  361. data/rdoc/index.html +2 -2
  362. data/rdoc/js/navigation.js.gz +0 -0
  363. data/rdoc/js/search_index.js +1 -1
  364. data/rdoc/js/search_index.js.gz +0 -0
  365. data/rdoc/js/searcher.js.gz +0 -0
  366. data/rdoc/table_of_contents.html +188 -153
  367. data/rubyXL.gemspec +2 -2
  368. metadata +3 -3
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.3.14
1
+ 3.3.15
@@ -183,6 +183,13 @@ module RubyXL
183
183
 
184
184
 
185
185
  module WorksheetConvenienceMethods
186
+ NAME = 0
187
+ SIZE = 1
188
+ COLOR = 2
189
+ ITALICS = 3
190
+ BOLD = 4
191
+ UNDERLINE = 5
192
+ STRIKETHROUGH = 6
186
193
 
187
194
  def insert_cell(row = 0, col = 0, data = nil, formula = nil, shift = nil)
188
195
  validate_workbook
@@ -232,6 +239,109 @@ module RubyXL
232
239
  return old_cell
233
240
  end
234
241
 
242
+ # Inserts row at row_index, pushes down, copies style from the row above (that's what Excel 2013 does!)
243
+ # NOTE: use of this method will break formulas which reference cells which are being "pushed down"
244
+ def insert_row(row_index = 0)
245
+ validate_workbook
246
+ ensure_cell_exists(row_index)
247
+
248
+ old_row = new_cells = nil
249
+
250
+ if row_index > 0 then
251
+ old_row = sheet_data.rows[row_index - 1]
252
+ if old_row then
253
+ new_cells = old_row.cells.collect { |c|
254
+ if c.nil? then nil
255
+ else nc = RubyXL::Cell.new(:style_index => c.style_index)
256
+ nc.worksheet = self
257
+ nc
258
+ end
259
+ }
260
+ end
261
+ end
262
+
263
+ row0 = sheet_data.rows[0]
264
+ new_cells ||= Array.new((row0 && row0.cells.size) || 0)
265
+
266
+ sheet_data.rows.insert(row_index, nil)
267
+ new_row = add_row(row_index, :cells => new_cells, :style_index => old_row && old_row.style_index)
268
+
269
+ # Update row values for all rows below
270
+ row_index.upto(sheet_data.rows.size - 1) { |i|
271
+ row = sheet_data.rows[i]
272
+ next if row.nil?
273
+ row.cells.each { |c| c.row = i unless c.nil? }
274
+ }
275
+
276
+ return new_row
277
+ end
278
+
279
+ def delete_row(row_index=0)
280
+ validate_workbook
281
+ validate_nonnegative(row_index)
282
+
283
+ deleted = sheet_data.rows.delete_at(row_index)
284
+
285
+ # Update row number of each cell
286
+ row_index.upto(sheet_data.size - 1) { |index|
287
+ row = sheet_data[index]
288
+ row && row.cells.each{ |c| c.row -= 1 unless c.nil? }
289
+ }
290
+
291
+ return deleted
292
+ end
293
+
294
+ # Inserts column at +column_index+, pushes everything right, takes styles from column to left
295
+ # NOTE: use of this method will break formulas which reference cells which are being "pushed right"
296
+ def insert_column(column_index = 0)
297
+ validate_workbook
298
+ ensure_cell_exists(0, column_index)
299
+
300
+ old_range = cols.get_range(column_index)
301
+
302
+ #go through each cell in column
303
+ sheet_data.rows.each_with_index { |row, row_index|
304
+ old_cell = row[column_index]
305
+ c = nil
306
+
307
+ if old_cell && old_cell.style_index != 0 &&
308
+ old_range && old_range.style_index != old_cell.style_index then
309
+
310
+ c = RubyXL::Cell.new(:style_index => old_cell.style_index, :worksheet => self,
311
+ :row => row_index, :column => column_index,
312
+ :datatype => RubyXL::DataType::SHARED_STRING)
313
+ end
314
+
315
+ row.insert_cell_shift_right(c, column_index)
316
+ }
317
+
318
+ cols.insert_column(column_index)
319
+
320
+ # TODO: update column numbers
321
+ end
322
+
323
+ def delete_column(column_index = 0)
324
+ validate_workbook
325
+ validate_nonnegative(column_index)
326
+
327
+ #delete column
328
+ sheet_data.rows.each { |row| row.cells.delete_at(column_index) }
329
+
330
+ # Change column numbers for cells to the right of the deleted column
331
+ sheet_data.rows.each_with_index { |row, row_index|
332
+ row.cells.each_with_index { |c, column_index|
333
+ c.column = column_index if c.is_a?(Cell)
334
+ }
335
+ }
336
+
337
+ cols.each { |range| range.delete_column(column_index) }
338
+ end
339
+
340
+ def get_row_style(row_index)
341
+ row = sheet_data.rows[row_index]
342
+ (row && row.style_index) || 0
343
+ end
344
+
235
345
  def get_row_fill(row = 0)
236
346
  (row = sheet_data.rows[row]) && row.get_fill_color
237
347
  end
@@ -275,15 +385,17 @@ module RubyXL
275
385
 
276
386
  def get_row_border(row, border_direction)
277
387
  validate_workbook
278
- validate_nonnegative(row)
279
388
 
280
389
  border = @workbook.borders[get_row_xf(row).border_id]
281
390
  border && border.get_edge_style(border_direction)
282
391
  end
283
392
 
393
+ def row_font(row)
394
+ (row = sheet_data.rows[row]) && row.get_font
395
+ end
396
+
284
397
  def get_row_alignment(row, is_horizontal)
285
398
  validate_workbook
286
- validate_nonnegative(row)
287
399
 
288
400
  xf_obj = get_row_xf(row)
289
401
  return nil if xf_obj.alignment.nil?
@@ -303,6 +415,12 @@ module RubyXL
303
415
  return get_row_alignment(row, false)
304
416
  end
305
417
 
418
+ def get_cols_style_index(column_index)
419
+ validate_nonnegative(column_index)
420
+ range = cols.locate_range(column_index)
421
+ (range && range.style_index) || 0
422
+ end
423
+
306
424
  def get_column_font_name(col = 0)
307
425
  font = column_font(col)
308
426
  font && font.get_name
@@ -355,6 +473,12 @@ module RubyXL
355
473
  (width - (5.0 / RubyXL::Font::MAX_DIGIT_WIDTH)).round
356
474
  end
357
475
 
476
+ # Helper method to get the style index for a column
477
+ def get_col_style(column_index)
478
+ range = cols.locate_range(column_index)
479
+ (range && range.style_index) || 0
480
+ end
481
+
358
482
  def get_column_fill(col=0)
359
483
  validate_workbook
360
484
  validate_nonnegative(col)
@@ -364,16 +488,20 @@ module RubyXL
364
488
 
365
489
  def get_column_border(col, border_direction)
366
490
  validate_workbook
367
- validate_nonnegative(col)
368
491
 
369
492
  xf = @workbook.cell_xfs[get_cols_style_index(col)]
370
493
  border = @workbook.borders[xf.border_id]
371
494
  border && border.get_edge_style(border_direction)
372
495
  end
373
496
 
497
+ def column_font(col)
498
+ validate_workbook
499
+
500
+ @workbook.fonts[@workbook.cell_xfs[get_cols_style_index(col)].font_id]
501
+ end
502
+
374
503
  def get_column_alignment(col, type)
375
504
  validate_workbook
376
- validate_nonnegative(col)
377
505
 
378
506
  xf = @workbook.cell_xfs[get_cols_style_index(col)]
379
507
  xf.alignment && xf.alignment.send(type)
@@ -411,6 +539,19 @@ module RubyXL
411
539
  sheet_data[row_index].cells.each { |c| c.change_fill(rgb) unless c.nil? }
412
540
  end
413
541
 
542
+ # Helper method to update the row styles array
543
+ # change_type - NAME or SIZE or COLOR etc
544
+ # main method to change font, called from each separate font mutator method
545
+ def change_row_font(row_index, change_type, arg, font)
546
+ validate_workbook
547
+ ensure_cell_exists(row_index)
548
+
549
+ xf = workbook.register_new_font(font, get_row_xf(row_index))
550
+ row = sheet_data[row_index]
551
+ row.style_index = workbook.register_new_xf(xf)
552
+ row.cells.each { |c| c.font_switch(change_type, arg) unless c.nil? }
553
+ end
554
+
414
555
  def change_row_font_name(row = 0, font_name = 'Verdana')
415
556
  ensure_cell_exists(row)
416
557
  font = row_font(row).dup
@@ -470,6 +611,21 @@ module RubyXL
470
611
  c.custom_height = true
471
612
  end
472
613
 
614
+ # Helper method to update the fonts and cell styles array
615
+ # main method to change font, called from each separate font mutator method
616
+ def change_column_font(column_index, change_type, arg, font, xf)
617
+ validate_workbook
618
+ ensure_cell_exists(0, column_index)
619
+
620
+ xf = workbook.register_new_font(font, xf)
621
+ cols.get_range(column_index).style_index = workbook.register_new_xf(xf)
622
+
623
+ sheet_data.rows.each { |row|
624
+ c = row && row[column_index]
625
+ c.font_switch(change_type, arg) unless c.nil?
626
+ }
627
+ end
628
+
473
629
  def change_column_font_name(column_index = 0, font_name = 'Verdana')
474
630
  xf = get_col_xf(column_index)
475
631
  font = @workbook.fonts[xf.font_id].dup
@@ -443,9 +443,10 @@ module RubyXL
443
443
  # * +zipfile+ - ::Zip::File to which the resulting XNMML should be added.
444
444
  def add_to_zip(zip_stream)
445
445
  xml_string = write_xml
446
- return if xml_string.empty?
446
+ return false if xml_string.empty?
447
447
  zip_stream.put_next_entry(RubyXL::from_root(self.xlsx_path))
448
448
  zip_stream.write(xml_string)
449
+ true
449
450
  end
450
451
 
451
452
  def file_index
@@ -46,7 +46,7 @@ module RubyXL
46
46
 
47
47
  self.rels_hash.keys.sort_by{ |c| c::SAVE_ORDER }.each { |klass|
48
48
  puts "<-- DEBUG: saving related #{klass} files" if @@debug
49
- self.rels_hash[klass].each { |obj|
49
+ self.rels_hash[klass].select! { |obj|
50
50
  puts "<-- DEBUG: > #{obj.xlsx_path}" if @@debug
51
51
  obj.add_to_zip(zipstream)
52
52
  }
@@ -16,9 +16,10 @@ module RubyXL
16
16
  end
17
17
 
18
18
  def add_to_zip(zip_stream)
19
- return if @data.nil?
19
+ return false if @data.nil?
20
20
  zip_stream.put_next_entry(RubyXL::from_root(self.xlsx_path))
21
21
  zip_stream.write(@data)
22
+ true
22
23
  end
23
24
  end
24
25
 
@@ -189,11 +189,11 @@ module RubyXL
189
189
 
190
190
  # http://www.schemacentral.com/sc/ooxml/e-ssml_iconSet-1.html
191
191
  class IconSet < OOXMLObject
192
- define_attribute(:type, RubyXL::ST_IconSetType, :required => true, :default => '3TrafficLights1')
193
- define_attribute(:showValue, :bool, :default => true)
194
- define_attribute(:percent, :bool, :default => true)
195
- define_attribute(:reverse, :bool, :default => false)
196
- define_child_node(RubyXL::ConditionalFormatValue, :collection => true, :accessor => :cfvo)
192
+ define_attribute(:iconSet, RubyXL::ST_IconSetType, :default => '3TrafficLights1')
193
+ define_attribute(:showValue, :bool, :default => true)
194
+ define_attribute(:percent, :bool, :default => true)
195
+ define_attribute(:reverse, :bool, :default => false)
196
+ define_child_node(RubyXL::ConditionalFormatValue, :collection => [2..-1], :accessor => :cfvo)
197
197
  define_element_name 'iconSet'
198
198
  end
199
199
 
@@ -107,124 +107,8 @@ module LegacyWorksheet
107
107
  c
108
108
  end
109
109
 
110
- def delete_row(row_index=0)
111
- validate_workbook
112
- validate_nonnegative(row_index)
113
-
114
- deleted = sheet_data.rows.delete_at(row_index)
115
-
116
- # Change cell row numbers
117
- row_index.upto(sheet_data.size - 1) { |index|
118
- sheet_data[index].cells.each{ |c| c.row -= 1 unless c.nil? }
119
- }
120
-
121
- return deleted
122
- end
123
-
124
- # Inserts row at row_index, pushes down, copies style from the row above (that's what Excel 2013 does!)
125
- # NOTE: use of this method will break formulas which reference cells which are being "pushed down"
126
- def insert_row(row_index = 0)
127
- validate_workbook
128
- ensure_cell_exists(row_index)
129
-
130
- old_row = new_cells = nil
131
-
132
- if row_index > 0 then
133
- old_row = sheet_data.rows[row_index - 1]
134
- if old_row then
135
- new_cells = old_row.cells.collect { |c|
136
- if c.nil? then nil
137
- else nc = RubyXL::Cell.new(:style_index => c.style_index)
138
- nc.worksheet = self
139
- nc
140
- end
141
- }
142
- end
143
- end
144
-
145
- row0 = sheet_data.rows[0]
146
- new_cells ||= Array.new((row0 && row0.cells.size) || 0)
147
-
148
- sheet_data.rows.insert(row_index, nil)
149
- new_row = add_row(row_index, :cells => new_cells, :style_index => old_row && old_row.style_index)
150
-
151
- # Update row values for all rows below
152
- row_index.upto(sheet_data.rows.size - 1) { |i|
153
- row = sheet_data.rows[i]
154
- next if row.nil?
155
- row.cells.each { |c| c.row = i unless c.nil? }
156
- }
157
-
158
- return new_row
159
- end
160
-
161
- def delete_column(column_index = 0)
162
- validate_workbook
163
- validate_nonnegative(column_index)
164
-
165
- #delete column
166
- sheet_data.rows.each { |row| row.cells.delete_at(column_index) }
167
-
168
- # Change column numbers for cells to the right of the deleted column
169
- sheet_data.rows.each_with_index { |row, row_index|
170
- row.cells.each_with_index { |c, column_index|
171
- c.column = column_index if c.is_a?(Cell)
172
- }
173
- }
174
-
175
- cols.each { |range| range.delete_column(column_index) }
176
- end
177
-
178
- # Inserts column at +column_index+, pushes everything right, takes styles from column to left
179
- # NOTE: use of this method will break formulas which reference cells which are being "pushed right"
180
- def insert_column(column_index = 0)
181
- validate_workbook
182
- ensure_cell_exists(0, column_index)
183
-
184
- old_range = cols.get_range(column_index)
185
-
186
- #go through each cell in column
187
- sheet_data.rows.each_with_index { |row, row_index|
188
- old_cell = row[column_index]
189
- c = nil
190
-
191
- if old_cell && old_cell.style_index != 0 &&
192
- old_range && old_range.style_index != old_cell.style_index then
193
-
194
- c = RubyXL::Cell.new(:style_index => old_cell.style_index, :worksheet => self,
195
- :row => row_index, :column => column_index,
196
- :datatype => RubyXL::DataType::SHARED_STRING)
197
- end
198
-
199
- row.insert_cell_shift_right(c, column_index)
200
- }
201
-
202
- cols.insert_column(column_index)
203
-
204
- # TODO: update column numbers
205
- end
206
-
207
110
  private
208
111
 
209
- NAME = 0
210
- SIZE = 1
211
- COLOR = 2
212
- ITALICS = 3
213
- BOLD = 4
214
- UNDERLINE = 5
215
- STRIKETHROUGH = 6
216
-
217
- def row_font(row)
218
- (row = sheet_data.rows[row]) && row.get_font
219
- end
220
-
221
- def column_font(col)
222
- validate_workbook
223
- validate_nonnegative(col)
224
-
225
- @workbook.fonts[@workbook.cell_xfs[get_cols_style_index(col)].font_id]
226
- end
227
-
228
112
  #validates Workbook, ensures that this worksheet is in @workbook
229
113
  def validate_workbook()
230
114
  unless @workbook.nil? || @workbook.worksheets.nil?
@@ -234,39 +118,6 @@ module LegacyWorksheet
234
118
  raise "This worksheet #{self} is not in workbook #{@workbook}"
235
119
  end
236
120
 
237
- def get_cols_style_index(column_index)
238
- range = cols.locate_range(column_index)
239
- (range && range.style_index) || 0
240
- end
241
-
242
- # Helper method to update the row styles array
243
- # change_type - NAME or SIZE or COLOR etc
244
- # main method to change font, called from each separate font mutator method
245
- def change_row_font(row_index, change_type, arg, font)
246
- validate_workbook
247
- ensure_cell_exists(row_index)
248
-
249
- xf = workbook.register_new_font(font, get_row_xf(row_index))
250
- row = sheet_data[row_index]
251
- row.style_index = workbook.register_new_xf(xf)
252
- row.cells.each { |c| c.font_switch(change_type, arg) unless c.nil? }
253
- end
254
-
255
- # Helper method to update the fonts and cell styles array
256
- # main method to change font, called from each separate font mutator method
257
- def change_column_font(column_index, change_type, arg, font, xf)
258
- validate_workbook
259
- ensure_cell_exists(0, column_index)
260
-
261
- xf = workbook.register_new_font(font, xf)
262
- cols.get_range(column_index).style_index = workbook.register_new_xf(xf)
263
-
264
- sheet_data.rows.each { |row|
265
- c = row && row[column_index]
266
- c.font_switch(change_type, arg) unless c.nil?
267
- }
268
- end
269
-
270
121
  # Ensures that cell with +row_index+ and +column_index+ exists in
271
122
  # +sheet_data+ arrays, growing them up if necessary.
272
123
  def ensure_cell_exists(row_index, column_index = 0)
@@ -276,22 +127,12 @@ module LegacyWorksheet
276
127
  row = sheet_data.rows[row_index] || add_row(row_index)
277
128
  end
278
129
 
279
- # Helper method to get the style index for a column
280
- def get_col_style(column_index)
281
- range = cols.locate_range(column_index)
282
- (range && range.style_index) || 0
283
- end
284
-
285
- def get_row_style(row_index)
286
- row = sheet_data.rows[row_index]
287
- (row && row.style_index) || 0
288
- end
289
-
290
130
  def get_col_xf(column_index)
291
131
  @workbook.cell_xfs[get_col_style(column_index)]
292
132
  end
293
133
 
294
134
  def get_row_xf(row)
135
+ validate_nonnegative(row)
295
136
  @workbook.cell_xfs[get_row_style(row)]
296
137
  end
297
138