rubyXL 3.4.16 → 3.4.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (410) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/Gemfile.lock +75 -43
  4. data/README.rdoc +6 -3
  5. data/Rakefile +3 -3
  6. data/VERSION +1 -1
  7. data/lib/rubyXL/convenience_methods/worksheet.rb +65 -0
  8. data/lib/rubyXL/objects/font.rb +1 -1
  9. data/lib/rubyXL/objects/ooxml_object.rb +7 -5
  10. data/lib/rubyXL/objects/reference.rb +2 -5
  11. data/lib/rubyXL/objects/sheet_data.rb +2 -1
  12. data/lib/rubyXL/objects/simple_types.rb +2 -0
  13. data/lib/rubyXL/objects/text.rb +2 -1
  14. data/rdoc/README_rdoc.html +14 -13
  15. data/rdoc/RubyXL/AExtension.html +9 -51
  16. data/rdoc/RubyXL/AExtensionStorageArea.html +5 -14
  17. data/rdoc/RubyXL/ActiveX.html +10 -41
  18. data/rdoc/RubyXL/ActiveXBinary.html +5 -19
  19. data/rdoc/RubyXL/AdjustHandleList.html +5 -14
  20. data/rdoc/RubyXL/Alignment.html +5 -14
  21. data/rdoc/RubyXL/AlternateContent.html +5 -14
  22. data/rdoc/RubyXL/Authors.html +5 -14
  23. data/rdoc/RubyXL/AutoFilter.html +5 -14
  24. data/rdoc/RubyXL/AutoFilterColumn.html +5 -14
  25. data/rdoc/RubyXL/BinaryImageFile.html +5 -22
  26. data/rdoc/RubyXL/BodyProperties.html +5 -14
  27. data/rdoc/RubyXL/BooleanNode.html +5 -14
  28. data/rdoc/RubyXL/BooleanValue.html +5 -14
  29. data/rdoc/RubyXL/Border.html +8 -70
  30. data/rdoc/RubyXL/BorderEdge.html +8 -44
  31. data/rdoc/RubyXL/Borders.html +8 -31
  32. data/rdoc/RubyXL/Break.html +5 -14
  33. data/rdoc/RubyXL/BreakList.html +5 -14
  34. data/rdoc/RubyXL/CT_AdjPoint2D.html +5 -14
  35. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +5 -14
  36. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +5 -14
  37. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +5 -14
  38. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +5 -14
  39. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +5 -14
  40. data/rdoc/RubyXL/CT_Backdrop.html +5 -14
  41. data/rdoc/RubyXL/CT_Bevel.html +5 -14
  42. data/rdoc/RubyXL/CT_BiLevelEffect.html +5 -14
  43. data/rdoc/RubyXL/CT_BlendEffect.html +5 -14
  44. data/rdoc/RubyXL/CT_Blip.html +5 -14
  45. data/rdoc/RubyXL/CT_BlipFillProperties.html +5 -14
  46. data/rdoc/RubyXL/CT_BlurEffect.html +5 -14
  47. data/rdoc/RubyXL/CT_Camera.html +5 -14
  48. data/rdoc/RubyXL/CT_Color.html +5 -14
  49. data/rdoc/RubyXL/CT_ColorChangeEffect.html +5 -14
  50. data/rdoc/RubyXL/CT_ColorMapping.html +5 -14
  51. data/rdoc/RubyXL/CT_ColorScheme.html +5 -14
  52. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +5 -14
  53. data/rdoc/RubyXL/CT_ConnectionSite.html +5 -14
  54. data/rdoc/RubyXL/CT_ConnectionSiteList.html +5 -14
  55. data/rdoc/RubyXL/CT_DashStop.html +5 -14
  56. data/rdoc/RubyXL/CT_DashStopList.html +5 -14
  57. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +5 -14
  58. data/rdoc/RubyXL/CT_DuotoneEffect.html +5 -14
  59. data/rdoc/RubyXL/CT_EffectContainer.html +5 -14
  60. data/rdoc/RubyXL/CT_EffectList.html +5 -14
  61. data/rdoc/RubyXL/CT_EffectReference.html +5 -14
  62. data/rdoc/RubyXL/CT_EffectStyleItem.html +5 -14
  63. data/rdoc/RubyXL/CT_EffectStyleList.html +5 -14
  64. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +5 -14
  65. data/rdoc/RubyXL/CT_FillEffect.html +5 -14
  66. data/rdoc/RubyXL/CT_FillOverlayEffect.html +5 -14
  67. data/rdoc/RubyXL/CT_FillStyleList.html +5 -14
  68. data/rdoc/RubyXL/CT_FlatText.html +5 -14
  69. data/rdoc/RubyXL/CT_FontCollection.html +5 -14
  70. data/rdoc/RubyXL/CT_FontReference.html +5 -14
  71. data/rdoc/RubyXL/CT_GeomGuideList.html +5 -14
  72. data/rdoc/RubyXL/CT_GlowEffect.html +5 -14
  73. data/rdoc/RubyXL/CT_GradientFillProperties.html +5 -14
  74. data/rdoc/RubyXL/CT_GradientStop.html +5 -14
  75. data/rdoc/RubyXL/CT_GradientStopList.html +5 -14
  76. data/rdoc/RubyXL/CT_HSLEffect.html +5 -14
  77. data/rdoc/RubyXL/CT_HslColor.html +5 -14
  78. data/rdoc/RubyXL/CT_Hyperlink.html +5 -14
  79. data/rdoc/RubyXL/CT_InnerShadowEffect.html +5 -14
  80. data/rdoc/RubyXL/CT_LightRig.html +5 -14
  81. data/rdoc/RubyXL/CT_LineEndProperties.html +5 -14
  82. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +5 -14
  83. data/rdoc/RubyXL/CT_LineProperties.html +5 -14
  84. data/rdoc/RubyXL/CT_LineStyleList.html +5 -14
  85. data/rdoc/RubyXL/CT_LinearShadeProperties.html +5 -14
  86. data/rdoc/RubyXL/CT_LuminanceEffect.html +5 -14
  87. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +5 -14
  88. data/rdoc/RubyXL/CT_OuterShadowEffect.html +5 -14
  89. data/rdoc/RubyXL/CT_Path2D.html +5 -14
  90. data/rdoc/RubyXL/CT_Path2DArcTo.html +5 -14
  91. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +5 -14
  92. data/rdoc/RubyXL/CT_Path2DList.html +5 -14
  93. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +5 -14
  94. data/rdoc/RubyXL/CT_Path2DTo.html +5 -14
  95. data/rdoc/RubyXL/CT_PathShadeProperties.html +5 -14
  96. data/rdoc/RubyXL/CT_PatternFillProperties.html +5 -14
  97. data/rdoc/RubyXL/CT_Point3D.html +5 -14
  98. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +5 -14
  99. data/rdoc/RubyXL/CT_PresetColor.html +5 -14
  100. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +5 -14
  101. data/rdoc/RubyXL/CT_PresetShadowEffect.html +5 -14
  102. data/rdoc/RubyXL/CT_PresetTextShape.html +5 -14
  103. data/rdoc/RubyXL/CT_ReflectionEffect.html +5 -14
  104. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +5 -14
  105. data/rdoc/RubyXL/CT_RelativeRect.html +5 -14
  106. data/rdoc/RubyXL/CT_SRgbColor.html +5 -14
  107. data/rdoc/RubyXL/CT_ScRgbColor.html +5 -14
  108. data/rdoc/RubyXL/CT_Scene3D.html +5 -14
  109. data/rdoc/RubyXL/CT_SchemeColor.html +5 -14
  110. data/rdoc/RubyXL/CT_Shape3D.html +5 -14
  111. data/rdoc/RubyXL/CT_ShapeStyle.html +5 -14
  112. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +5 -14
  113. data/rdoc/RubyXL/CT_SphereCoords.html +5 -14
  114. data/rdoc/RubyXL/CT_StretchInfoProperties.html +5 -14
  115. data/rdoc/RubyXL/CT_StyleMatrix.html +5 -14
  116. data/rdoc/RubyXL/CT_StyleMatrixReference.html +5 -14
  117. data/rdoc/RubyXL/CT_SupplementalFont.html +5 -14
  118. data/rdoc/RubyXL/CT_SystemColor.html +5 -14
  119. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +5 -14
  120. data/rdoc/RubyXL/CT_TextBlipBullet.html +5 -14
  121. data/rdoc/RubyXL/CT_TextCharBullet.html +5 -14
  122. data/rdoc/RubyXL/CT_TextCharacterProperties.html +5 -14
  123. data/rdoc/RubyXL/CT_TextFont.html +5 -14
  124. data/rdoc/RubyXL/CT_TextListStyle.html +5 -14
  125. data/rdoc/RubyXL/CT_TextNormalAutofit.html +5 -14
  126. data/rdoc/RubyXL/CT_TextParagraphProperties.html +5 -14
  127. data/rdoc/RubyXL/CT_TextSpacing.html +5 -14
  128. data/rdoc/RubyXL/CT_TextTabStop.html +5 -14
  129. data/rdoc/RubyXL/CT_TextTabStopList.html +5 -14
  130. data/rdoc/RubyXL/CT_TileInfoProperties.html +5 -14
  131. data/rdoc/RubyXL/CT_TintEffect.html +5 -14
  132. data/rdoc/RubyXL/CT_Transform2D.html +5 -14
  133. data/rdoc/RubyXL/CT_TransformEffect.html +5 -14
  134. data/rdoc/RubyXL/CT_Vector3D.html +5 -14
  135. data/rdoc/RubyXL/CT_XYAdjustHandle.html +5 -14
  136. data/rdoc/RubyXL/CalculationChain.html +8 -39
  137. data/rdoc/RubyXL/CalculationChainCell.html +5 -14
  138. data/rdoc/RubyXL/CalculationProperties.html +5 -14
  139. data/rdoc/RubyXL/Cell.html +13 -217
  140. data/rdoc/RubyXL/CellConvenienceMethods.html +6 -457
  141. data/rdoc/RubyXL/CellExt.html +5 -14
  142. data/rdoc/RubyXL/CellSmartTag.html +5 -14
  143. data/rdoc/RubyXL/CellSmartTagProperty.html +5 -14
  144. data/rdoc/RubyXL/CellSmartTags.html +5 -14
  145. data/rdoc/RubyXL/CellStyle.html +5 -14
  146. data/rdoc/RubyXL/CellStyleXFs.html +8 -31
  147. data/rdoc/RubyXL/CellStyles.html +8 -31
  148. data/rdoc/RubyXL/CellValue.html +8 -31
  149. data/rdoc/RubyXL/CellWatch.html +5 -14
  150. data/rdoc/RubyXL/CellWatches.html +5 -14
  151. data/rdoc/RubyXL/CellXFs.html +8 -31
  152. data/rdoc/RubyXL/ChartColorsFile.html +5 -22
  153. data/rdoc/RubyXL/ChartFile.html +10 -44
  154. data/rdoc/RubyXL/ChartStyleFile.html +5 -22
  155. data/rdoc/RubyXL/ChartUserShapesFile.html +5 -22
  156. data/rdoc/RubyXL/Chartsheet.html +10 -61
  157. data/rdoc/RubyXL/ChartsheetPageSetup.html +5 -14
  158. data/rdoc/RubyXL/ChartsheetProperties.html +5 -14
  159. data/rdoc/RubyXL/ChartsheetProtection.html +5 -14
  160. data/rdoc/RubyXL/ChartsheetView.html +5 -14
  161. data/rdoc/RubyXL/ChartsheetViews.html +5 -14
  162. data/rdoc/RubyXL/Color.html +9 -37
  163. data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +8 -58
  164. data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +9 -73
  165. data/rdoc/RubyXL/ColorConvenienceClasses.html +3 -11
  166. data/rdoc/RubyXL/ColorConvenienceMethods.html +6 -28
  167. data/rdoc/RubyXL/ColorFilter.html +5 -14
  168. data/rdoc/RubyXL/ColorScale.html +5 -14
  169. data/rdoc/RubyXL/ColorSet.html +5 -14
  170. data/rdoc/RubyXL/Colors.html +5 -14
  171. data/rdoc/RubyXL/ColumnRange.html +8 -62
  172. data/rdoc/RubyXL/ColumnRanges.html +8 -70
  173. data/rdoc/RubyXL/Comment.html +5 -14
  174. data/rdoc/RubyXL/CommentList.html +5 -14
  175. data/rdoc/RubyXL/CommentsFile.html +8 -44
  176. data/rdoc/RubyXL/ConditionalFormatValue.html +5 -14
  177. data/rdoc/RubyXL/ConditionalFormatting.html +5 -14
  178. data/rdoc/RubyXL/ConditionalFormattingRule.html +5 -14
  179. data/rdoc/RubyXL/Connection.html +5 -14
  180. data/rdoc/RubyXL/ConnectionTable.html +5 -14
  181. data/rdoc/RubyXL/ConnectionTables.html +5 -14
  182. data/rdoc/RubyXL/ConnectionTextField.html +5 -14
  183. data/rdoc/RubyXL/ConnectionTextFields.html +5 -14
  184. data/rdoc/RubyXL/Connections.html +8 -39
  185. data/rdoc/RubyXL/ContentTypeDefault.html +5 -14
  186. data/rdoc/RubyXL/ContentTypeOverride.html +5 -14
  187. data/rdoc/RubyXL/ContentTypes.html +8 -52
  188. data/rdoc/RubyXL/ControlPropertiesFile.html +5 -22
  189. data/rdoc/RubyXL/CorePropertiesFile.html +8 -148
  190. data/rdoc/RubyXL/CustomColor.html +5 -14
  191. data/rdoc/RubyXL/CustomColorList.html +5 -14
  192. data/rdoc/RubyXL/CustomFilter.html +5 -14
  193. data/rdoc/RubyXL/CustomFilters.html +5 -14
  194. data/rdoc/RubyXL/CustomGeometry.html +5 -14
  195. data/rdoc/RubyXL/CustomProperties.html +5 -14
  196. data/rdoc/RubyXL/CustomPropertiesFile.html +5 -22
  197. data/rdoc/RubyXL/CustomProperty.html +5 -14
  198. data/rdoc/RubyXL/CustomPropertyFile.html +5 -22
  199. data/rdoc/RubyXL/CustomSheetView.html +5 -14
  200. data/rdoc/RubyXL/CustomSheetViews.html +5 -14
  201. data/rdoc/RubyXL/CustomWorkbookView.html +5 -14
  202. data/rdoc/RubyXL/CustomWorkbookViews.html +5 -14
  203. data/rdoc/RubyXL/CustomXMLFile.html +5 -19
  204. data/rdoc/RubyXL/DXF.html +5 -14
  205. data/rdoc/RubyXL/DXFs.html +5 -14
  206. data/rdoc/RubyXL/DataBar.html +5 -14
  207. data/rdoc/RubyXL/DataConsolidate.html +5 -14
  208. data/rdoc/RubyXL/DataConsolidationReference.html +5 -14
  209. data/rdoc/RubyXL/DataConsolidationReferences.html +5 -14
  210. data/rdoc/RubyXL/DataType.html +3 -34
  211. data/rdoc/RubyXL/DataValidation.html +5 -14
  212. data/rdoc/RubyXL/DataValidations.html +5 -14
  213. data/rdoc/RubyXL/DateGroupItem.html +5 -14
  214. data/rdoc/RubyXL/DefinedName.html +5 -14
  215. data/rdoc/RubyXL/DefinedNameExt.html +5 -14
  216. data/rdoc/RubyXL/DefinedNames.html +5 -14
  217. data/rdoc/RubyXL/DefinedNamesExt.html +5 -14
  218. data/rdoc/RubyXL/DocumentPropertiesFile.html +8 -57
  219. data/rdoc/RubyXL/DrawingFile.html +10 -44
  220. data/rdoc/RubyXL/DynamicFilter.html +5 -14
  221. data/rdoc/RubyXL/EmbeddedControl.html +5 -14
  222. data/rdoc/RubyXL/EmbeddedControls.html +5 -14
  223. data/rdoc/RubyXL/Extension.html +5 -14
  224. data/rdoc/RubyXL/ExtensionStorageArea.html +5 -14
  225. data/rdoc/RubyXL/Extents.html +5 -14
  226. data/rdoc/RubyXL/ExternalBook.html +5 -14
  227. data/rdoc/RubyXL/ExternalLinksFile.html +10 -44
  228. data/rdoc/RubyXL/ExternalReference.html +5 -14
  229. data/rdoc/RubyXL/ExternalReferences.html +5 -14
  230. data/rdoc/RubyXL/ExtraColorSchemeList.html +5 -14
  231. data/rdoc/RubyXL/FieldItem.html +5 -14
  232. data/rdoc/RubyXL/FileRecoveryProperties.html +5 -14
  233. data/rdoc/RubyXL/FileSharing.html +5 -14
  234. data/rdoc/RubyXL/FileVersion.html +5 -14
  235. data/rdoc/RubyXL/Fill.html +8 -31
  236. data/rdoc/RubyXL/Fills.html +8 -31
  237. data/rdoc/RubyXL/FilterContainer.html +5 -14
  238. data/rdoc/RubyXL/FloatNode.html +5 -14
  239. data/rdoc/RubyXL/FloatValue.html +5 -14
  240. data/rdoc/RubyXL/Font.html +9 -37
  241. data/rdoc/RubyXL/FontConvenienceMethods.html +7 -198
  242. data/rdoc/RubyXL/FontScheme.html +5 -14
  243. data/rdoc/RubyXL/Fonts.html +8 -31
  244. data/rdoc/RubyXL/Formula.html +5 -14
  245. data/rdoc/RubyXL/FunctionGroup.html +5 -14
  246. data/rdoc/RubyXL/FunctionGroups.html +5 -14
  247. data/rdoc/RubyXL/GenericStorageObject.html +9 -75
  248. data/rdoc/RubyXL/GradientFill.html +5 -14
  249. data/rdoc/RubyXL/HeaderFooterSettings.html +5 -14
  250. data/rdoc/RubyXL/Hyperlink.html +5 -14
  251. data/rdoc/RubyXL/HyperlinkRelFile.html +5 -19
  252. data/rdoc/RubyXL/Hyperlinks.html +5 -14
  253. data/rdoc/RubyXL/IconFilter.html +5 -14
  254. data/rdoc/RubyXL/IconSet.html +5 -14
  255. data/rdoc/RubyXL/IgnoredError.html +5 -14
  256. data/rdoc/RubyXL/IgnoredErrors.html +5 -14
  257. data/rdoc/RubyXL/IndexedColors.html +5 -14
  258. data/rdoc/RubyXL/InputCells.html +5 -14
  259. data/rdoc/RubyXL/IntegerNode.html +5 -14
  260. data/rdoc/RubyXL/IntegerValue.html +5 -14
  261. data/rdoc/RubyXL/LegacyCell.html +6 -28
  262. data/rdoc/RubyXL/LegacyWorksheet.html +9 -88
  263. data/rdoc/RubyXL/MRUColors.html +5 -14
  264. data/rdoc/RubyXL/MacrosFile.html +5 -22
  265. data/rdoc/RubyXL/MergedCell.html +5 -14
  266. data/rdoc/RubyXL/MergedCells.html +5 -14
  267. data/rdoc/RubyXL/NumFmt.html +5 -14
  268. data/rdoc/RubyXL/NumberFormat.html +8 -31
  269. data/rdoc/RubyXL/NumberFormats.html +8 -36
  270. data/rdoc/RubyXL/OLEObject.html +5 -14
  271. data/rdoc/RubyXL/OLEObjectFile.html +5 -22
  272. data/rdoc/RubyXL/OLEObjects.html +5 -14
  273. data/rdoc/RubyXL/OLESize.html +5 -14
  274. data/rdoc/RubyXL/OOXMLContainerObject.html +19 -116
  275. data/rdoc/RubyXL/OOXMLIgnored.html +9 -46
  276. data/rdoc/RubyXL/OOXMLObject.html +8 -20
  277. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +21 -107
  278. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +23 -145
  279. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +10 -169
  280. data/rdoc/RubyXL/OOXMLTopLevelObject.html +15 -104
  281. data/rdoc/RubyXL/OdbcOleDbProperties.html +5 -14
  282. data/rdoc/RubyXL/Offset.html +5 -14
  283. data/rdoc/RubyXL/OlapProperties.html +5 -14
  284. data/rdoc/RubyXL/OleItem.html +5 -14
  285. data/rdoc/RubyXL/OleItems.html +5 -14
  286. data/rdoc/RubyXL/OleLink.html +5 -14
  287. data/rdoc/RubyXL/OutlineProperties.html +5 -14
  288. data/rdoc/RubyXL/PageMargins.html +5 -14
  289. data/rdoc/RubyXL/PageSetup.html +5 -14
  290. data/rdoc/RubyXL/PageSetupProperties.html +5 -14
  291. data/rdoc/RubyXL/Pane.html +5 -14
  292. data/rdoc/RubyXL/Parser.html +8 -44
  293. data/rdoc/RubyXL/PatternFill.html +5 -14
  294. data/rdoc/RubyXL/PhoneticProperties.html +5 -14
  295. data/rdoc/RubyXL/PhoneticRun.html +5 -14
  296. data/rdoc/RubyXL/PivotArea.html +5 -14
  297. data/rdoc/RubyXL/PivotCache.html +5 -14
  298. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +7 -27
  299. data/rdoc/RubyXL/PivotCacheRecordsFile.html +5 -22
  300. data/rdoc/RubyXL/PivotCaches.html +5 -14
  301. data/rdoc/RubyXL/PivotReference.html +5 -14
  302. data/rdoc/RubyXL/PivotReferences.html +5 -14
  303. data/rdoc/RubyXL/PivotTableFile.html +7 -27
  304. data/rdoc/RubyXL/PivotTableSelection.html +5 -14
  305. data/rdoc/RubyXL/PresetGeometry.html +5 -14
  306. data/rdoc/RubyXL/PrintOptions.html +5 -14
  307. data/rdoc/RubyXL/PrinterSettingsFile.html +5 -22
  308. data/rdoc/RubyXL/ProtectedRange.html +5 -14
  309. data/rdoc/RubyXL/ProtectedRanges.html +5 -14
  310. data/rdoc/RubyXL/Protection.html +5 -14
  311. data/rdoc/RubyXL/QueryParameter.html +5 -14
  312. data/rdoc/RubyXL/QueryParameters.html +5 -14
  313. data/rdoc/RubyXL/QueryTable.html +10 -44
  314. data/rdoc/RubyXL/QueryTableDeletedField.html +5 -14
  315. data/rdoc/RubyXL/QueryTableDeletedFields.html +5 -14
  316. data/rdoc/RubyXL/QueryTableField.html +5 -14
  317. data/rdoc/RubyXL/QueryTableFields.html +5 -14
  318. data/rdoc/RubyXL/QueryTableRefresh.html +5 -14
  319. data/rdoc/RubyXL/RID.html +5 -14
  320. data/rdoc/RubyXL/RawOOXML.html +9 -51
  321. data/rdoc/RubyXL/Reference.html +11 -197
  322. data/rdoc/RubyXL/Relationship.html +5 -14
  323. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +6 -28
  324. data/rdoc/RubyXL/RelationshipSupport.html +9 -108
  325. data/rdoc/RubyXL/RevisionPointer.html +5 -14
  326. data/rdoc/RubyXL/RichText.html +10 -32
  327. data/rdoc/RubyXL/RichTextRun.html +8 -31
  328. data/rdoc/RubyXL/Row.html +17 -154
  329. data/rdoc/RubyXL/RowExt.html +5 -14
  330. data/rdoc/RubyXL/RunProperties.html +5 -14
  331. data/rdoc/RubyXL/Scenario.html +5 -14
  332. data/rdoc/RubyXL/Scenarios.html +5 -14
  333. data/rdoc/RubyXL/Selection.html +8 -31
  334. data/rdoc/RubyXL/ShapeGuide.html +5 -14
  335. data/rdoc/RubyXL/ShapeTextRectangle.html +5 -14
  336. data/rdoc/RubyXL/SharedStringsTable.html +9 -121
  337. data/rdoc/RubyXL/Sheet.html +5 -14
  338. data/rdoc/RubyXL/SheetCalculationProperties.html +5 -14
  339. data/rdoc/RubyXL/SheetData.html +10 -46
  340. data/rdoc/RubyXL/SheetDataExt.html +5 -14
  341. data/rdoc/RubyXL/SheetDataSet.html +5 -14
  342. data/rdoc/RubyXL/SheetName.html +5 -14
  343. data/rdoc/RubyXL/SheetNames.html +5 -14
  344. data/rdoc/RubyXL/Sheets.html +5 -14
  345. data/rdoc/RubyXL/SlicerCacheFile.html +5 -22
  346. data/rdoc/RubyXL/SlicerFile.html +5 -22
  347. data/rdoc/RubyXL/SmartTagProperties.html +5 -14
  348. data/rdoc/RubyXL/SmartTagType.html +5 -14
  349. data/rdoc/RubyXL/SmartTagTypes.html +5 -14
  350. data/rdoc/RubyXL/SmartTags.html +5 -14
  351. data/rdoc/RubyXL/SortCondition.html +5 -14
  352. data/rdoc/RubyXL/SortState.html +5 -14
  353. data/rdoc/RubyXL/Sqref.html +11 -48
  354. data/rdoc/RubyXL/Stop.html +5 -14
  355. data/rdoc/RubyXL/StringNode.html +5 -14
  356. data/rdoc/RubyXL/StringNodeW3C.html +9 -46
  357. data/rdoc/RubyXL/StringValue.html +5 -14
  358. data/rdoc/RubyXL/Stylesheet.html +9 -94
  359. data/rdoc/RubyXL/TableFile.html +5 -22
  360. data/rdoc/RubyXL/TableParts.html +5 -14
  361. data/rdoc/RubyXL/TableStyle.html +5 -14
  362. data/rdoc/RubyXL/TableStyles.html +5 -14
  363. data/rdoc/RubyXL/Text.html +8 -52
  364. data/rdoc/RubyXL/TextImportSettings.html +5 -14
  365. data/rdoc/RubyXL/Theme.html +9 -67
  366. data/rdoc/RubyXL/ThemeElements.html +5 -14
  367. data/rdoc/RubyXL/ThumbnailFile.html +5 -22
  368. data/rdoc/RubyXL/Top10.html +5 -14
  369. data/rdoc/RubyXL/VMLDrawingFile.html +8 -28
  370. data/rdoc/RubyXL/Variant.html +5 -14
  371. data/rdoc/RubyXL/Vector.html +8 -31
  372. data/rdoc/RubyXL/VectorValue.html +5 -14
  373. data/rdoc/RubyXL/VisualProperties.html +5 -14
  374. data/rdoc/RubyXL/WebPublishObject.html +5 -14
  375. data/rdoc/RubyXL/WebPublishObjects.html +5 -14
  376. data/rdoc/RubyXL/WebPublishingItem.html +5 -14
  377. data/rdoc/RubyXL/WebPublishingItems.html +5 -14
  378. data/rdoc/RubyXL/WebPublishingProperties.html +5 -14
  379. data/rdoc/RubyXL/WebQueryProperties.html +5 -14
  380. data/rdoc/RubyXL/Workbook.html +11 -439
  381. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +7 -224
  382. data/rdoc/RubyXL/WorkbookProperties.html +5 -14
  383. data/rdoc/RubyXL/WorkbookProtection.html +5 -14
  384. data/rdoc/RubyXL/WorkbookRoot.html +11 -101
  385. data/rdoc/RubyXL/WorkbookView.html +5 -14
  386. data/rdoc/RubyXL/WorkbookViews.html +5 -14
  387. data/rdoc/RubyXL/Worksheet.html +11 -132
  388. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +138 -1002
  389. data/rdoc/RubyXL/WorksheetDimensions.html +5 -14
  390. data/rdoc/RubyXL/WorksheetFormatProperties.html +5 -14
  391. data/rdoc/RubyXL/WorksheetProperties.html +5 -14
  392. data/rdoc/RubyXL/WorksheetProtection.html +5 -14
  393. data/rdoc/RubyXL/WorksheetView.html +5 -14
  394. data/rdoc/RubyXL/WorksheetViews.html +5 -14
  395. data/rdoc/RubyXL/XF.html +5 -14
  396. data/rdoc/RubyXL.html +8 -321
  397. data/rdoc/created.rid +11 -11
  398. data/rdoc/css/rdoc.css +21 -1
  399. data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
  400. data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
  401. data/rdoc/index.html +5 -394
  402. data/rdoc/js/navigation.js.gz +0 -0
  403. data/rdoc/js/search_index.js +1 -1
  404. data/rdoc/js/search_index.js.gz +0 -0
  405. data/rdoc/js/searcher.js.gz +0 -0
  406. data/rdoc/table_of_contents.html +4 -821
  407. data/rubyXL.gemspec +8 -8
  408. data/spec/lib/cell_spec.rb +6 -0
  409. data/spec/lib/worksheet_spec.rb +303 -2
  410. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4a9327bd67cd3fe0e2cdd599929207e83fbeee4b2125e7f45d5b1c8c8145e8a9
4
- data.tar.gz: 12b4e09b2a6502679c81b95909e3fd59d287880cc9d4cf0fd0705968e68d858d
3
+ metadata.gz: 12e985784e083124a9fbf411ca9649b415f4983baf05cf33ba6fd573e21f44ef
4
+ data.tar.gz: 881eb5ae6b5b435344388b55dee2081d4d6ebda1b3e0025a3d3cff2534e9d6c0
5
5
  SHA512:
6
- metadata.gz: 5e74cdd0607641eb9b17a5cc60410de79da04a6cef796f1e31a96673176e740c2fc76bd26fd229a2d06e150b1adf8105a13516fb192787892ae895c3251b6500
7
- data.tar.gz: 06036705f47f89cee9b769d5eb642d44741f714db4c53caedc0fbac7822d3e24968291a2dea2dba908955c798ca6d729d9101157b854266640202bf3e6504499
6
+ metadata.gz: 2ec687847b5e6932aea29db28c58c9c578595fe2a84d1dbd539b59d4c9371a4b1e798ee2a136cad5803553dabb745035da9d1a0601825436c4e6118256f6f070
7
+ data.tar.gz: 8cc0ee2cebe9a6beee5dbb9556553931b27b0063131a4f76283ab50d3747618866c69b55c03f035a6b809410b791830d81ad9ac8767c2868d82dd904cb2dc05f
data/Gemfile CHANGED
@@ -8,7 +8,7 @@ gem "rubyzip", ">= 1.3.0" , :require => 'zip'
8
8
  group :development, :test do
9
9
  gem "bundler"
10
10
  gem "rake"
11
- gem "jeweler"
11
+ gem "juwelier"
12
12
  gem "rspec"
13
13
  gem "simplecov"
14
14
 
data/Gemfile.lock CHANGED
@@ -1,77 +1,109 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- addressable (2.4.0)
4
+ addressable (2.8.0)
5
+ public_suffix (>= 2.0.2, < 5.0)
5
6
  builder (3.2.4)
6
7
  descendants_tracker (0.0.4)
7
8
  thread_safe (~> 0.3, >= 0.3.1)
8
- diff-lcs (1.4.4)
9
- docile (1.3.2)
10
- faraday (0.9.2)
9
+ diff-lcs (1.5.0)
10
+ docile (1.4.0)
11
+ faraday (1.9.3)
12
+ faraday-em_http (~> 1.0)
13
+ faraday-em_synchrony (~> 1.0)
14
+ faraday-excon (~> 1.1)
15
+ faraday-httpclient (~> 1.0)
16
+ faraday-multipart (~> 1.0)
17
+ faraday-net_http (~> 1.0)
18
+ faraday-net_http_persistent (~> 1.0)
19
+ faraday-patron (~> 1.0)
20
+ faraday-rack (~> 1.0)
21
+ faraday-retry (~> 1.0)
22
+ ruby2_keywords (>= 0.0.4)
23
+ faraday-em_http (1.0.0)
24
+ faraday-em_synchrony (1.0.0)
25
+ faraday-excon (1.1.0)
26
+ faraday-httpclient (1.0.1)
27
+ faraday-multipart (1.0.3)
11
28
  multipart-post (>= 1.2, < 3)
12
- git (1.7.0)
29
+ faraday-net_http (1.0.1)
30
+ faraday-net_http_persistent (1.2.0)
31
+ faraday-patron (1.0.0)
32
+ faraday-rack (1.0.0)
33
+ faraday-retry (1.0.3)
34
+ git (1.10.2)
13
35
  rchardet (~> 1.8)
14
- github_api (0.16.0)
15
- addressable (~> 2.4.0)
36
+ github_api (0.19.0)
37
+ addressable (~> 2.4)
16
38
  descendants_tracker (~> 0.0.4)
17
- faraday (~> 0.8, < 0.10)
18
- hashie (>= 3.4)
19
- mime-types (>= 1.16, < 3.0)
39
+ faraday (>= 0.8, < 2)
40
+ hashie (~> 3.5, >= 3.5.2)
20
41
  oauth2 (~> 1.0)
21
- hashie (4.1.0)
42
+ hashie (3.6.0)
22
43
  highline (2.0.3)
23
- jeweler (2.3.9)
44
+ juwelier (2.4.9)
24
45
  builder
25
46
  bundler
26
- git (>= 1.2.5)
27
- github_api (~> 0.16.0)
28
- highline (>= 1.6.15)
29
- nokogiri (>= 1.5.10)
47
+ git
48
+ github_api
49
+ highline
50
+ kamelcase (~> 0)
51
+ nokogiri
30
52
  psych
31
53
  rake
32
54
  rdoc
33
55
  semver2
34
- jwt (2.2.1)
35
- mime-types (2.99.3)
36
- mini_portile2 (2.4.0)
56
+ jwt (2.3.0)
57
+ kamelcase (0.0.2)
58
+ semver2 (~> 3)
59
+ mini_portile2 (2.7.1)
37
60
  multi_json (1.15.0)
38
61
  multi_xml (0.6.0)
39
62
  multipart-post (2.1.1)
40
- nokogiri (1.10.10)
41
- mini_portile2 (~> 2.4.0)
42
- oauth2 (1.4.4)
63
+ nokogiri (1.13.1)
64
+ mini_portile2 (~> 2.7.0)
65
+ racc (~> 1.4)
66
+ oauth2 (1.4.7)
43
67
  faraday (>= 0.8, < 2.0)
44
68
  jwt (>= 1.0, < 3.0)
45
69
  multi_json (~> 1.3)
46
70
  multi_xml (~> 0.5)
47
71
  rack (>= 1.2, < 3)
48
- psych (3.2.0)
72
+ psych (4.0.3)
73
+ stringio
74
+ public_suffix (4.0.6)
75
+ racc (1.6.0)
49
76
  rack (2.2.3)
50
- rake (13.0.1)
77
+ rake (13.0.6)
51
78
  rchardet (1.8.0)
52
- rdoc (6.2.1)
53
- rspec (3.9.0)
54
- rspec-core (~> 3.9.0)
55
- rspec-expectations (~> 3.9.0)
56
- rspec-mocks (~> 3.9.0)
57
- rspec-core (3.9.2)
58
- rspec-support (~> 3.9.3)
59
- rspec-expectations (3.9.2)
79
+ rdoc (6.4.0)
80
+ psych (>= 4.0.0)
81
+ rspec (3.10.0)
82
+ rspec-core (~> 3.10.0)
83
+ rspec-expectations (~> 3.10.0)
84
+ rspec-mocks (~> 3.10.0)
85
+ rspec-core (3.10.1)
86
+ rspec-support (~> 3.10.0)
87
+ rspec-expectations (3.10.1)
60
88
  diff-lcs (>= 1.2.0, < 2.0)
61
- rspec-support (~> 3.9.0)
62
- rspec-mocks (3.9.1)
89
+ rspec-support (~> 3.10.0)
90
+ rspec-mocks (3.10.2)
63
91
  diff-lcs (>= 1.2.0, < 2.0)
64
- rspec-support (~> 3.9.0)
65
- rspec-support (3.9.3)
66
- rspec_junit_formatter (0.4.1)
92
+ rspec-support (~> 3.10.0)
93
+ rspec-support (3.10.3)
94
+ rspec_junit_formatter (0.5.1)
67
95
  rspec-core (>= 2, < 4, != 2.12.0)
68
- ruby-prof (1.4.1)
69
- rubyzip (2.3.0)
96
+ ruby-prof (1.4.3)
97
+ ruby2_keywords (0.0.5)
98
+ rubyzip (2.3.2)
70
99
  semver2 (3.4.2)
71
- simplecov (0.18.5)
100
+ simplecov (0.21.2)
72
101
  docile (~> 1.1)
73
102
  simplecov-html (~> 0.11)
74
- simplecov-html (0.12.2)
103
+ simplecov_json_formatter (~> 0.1)
104
+ simplecov-html (0.12.3)
105
+ simplecov_json_formatter (0.1.3)
106
+ stringio (3.0.1)
75
107
  thread_safe (0.3.6)
76
108
 
77
109
  PLATFORMS
@@ -79,7 +111,7 @@ PLATFORMS
79
111
 
80
112
  DEPENDENCIES
81
113
  bundler
82
- jeweler
114
+ juwelier
83
115
  nokogiri (>= 1.10.8)
84
116
  rake
85
117
  rspec
@@ -89,4 +121,4 @@ DEPENDENCIES
89
121
  simplecov
90
122
 
91
123
  BUNDLED WITH
92
- 2.1.4
124
+ 2.2.29
data/README.rdoc CHANGED
@@ -55,6 +55,10 @@ Please note that row is a _sparse_ array of cells. Your code *must* expect that
55
55
  worksheet.sheet_data[0][0] # Returns cell A1 in the worksheet
56
56
  worksheet[0][0] # Returns cell A1 in the worksheet
57
57
 
58
+ cell = worksheet[0][0]
59
+ cell.value # Returns a properly converted value in the cell (if the file claims that the cell
60
+ # is holding a number, returns a respective Integer or Float, and so on).
61
+
58
62
  ==== Wrappers for accessing Cell properties
59
63
  cell = workbook[0][0][0]
60
64
  cell.is_struckthrough # Returns +true+ if the cell is struckthrough, other boolean properties have same syntax
@@ -229,11 +233,10 @@ It can also operate on +StringIO+ objects, thus eliminating the need to save the
229
233
 
230
234
  RubyXL.class_variable_set(:@@suppress_warnings, true)
231
235
 
232
- == Data validation ("dropdown list")
236
+ == Data validation (colloquially referred to as "dropdown list")
233
237
 
234
238
  worksheet.add_validation_list("A1", [ "value1", "value2" ])
235
239
 
236
-
237
240
  == For more information
238
241
  Take a look at the files in spec/lib/ for rspecs on most methods
239
242
 
@@ -249,5 +252,5 @@ Take a look at the files in spec/lib/ for rspecs on most methods
249
252
 
250
253
  == Copyright
251
254
 
252
- Copyright (c) 2011 Vivek Bhagwat, 2013-2020 Wesha.
255
+ Copyright (c) 2011 Vivek Bhagwat, 2013-2021 Wesha.
253
256
  See LICENSE.txt for further details.
data/Rakefile CHANGED
@@ -10,8 +10,8 @@ rescue Bundler::BundlerError => e
10
10
  exit e.status_code
11
11
  end
12
12
 
13
- require 'jeweler'
14
- Jeweler::Tasks.new do |gem|
13
+ require 'juwelier'
14
+ Juwelier::Tasks.new do |gem|
15
15
  # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
16
16
  gem.name = "rubyXL"
17
17
  gem.homepage = "http://github.com/gilt/rubyXL"
@@ -23,7 +23,7 @@ Jeweler::Tasks.new do |gem|
23
23
  # gem.required_ruby_version = '>2.1'
24
24
  # dependencies defined in Gemfile
25
25
  end
26
- Jeweler::RubygemsDotOrgTasks.new
26
+ Juwelier::RubygemsDotOrgTasks.new
27
27
 
28
28
  require 'rake/testtask'
29
29
  Rake::TestTask.new(:test) do |test|
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.4.16
1
+ 3.4.21
@@ -106,6 +106,21 @@ module RubyXL
106
106
  }
107
107
  }
108
108
 
109
+ # Update merged cells for all rows below
110
+ if self.merged_cells then
111
+ merged_cells.each { |mc|
112
+ next if mc.ref.row_range.last < row_index
113
+
114
+ in_merged_cell = mc.ref.row_range.first < row_index
115
+ mc.ref = RubyXL::Reference.new(
116
+ mc.ref.row_range.first + (in_merged_cell ? 0 : 1),
117
+ mc.ref.row_range.last + 1,
118
+ mc.ref.col_range.first,
119
+ mc.ref.col_range.last,
120
+ )
121
+ }
122
+ end
123
+
109
124
  return new_row
110
125
  end
111
126
 
@@ -121,6 +136,23 @@ module RubyXL
121
136
  row && row.cells.each{ |c| c.row -= 1 unless c.nil? }
122
137
  }
123
138
 
139
+ # Update row number of merged cells
140
+ if self.merged_cells then
141
+ merged_cells.delete_if { |mc| mc.ref.row_range == (row_index..row_index) }
142
+ merged_cells.each { |mc|
143
+ next if mc.ref.row_range.last < row_index
144
+
145
+ in_merged_cell = mc.ref.row_range.first <= row_index
146
+ mc.ref = RubyXL::Reference.new(
147
+ mc.ref.row_range.first - (in_merged_cell ? 0 : 1),
148
+ mc.ref.row_range.last - 1,
149
+ mc.ref.col_range.first,
150
+ mc.ref.col_range.last,
151
+ )
152
+ }
153
+ merged_cells.delete_if { |mc| mc.ref.single_cell? }
154
+ end
155
+
124
156
  return deleted
125
157
  end
126
158
 
@@ -152,6 +184,21 @@ module RubyXL
152
184
 
153
185
  cols.insert_column(column_index)
154
186
 
187
+ # Update merged cells for all rows below
188
+ if self.merged_cells then
189
+ merged_cells.each { |mc|
190
+ next if mc.ref.col_range.last < column_index
191
+
192
+ in_merged_cell = mc.ref.row_range.first < column_index
193
+ mc.ref = RubyXL::Reference.new(
194
+ mc.ref.row_range.first,
195
+ mc.ref.row_range.last,
196
+ mc.ref.col_range.first + (in_merged_cell ? 0 : 1),
197
+ mc.ref.col_range.last + 1,
198
+ )
199
+ }
200
+ end
201
+
155
202
  # TODO: update column numbers
156
203
  end
157
204
 
@@ -171,6 +218,24 @@ module RubyXL
171
218
  }
172
219
 
173
220
  cols.each { |range| range.delete_column(column_index) }
221
+
222
+ # Update row number of merged cells
223
+ return unless self.merged_cells
224
+
225
+ merged_cells.delete_if { |mc| mc.ref.col_range == (column_index..column_index) }
226
+ merged_cells.each { |mc|
227
+ next if mc.ref.col_range.last < column_index
228
+
229
+ in_merged_cell = mc.ref.col_range.first <= column_index
230
+ mc.ref = RubyXL::Reference.new(
231
+ mc.ref.row_range.first,
232
+ mc.ref.row_range.last,
233
+ mc.ref.col_range.first - (in_merged_cell ? 0 : 1),
234
+ mc.ref.col_range.last - 1,
235
+ )
236
+ }
237
+
238
+ merged_cells.delete_if { |mc| mc.ref.single_cell? }
174
239
  end
175
240
 
176
241
  def get_row_style(row_index)
@@ -21,7 +21,7 @@ module RubyXL
21
21
  define_child_node(RubyXL::BooleanValue, :node_name => :extend)
22
22
  define_child_node(RubyXL::Color)
23
23
  define_child_node(RubyXL::FloatValue, :node_name => :sz)
24
- define_child_node(RubyXL::BooleanValue, :node_name => :u)
24
+ define_child_node(RubyXL::StringValue, :node_name => :u) # ST_UnderlineValues (http://www.datypic.com/sc/ooxml/e-ssml_u-1.html)
25
25
  define_child_node(RubyXL::StringValue, :node_name => :vertAlign)
26
26
  define_child_node(RubyXL::StringValue, :node_name => :scheme)
27
27
  define_element_name 'font'
@@ -12,10 +12,10 @@ module RubyXL
12
12
  # addressing variable by name creates it in the context of defining class, while calling
13
13
  # the setter/getter method addresses it in the context of descendant class,
14
14
  # which is what we need.
15
- def obtain_class_variable(var_name, default = {})
15
+ def obtain_class_variable(var_name, default = nil)
16
16
  self.class_variable_get(var_name)
17
17
  rescue NameError
18
- self.class_variable_set(var_name, default)
18
+ self.class_variable_set(var_name, default || {})
19
19
  end
20
20
 
21
21
  # Defines an attribute of OOXML object.
@@ -45,9 +45,10 @@ module RubyXL
45
45
  # The value of the element will be accessible as a <tt>String</tt> by calling +obj.expression+
46
46
  # define_attribute(:errorStyle, %w{ stop warning information }, :default => 'stop',)
47
47
  # A <tt>String</tt> attribute named 'errorStyle' will be accessible as +obj.error_style+, valid values are <tt>"stop"</tt>, <tt>"warning"</tt>, <tt>"information"</tt>
48
- def define_attribute(attr_name, attr_type, extra_params = {})
48
+ def define_attribute(attr_name, attr_type, extra_params = nil)
49
49
  attrs = obtain_class_variable(:@@ooxml_attributes)
50
- attr_hash = extra_params.merge({ :attr_type => attr_type })
50
+ attr_hash = { :attr_type => attr_type }
51
+ attr_hash.merge!(extra_params) if extra_params
51
52
  attr_hash[:accessor] ||= accessorize(attr_name)
52
53
  attrs[attr_name.to_s] = attr_hash
53
54
  self.send(:attr_accessor, attr_hash[:accessor]) unless attr_hash[:computed]
@@ -224,8 +225,9 @@ module RubyXL
224
225
  end
225
226
  private :obtain_class_variable
226
227
 
227
- def initialize(params = {})
228
+ def initialize(params = nil)
228
229
  @local_namespaces = nil
230
+ params ||= {}
229
231
 
230
232
  obtain_class_variable(:@@ooxml_attributes).each_value { |v|
231
233
  instance_variable_set("@#{v[:accessor]}", params[v[:accessor]]) unless v[:computed]
@@ -71,7 +71,7 @@ module RubyXL
71
71
  end
72
72
 
73
73
  # Converts +row+ and +col+ zero-based indices to Excel-style cell reference
74
- # (0) A...Z, AA...AZ, BA... ...ZZ, AAA... ...AZZ, BAA... ...XFD (16383)
74
+ # <0> A...Z, AA...AZ, BA... ...ZZ, AAA... ...AZZ, BAA... ...XFD <16383>
75
75
  def self.ind2ref(row = 0, col = 0)
76
76
  str = ''
77
77
 
@@ -88,10 +88,7 @@ module RubyXL
88
88
  # Converts Excel-style cell reference to +row+ and +col+ zero-based indices.
89
89
  def self.ref2ind(str)
90
90
  return [ -1, -1 ] unless str =~ /\A([A-Z]+)(\d+)\Z/
91
-
92
- col = 0
93
- $1.each_byte { |chr| col = col * 26 + (chr - 64) }
94
- [ $2.to_i - 1, col - 1 ]
91
+ [ $2.to_i - 1, $1.each_byte.inject(0) { |col, chr| col * 26 + (chr - 64) } - 1 ]
95
92
  end
96
93
 
97
94
  end
@@ -113,7 +113,8 @@ module RubyXL
113
113
  when RubyXL::DataType::INLINE_STRING then is.to_s
114
114
  when RubyXL::DataType::RAW_STRING then raw_value
115
115
  else
116
- if is_date? then workbook.num_to_date(r.to_f)
116
+ if is then is.to_s
117
+ elsif is_date? then workbook.num_to_date(r.to_f)
117
118
  elsif r.is_a?(String) && (r =~ NUMBER_REGEXP) then # Numeric
118
119
  if $1 != '' then r.to_f
119
120
  else r.to_i
@@ -223,6 +223,8 @@ module RubyXL
223
223
 
224
224
  ST_TextUnderlineType = %w{ none words sng dbl heavy dotted dottedHeavy dash dashHeavy dashLong dashLongHeavy
225
225
  dotDash dotDashHeavy dotDotDash dotDotDashHeavy wavy wavyHeavy wavyDbl }
226
+ ST_UnderlineValues = %w{ single double singleAccounting doubleAccounting none }
227
+
226
228
  ST_TextStrikeType = %w{ noStrike sngStrike dblStrike }
227
229
  ST_TextCapsType = %w{ none small all }
228
230
 
@@ -85,7 +85,8 @@ module RubyXL
85
85
  define_element_name 'is'
86
86
 
87
87
  def to_s
88
- str = if t.nil? then '' else t.to_s end
88
+ # `dup` here unfreezes the string since it's not a constant but initial value
89
+ str = if t.nil? then ''.dup else t.to_s end
89
90
  r && r.each { |rtr| str << rtr.to_s if rtr }
90
91
  str
91
92
  end
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>README - rubyXL 3.4.16</title>
7
+ <title>README - rubyXL 3.4.21</title>
8
8
 
9
9
  <script type="text/javascript">
10
10
  var rdoc_rel_prefix = "./";
@@ -21,8 +21,6 @@
21
21
  <link href="./css/rdoc.css" rel="stylesheet">
22
22
 
23
23
 
24
-
25
-
26
24
  <body id="top" role="document" class="file">
27
25
  <nav role="navigation">
28
26
  <div id="project-navigation">
@@ -98,7 +96,7 @@
98
96
  <li><a href="#label-I-2FO">I/O</a>
99
97
  <li><a href="#label-Miscellaneous">Miscellaneous</a>
100
98
  <li><a href="#label-Suppress+warnings+about+malformed+input+files">Suppress warnings about malformed input files</a>
101
- <li><a href="#label-Data+validation+-28-22dropdown+list-22-29">Data validation (“dropdown list”)</a>
99
+ <li><a href="#label-Data+validation+-28colloquially+referred+to+as+-22dropdown+list-22-29">Data validation (colloquially referred to as “dropdown list”)</a>
102
100
  <li><a href="#label-For+more+information">For more information</a>
103
101
  <li><a href="#label-Contributing+to+rubyXL">Contributing to rubyXL</a>
104
102
  <li><a href="#label-Copyright">Copyright</a>
@@ -107,13 +105,12 @@
107
105
 
108
106
 
109
107
  <div id="project-metadata">
110
- <div id="fileindex-section" class="nav-section">
108
+
109
+ <div id="fileindex-section" class="nav-section">
111
110
  <h3>Pages</h3>
112
111
 
113
112
  <ul class="link-list">
114
-
115
113
  <li><a href="./README_rdoc.html">README</a>
116
-
117
114
  </ul>
118
115
  </div>
119
116
 
@@ -191,6 +188,10 @@
191
188
  <pre class="ruby"><span class="ruby-identifier">worksheet</span> = <span class="ruby-identifier">workbook</span>[<span class="ruby-value">0</span>]
192
189
  <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_data</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>] <span class="ruby-comment"># Returns cell A1 in the worksheet</span>
193
190
  <span class="ruby-identifier">worksheet</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>] <span class="ruby-comment"># Returns cell A1 in the worksheet</span>
191
+
192
+ <span class="ruby-identifier">cell</span> = <span class="ruby-identifier">worksheet</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>]
193
+ <span class="ruby-identifier">cell</span>.<span class="ruby-identifier">value</span> <span class="ruby-comment"># Returns a properly converted value in the cell (if the file claims that the cell</span>
194
+ <span class="ruby-comment"># is holding a number, returns a respective Integer or Float, and so on).</span>
194
195
  </pre>
195
196
 
196
197
  <h4 id="label-Wrappers+for+accessing+Cell+properties">Wrappers for accessing Cell properties<span><a href="#label-Wrappers+for+accessing+Cell+properties">&para;</a> <a href="#top">&uarr;</a></span></h4>
@@ -434,7 +435,7 @@
434
435
  <pre class="ruby"><span class="ruby-constant">RubyXL</span>.<span class="ruby-identifier">class_variable_set</span>(<span class="ruby-value">:@@suppress_warnings</span>, <span class="ruby-keyword">true</span>)
435
436
  </pre>
436
437
 
437
- <h2 id="label-Data+validation+-28-22dropdown+list-22-29">Data validation (“dropdown list”)<span><a href="#label-Data+validation+-28-22dropdown+list-22-29">&para;</a> <a href="#top">&uarr;</a></span></h2>
438
+ <h2 id="label-Data+validation+-28colloquially+referred+to+as+-22dropdown+list-22-29">Data validation (colloquially referred to as “dropdown list”)<span><a href="#label-Data+validation+-28colloquially+referred+to+as+-22dropdown+list-22-29">&para;</a> <a href="#top">&uarr;</a></span></h2>
438
439
 
439
440
  <pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">add_validation_list</span>(<span class="ruby-string">&quot;A1&quot;</span>, [ <span class="ruby-string">&quot;value1&quot;</span>, <span class="ruby-string">&quot;value2&quot;</span> ])
440
441
  </pre>
@@ -445,9 +446,9 @@
445
446
 
446
447
  <h2 id="label-Contributing+to+rubyXL">Contributing to rubyXL<span><a href="#label-Contributing+to+rubyXL">&para;</a> <a href="#top">&uarr;</a></span></h2>
447
448
  <ul><li>
448
- <p>Check out the latest master to make sure the feature hasn&#39;t been implemented or the bug hasn&#39;t been fixed yet</p>
449
+ <p>Check out the latest master to make sure the feature hasnt been implemented or the bug hasnt been fixed yet</p>
449
450
  </li><li>
450
- <p>Check out the issue tracker to make sure someone already hasn&#39;t requested it and/or contributed it</p>
451
+ <p>Check out the issue tracker to make sure someone already hasnt requested it and/or contributed it</p>
451
452
  </li><li>
452
453
  <p>Fork the project</p>
453
454
  </li><li>
@@ -455,14 +456,14 @@
455
456
  </li><li>
456
457
  <p>Commit and push until you are happy with your contribution</p>
457
458
  </li><li>
458
- <p>Make sure to add tests for it. This is important so I don&#39;t break it in a future version unintentionally.</p>
459
+ <p>Make sure to add tests for it. This is important so I dont break it in a future version unintentionally.</p>
459
460
  </li><li>
460
461
  <p>Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.</p>
461
462
  </li></ul>
462
463
 
463
464
  <h2 id="label-Copyright">Copyright<span><a href="#label-Copyright">&para;</a> <a href="#top">&uarr;</a></span></h2>
464
465
 
465
- <p>Copyright © 2011 Vivek Bhagwat, 2013-2020 Wesha. See LICENSE.txt for further details.</p>
466
+ <p>Copyright © 2011 Vivek Bhagwat, 2013-2021 Wesha. See LICENSE.txt for further details.</p>
466
467
 
467
468
  </main>
468
469
 
@@ -470,7 +471,7 @@
470
471
 
471
472
  <footer id="validator-badges" role="contentinfo">
472
473
  <p><a href="https://validator.w3.org/check/referer">Validate</a>
473
- <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.2.1.
474
+ <p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.4.0.
474
475
  <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
475
476
  </footer>
476
477