rubyXL 3.3.1 → 3.3.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (363) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/rubyXL/objects/content_types.rb +8 -3
  4. data/lib/rubyXL/objects/ooxml_object.rb +0 -1
  5. data/lib/rubyXL/objects/relationships.rb +1 -1
  6. data/lib/rubyXL/objects/storage.rb +28 -5
  7. data/lib/rubyXL/objects/text.rb +8 -1
  8. data/lib/rubyXL/objects/workbook.rb +9 -2
  9. data/rdoc/README_rdoc.html +179 -152
  10. data/rdoc/RubyXL.html +7 -10
  11. data/rdoc/RubyXL/AExtension.html +7 -10
  12. data/rdoc/RubyXL/AExtensionStorageArea.html +7 -10
  13. data/rdoc/RubyXL/AdjustHandleList.html +10 -10
  14. data/rdoc/RubyXL/Alignment.html +7 -10
  15. data/rdoc/RubyXL/AlternateContent.html +7 -10
  16. data/rdoc/RubyXL/Authors.html +10 -10
  17. data/rdoc/RubyXL/AutoFilter.html +10 -10
  18. data/rdoc/RubyXL/AutoFilterColumn.html +10 -10
  19. data/rdoc/RubyXL/BinaryImageFile.html +26 -10
  20. data/rdoc/RubyXL/BodyProperties.html +10 -10
  21. data/rdoc/RubyXL/BooleanNode.html +7 -10
  22. data/rdoc/RubyXL/BooleanValue.html +7 -10
  23. data/rdoc/RubyXL/Border.html +97 -10
  24. data/rdoc/RubyXL/BorderEdge.html +7 -10
  25. data/rdoc/RubyXL/Borders.html +61 -10
  26. data/rdoc/RubyXL/Break.html +10 -10
  27. data/rdoc/RubyXL/BreakList.html +10 -10
  28. data/rdoc/RubyXL/CT_AdjPoint2D.html +10 -10
  29. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +10 -10
  30. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +10 -10
  31. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +10 -10
  32. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +10 -10
  33. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +10 -10
  34. data/rdoc/RubyXL/CT_Backdrop.html +10 -10
  35. data/rdoc/RubyXL/CT_Bevel.html +10 -10
  36. data/rdoc/RubyXL/CT_BiLevelEffect.html +10 -10
  37. data/rdoc/RubyXL/CT_BlendEffect.html +10 -10
  38. data/rdoc/RubyXL/CT_Blip.html +10 -10
  39. data/rdoc/RubyXL/CT_BlipFillProperties.html +10 -10
  40. data/rdoc/RubyXL/CT_BlurEffect.html +10 -10
  41. data/rdoc/RubyXL/CT_Camera.html +10 -10
  42. data/rdoc/RubyXL/CT_Color.html +10 -10
  43. data/rdoc/RubyXL/CT_ColorChangeEffect.html +10 -10
  44. data/rdoc/RubyXL/CT_ColorMapping.html +10 -10
  45. data/rdoc/RubyXL/CT_ColorScheme.html +10 -10
  46. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +10 -10
  47. data/rdoc/RubyXL/CT_ConnectionSite.html +10 -10
  48. data/rdoc/RubyXL/CT_ConnectionSiteList.html +10 -10
  49. data/rdoc/RubyXL/CT_DashStop.html +10 -10
  50. data/rdoc/RubyXL/CT_DashStopList.html +10 -10
  51. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +10 -10
  52. data/rdoc/RubyXL/CT_DuotoneEffect.html +10 -10
  53. data/rdoc/RubyXL/CT_EffectContainer.html +10 -10
  54. data/rdoc/RubyXL/CT_EffectList.html +10 -10
  55. data/rdoc/RubyXL/CT_EffectReference.html +10 -10
  56. data/rdoc/RubyXL/CT_EffectStyleItem.html +10 -10
  57. data/rdoc/RubyXL/CT_EffectStyleList.html +10 -10
  58. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +10 -10
  59. data/rdoc/RubyXL/CT_FillEffect.html +10 -10
  60. data/rdoc/RubyXL/CT_FillOverlayEffect.html +10 -10
  61. data/rdoc/RubyXL/CT_FillStyleList.html +10 -10
  62. data/rdoc/RubyXL/CT_FlatText.html +10 -10
  63. data/rdoc/RubyXL/CT_FontCollection.html +10 -10
  64. data/rdoc/RubyXL/CT_FontReference.html +10 -10
  65. data/rdoc/RubyXL/CT_GeomGuideList.html +10 -10
  66. data/rdoc/RubyXL/CT_GlowEffect.html +10 -10
  67. data/rdoc/RubyXL/CT_GradientFillProperties.html +10 -10
  68. data/rdoc/RubyXL/CT_GradientStop.html +10 -10
  69. data/rdoc/RubyXL/CT_GradientStopList.html +10 -10
  70. data/rdoc/RubyXL/CT_HSLEffect.html +10 -10
  71. data/rdoc/RubyXL/CT_HslColor.html +10 -10
  72. data/rdoc/RubyXL/CT_Hyperlink.html +10 -10
  73. data/rdoc/RubyXL/CT_InnerShadowEffect.html +10 -10
  74. data/rdoc/RubyXL/CT_LightRig.html +10 -10
  75. data/rdoc/RubyXL/CT_LineEndProperties.html +10 -10
  76. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +10 -10
  77. data/rdoc/RubyXL/CT_LineProperties.html +10 -10
  78. data/rdoc/RubyXL/CT_LineStyleList.html +10 -10
  79. data/rdoc/RubyXL/CT_LinearShadeProperties.html +10 -10
  80. data/rdoc/RubyXL/CT_LuminanceEffect.html +10 -10
  81. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +10 -10
  82. data/rdoc/RubyXL/CT_OuterShadowEffect.html +10 -10
  83. data/rdoc/RubyXL/CT_Path2D.html +10 -10
  84. data/rdoc/RubyXL/CT_Path2DArcTo.html +10 -10
  85. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +10 -10
  86. data/rdoc/RubyXL/CT_Path2DList.html +10 -10
  87. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +10 -10
  88. data/rdoc/RubyXL/CT_Path2DTo.html +10 -10
  89. data/rdoc/RubyXL/CT_PathShadeProperties.html +10 -10
  90. data/rdoc/RubyXL/CT_PatternFillProperties.html +10 -10
  91. data/rdoc/RubyXL/CT_Point3D.html +10 -10
  92. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +10 -10
  93. data/rdoc/RubyXL/CT_PresetColor.html +10 -10
  94. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +10 -10
  95. data/rdoc/RubyXL/CT_PresetShadowEffect.html +10 -10
  96. data/rdoc/RubyXL/CT_PresetTextShape.html +10 -10
  97. data/rdoc/RubyXL/CT_ReflectionEffect.html +10 -10
  98. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +10 -10
  99. data/rdoc/RubyXL/CT_RelativeRect.html +10 -10
  100. data/rdoc/RubyXL/CT_SRgbColor.html +10 -10
  101. data/rdoc/RubyXL/CT_ScRgbColor.html +10 -10
  102. data/rdoc/RubyXL/CT_Scene3D.html +10 -10
  103. data/rdoc/RubyXL/CT_SchemeColor.html +10 -10
  104. data/rdoc/RubyXL/CT_Shape3D.html +10 -10
  105. data/rdoc/RubyXL/CT_ShapeStyle.html +10 -10
  106. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +10 -10
  107. data/rdoc/RubyXL/CT_SphereCoords.html +10 -10
  108. data/rdoc/RubyXL/CT_StretchInfoProperties.html +10 -10
  109. data/rdoc/RubyXL/CT_StyleMatrix.html +10 -10
  110. data/rdoc/RubyXL/CT_StyleMatrixReference.html +10 -10
  111. data/rdoc/RubyXL/CT_SupplementalFont.html +10 -10
  112. data/rdoc/RubyXL/CT_SystemColor.html +10 -10
  113. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +10 -10
  114. data/rdoc/RubyXL/CT_TextBlipBullet.html +10 -10
  115. data/rdoc/RubyXL/CT_TextCharBullet.html +10 -10
  116. data/rdoc/RubyXL/CT_TextCharacterProperties.html +10 -10
  117. data/rdoc/RubyXL/CT_TextFont.html +10 -10
  118. data/rdoc/RubyXL/CT_TextListStyle.html +10 -10
  119. data/rdoc/RubyXL/CT_TextNormalAutofit.html +10 -10
  120. data/rdoc/RubyXL/CT_TextParagraphProperties.html +10 -10
  121. data/rdoc/RubyXL/CT_TextSpacing.html +10 -10
  122. data/rdoc/RubyXL/CT_TextTabStop.html +10 -10
  123. data/rdoc/RubyXL/CT_TextTabStopList.html +10 -10
  124. data/rdoc/RubyXL/CT_TileInfoProperties.html +10 -10
  125. data/rdoc/RubyXL/CT_TintEffect.html +10 -10
  126. data/rdoc/RubyXL/CT_Transform2D.html +10 -10
  127. data/rdoc/RubyXL/CT_TransformEffect.html +10 -10
  128. data/rdoc/RubyXL/CT_Vector3D.html +10 -10
  129. data/rdoc/RubyXL/CT_XYAdjustHandle.html +10 -10
  130. data/rdoc/RubyXL/CalculationChain.html +7 -10
  131. data/rdoc/RubyXL/CalculationChainCell.html +7 -10
  132. data/rdoc/RubyXL/CalculationProperties.html +10 -10
  133. data/rdoc/RubyXL/Cell.html +9 -11
  134. data/rdoc/RubyXL/CellConvenienceMethods.html +203 -10
  135. data/rdoc/RubyXL/CellSmartTag.html +10 -10
  136. data/rdoc/RubyXL/CellSmartTagProperty.html +10 -10
  137. data/rdoc/RubyXL/CellSmartTags.html +10 -10
  138. data/rdoc/RubyXL/CellStyle.html +7 -10
  139. data/rdoc/RubyXL/CellStyleXFs.html +61 -10
  140. data/rdoc/RubyXL/CellStyles.html +61 -10
  141. data/rdoc/RubyXL/CellValue.html +7 -10
  142. data/rdoc/RubyXL/CellWatch.html +10 -10
  143. data/rdoc/RubyXL/CellWatches.html +10 -10
  144. data/rdoc/RubyXL/CellXFs.html +65 -10
  145. data/rdoc/RubyXL/ChartColorsFile.html +26 -10
  146. data/rdoc/RubyXL/ChartFile.html +93 -10
  147. data/rdoc/RubyXL/ChartStyleFile.html +26 -10
  148. data/rdoc/RubyXL/ChartUserShapesFile.html +26 -10
  149. data/rdoc/RubyXL/Chartsheet.html +164 -10
  150. data/rdoc/RubyXL/ChartsheetPageSetup.html +10 -10
  151. data/rdoc/RubyXL/ChartsheetProperties.html +7 -10
  152. data/rdoc/RubyXL/ChartsheetProtection.html +7 -10
  153. data/rdoc/RubyXL/ChartsheetView.html +10 -10
  154. data/rdoc/RubyXL/ChartsheetViews.html +10 -10
  155. data/rdoc/RubyXL/Color.html +7 -10
  156. data/rdoc/RubyXL/ColorFilter.html +10 -10
  157. data/rdoc/RubyXL/ColorScale.html +10 -10
  158. data/rdoc/RubyXL/ColorSet.html +10 -10
  159. data/rdoc/RubyXL/Colors.html +10 -10
  160. data/rdoc/RubyXL/ColumnRange.html +7 -10
  161. data/rdoc/RubyXL/ColumnRanges.html +7 -10
  162. data/rdoc/RubyXL/Comment.html +7 -10
  163. data/rdoc/RubyXL/CommentList.html +10 -10
  164. data/rdoc/RubyXL/CommentsFile.html +101 -10
  165. data/rdoc/RubyXL/ConditionalFormatValue.html +10 -10
  166. data/rdoc/RubyXL/ConditionalFormatting.html +10 -10
  167. data/rdoc/RubyXL/ConditionalFormattingRule.html +10 -10
  168. data/rdoc/RubyXL/ContentTypeDefault.html +7 -10
  169. data/rdoc/RubyXL/ContentTypeOverride.html +7 -10
  170. data/rdoc/RubyXL/ContentTypes.html +15 -13
  171. data/rdoc/RubyXL/ControlPropertiesFile.html +21 -10
  172. data/rdoc/RubyXL/CorePropertiesFile.html +378 -10
  173. data/rdoc/RubyXL/CustomColor.html +10 -10
  174. data/rdoc/RubyXL/CustomColorList.html +10 -10
  175. data/rdoc/RubyXL/CustomFilter.html +10 -10
  176. data/rdoc/RubyXL/CustomFilters.html +10 -10
  177. data/rdoc/RubyXL/CustomGeometry.html +10 -10
  178. data/rdoc/RubyXL/CustomProperties.html +10 -10
  179. data/rdoc/RubyXL/CustomPropertiesFile.html +26 -10
  180. data/rdoc/RubyXL/CustomProperty.html +10 -10
  181. data/rdoc/RubyXL/CustomSheetView.html +10 -10
  182. data/rdoc/RubyXL/CustomSheetViews.html +10 -10
  183. data/rdoc/RubyXL/CustomWorkbookView.html +10 -10
  184. data/rdoc/RubyXL/CustomWorkbookViews.html +10 -10
  185. data/rdoc/RubyXL/CustomXMLFile.html +21 -10
  186. data/rdoc/RubyXL/DXF.html +10 -10
  187. data/rdoc/RubyXL/DXFs.html +10 -10
  188. data/rdoc/RubyXL/DataBar.html +10 -10
  189. data/rdoc/RubyXL/DataConsolidate.html +10 -10
  190. data/rdoc/RubyXL/DataConsolidationReference.html +10 -10
  191. data/rdoc/RubyXL/DataConsolidationReferences.html +10 -10
  192. data/rdoc/RubyXL/DataType.html +7 -10
  193. data/rdoc/RubyXL/DataValidation.html +7 -10
  194. data/rdoc/RubyXL/DataValidations.html +10 -10
  195. data/rdoc/RubyXL/DateGroupItem.html +7 -10
  196. data/rdoc/RubyXL/DefinedName.html +10 -10
  197. data/rdoc/RubyXL/DefinedNames.html +10 -10
  198. data/rdoc/RubyXL/DocumentPropertiesFile.html +7 -10
  199. data/rdoc/RubyXL/DrawingFile.html +92 -10
  200. data/rdoc/RubyXL/DynamicFilter.html +10 -10
  201. data/rdoc/RubyXL/EmbeddedControl.html +10 -10
  202. data/rdoc/RubyXL/EmbeddedControls.html +10 -10
  203. data/rdoc/RubyXL/Extension.html +7 -10
  204. data/rdoc/RubyXL/ExtensionStorageArea.html +7 -10
  205. data/rdoc/RubyXL/Extents.html +10 -10
  206. data/rdoc/RubyXL/ExternalLinksFile.html +26 -10
  207. data/rdoc/RubyXL/ExternalReference.html +10 -10
  208. data/rdoc/RubyXL/ExternalReferences.html +10 -10
  209. data/rdoc/RubyXL/ExtraColorSchemeList.html +10 -10
  210. data/rdoc/RubyXL/FieldItem.html +10 -10
  211. data/rdoc/RubyXL/FileRecoveryProperties.html +10 -10
  212. data/rdoc/RubyXL/FileSharing.html +7 -10
  213. data/rdoc/RubyXL/FileVersion.html +7 -10
  214. data/rdoc/RubyXL/Fill.html +61 -10
  215. data/rdoc/RubyXL/Fills.html +61 -10
  216. data/rdoc/RubyXL/FilterContainer.html +10 -10
  217. data/rdoc/RubyXL/FloatNode.html +7 -10
  218. data/rdoc/RubyXL/FloatValue.html +7 -10
  219. data/rdoc/RubyXL/Font.html +7 -10
  220. data/rdoc/RubyXL/FontScheme.html +10 -10
  221. data/rdoc/RubyXL/Fonts.html +61 -10
  222. data/rdoc/RubyXL/Formula.html +7 -10
  223. data/rdoc/RubyXL/FunctionGroup.html +10 -10
  224. data/rdoc/RubyXL/FunctionGroups.html +10 -10
  225. data/rdoc/RubyXL/GenericStorageObject.html +7 -10
  226. data/rdoc/RubyXL/GradientFill.html +10 -10
  227. data/rdoc/RubyXL/HeaderFooterSettings.html +10 -10
  228. data/rdoc/RubyXL/Hyperlink.html +10 -10
  229. data/rdoc/RubyXL/HyperlinkRelFile.html +21 -10
  230. data/rdoc/RubyXL/Hyperlinks.html +10 -10
  231. data/rdoc/RubyXL/IconFilter.html +10 -10
  232. data/rdoc/RubyXL/IconSet.html +10 -10
  233. data/rdoc/RubyXL/IgnoredError.html +10 -10
  234. data/rdoc/RubyXL/IgnoredErrors.html +10 -10
  235. data/rdoc/RubyXL/IndexedColors.html +10 -10
  236. data/rdoc/RubyXL/InputCells.html +10 -10
  237. data/rdoc/RubyXL/IntegerNode.html +7 -10
  238. data/rdoc/RubyXL/IntegerValue.html +7 -10
  239. data/rdoc/RubyXL/LegacyCell.html +7 -10
  240. data/rdoc/RubyXL/LegacyWorksheet.html +7 -10
  241. data/rdoc/RubyXL/MRUColors.html +10 -10
  242. data/rdoc/RubyXL/MacrosFile.html +26 -10
  243. data/rdoc/RubyXL/MergedCell.html +10 -10
  244. data/rdoc/RubyXL/MergedCells.html +10 -10
  245. data/rdoc/RubyXL/NumFmt.html +10 -10
  246. data/rdoc/RubyXL/NumberFormat.html +7 -10
  247. data/rdoc/RubyXL/NumberFormats.html +7 -10
  248. data/rdoc/RubyXL/OLEObject.html +10 -10
  249. data/rdoc/RubyXL/OLEObjectFile.html +26 -10
  250. data/rdoc/RubyXL/OLEObjects.html +10 -10
  251. data/rdoc/RubyXL/OLESize.html +10 -10
  252. data/rdoc/RubyXL/OOXMLContainerObject.html +298 -10
  253. data/rdoc/RubyXL/OOXMLObject.html +23 -11
  254. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +23 -22
  255. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +447 -10
  256. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +8 -11
  257. data/rdoc/RubyXL/OOXMLTopLevelObject.html +284 -10
  258. data/rdoc/RubyXL/Offset.html +10 -10
  259. data/rdoc/RubyXL/OutlineProperties.html +7 -10
  260. data/rdoc/RubyXL/PageMargins.html +10 -10
  261. data/rdoc/RubyXL/PageSetup.html +10 -10
  262. data/rdoc/RubyXL/PageSetupProperties.html +7 -10
  263. data/rdoc/RubyXL/Pane.html +10 -10
  264. data/rdoc/RubyXL/Parser.html +7 -10
  265. data/rdoc/RubyXL/PatternFill.html +10 -10
  266. data/rdoc/RubyXL/PhoneticProperties.html +10 -10
  267. data/rdoc/RubyXL/PhoneticRun.html +10 -10
  268. data/rdoc/RubyXL/PivotArea.html +10 -10
  269. data/rdoc/RubyXL/PivotCache.html +10 -10
  270. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +38 -11
  271. data/rdoc/RubyXL/PivotCacheRecordsFile.html +121 -0
  272. data/rdoc/RubyXL/PivotCaches.html +10 -10
  273. data/rdoc/RubyXL/PivotReference.html +10 -10
  274. data/rdoc/RubyXL/PivotReferences.html +10 -10
  275. data/rdoc/RubyXL/PivotTableFile.html +38 -11
  276. data/rdoc/RubyXL/PivotTableSelection.html +10 -10
  277. data/rdoc/RubyXL/PresetGeometry.html +10 -10
  278. data/rdoc/RubyXL/PrintOptions.html +10 -10
  279. data/rdoc/RubyXL/PrinterSettingsFile.html +26 -10
  280. data/rdoc/RubyXL/ProtectedRange.html +10 -10
  281. data/rdoc/RubyXL/ProtectedRanges.html +10 -10
  282. data/rdoc/RubyXL/Protection.html +10 -10
  283. data/rdoc/RubyXL/RID.html +7 -10
  284. data/rdoc/RubyXL/RawOOXML.html +7 -10
  285. data/rdoc/RubyXL/Reference.html +7 -10
  286. data/rdoc/RubyXL/Relationship.html +7 -10
  287. data/rdoc/RubyXL/RelationshipSupport.html +324 -10
  288. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +59 -10
  289. data/rdoc/RubyXL/RichText.html +63 -10
  290. data/rdoc/RubyXL/RichTextRun.html +61 -10
  291. data/rdoc/RubyXL/Row.html +329 -10
  292. data/rdoc/RubyXL/RunProperties.html +7 -10
  293. data/rdoc/RubyXL/Scenario.html +10 -10
  294. data/rdoc/RubyXL/Scenarios.html +10 -10
  295. data/rdoc/RubyXL/Selection.html +69 -10
  296. data/rdoc/RubyXL/ShapeGuide.html +10 -10
  297. data/rdoc/RubyXL/ShapeTextRectangle.html +10 -10
  298. data/rdoc/RubyXL/SharedStringsTable.html +9 -12
  299. data/rdoc/RubyXL/Sheet.html +10 -10
  300. data/rdoc/RubyXL/SheetCalculationProperties.html +10 -10
  301. data/rdoc/RubyXL/SheetData.html +96 -10
  302. data/rdoc/RubyXL/Sheets.html +10 -10
  303. data/rdoc/RubyXL/SlicerCacheFile.html +26 -10
  304. data/rdoc/RubyXL/SlicerFile.html +26 -10
  305. data/rdoc/RubyXL/SmartTagProperties.html +10 -10
  306. data/rdoc/RubyXL/SmartTagType.html +10 -10
  307. data/rdoc/RubyXL/SmartTagTypes.html +10 -10
  308. data/rdoc/RubyXL/SmartTags.html +10 -10
  309. data/rdoc/RubyXL/SortCondition.html +10 -10
  310. data/rdoc/RubyXL/SortState.html +10 -10
  311. data/rdoc/RubyXL/Sqref.html +7 -10
  312. data/rdoc/RubyXL/Stop.html +7 -10
  313. data/rdoc/RubyXL/StringNode.html +7 -10
  314. data/rdoc/RubyXL/StringNodeW3C.html +7 -10
  315. data/rdoc/RubyXL/StringValue.html +7 -10
  316. data/rdoc/RubyXL/Stylesheet.html +211 -10
  317. data/rdoc/RubyXL/TableFile.html +26 -10
  318. data/rdoc/RubyXL/TableParts.html +7 -10
  319. data/rdoc/RubyXL/TableStyle.html +10 -10
  320. data/rdoc/RubyXL/TableStyles.html +10 -10
  321. data/rdoc/RubyXL/Text.html +33 -13
  322. data/rdoc/RubyXL/Theme.html +439 -10
  323. data/rdoc/RubyXL/ThemeElements.html +10 -10
  324. data/rdoc/RubyXL/ThumbnailFile.html +26 -10
  325. data/rdoc/RubyXL/Top10.html +10 -10
  326. data/rdoc/RubyXL/VMLDrawingFile.html +39 -11
  327. data/rdoc/RubyXL/Variant.html +7 -10
  328. data/rdoc/RubyXL/Vector.html +65 -10
  329. data/rdoc/RubyXL/VectorValue.html +7 -10
  330. data/rdoc/RubyXL/VisualProperties.html +10 -10
  331. data/rdoc/RubyXL/WebPublishObject.html +10 -10
  332. data/rdoc/RubyXL/WebPublishObjects.html +10 -10
  333. data/rdoc/RubyXL/WebPublishingItem.html +7 -10
  334. data/rdoc/RubyXL/WebPublishingItems.html +10 -10
  335. data/rdoc/RubyXL/WebPublishingProperties.html +10 -10
  336. data/rdoc/RubyXL/Workbook.html +514 -10
  337. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +7 -10
  338. data/rdoc/RubyXL/WorkbookProperties.html +7 -10
  339. data/rdoc/RubyXL/WorkbookProtection.html +10 -10
  340. data/rdoc/RubyXL/WorkbookRoot.html +7 -10
  341. data/rdoc/RubyXL/WorkbookView.html +10 -10
  342. data/rdoc/RubyXL/WorkbookViews.html +10 -10
  343. data/rdoc/RubyXL/Worksheet.html +337 -10
  344. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +2624 -10
  345. data/rdoc/RubyXL/WorksheetDimensions.html +10 -10
  346. data/rdoc/RubyXL/WorksheetFormatProperties.html +7 -10
  347. data/rdoc/RubyXL/WorksheetProperties.html +7 -10
  348. data/rdoc/RubyXL/WorksheetProtection.html +10 -10
  349. data/rdoc/RubyXL/WorksheetView.html +10 -10
  350. data/rdoc/RubyXL/WorksheetViews.html +10 -10
  351. data/rdoc/RubyXL/XF.html +10 -10
  352. data/rdoc/created.rid +8 -8
  353. data/rdoc/{fonts.css → css/fonts.css} +0 -0
  354. data/rdoc/{rdoc.css → css/rdoc.css} +11 -1
  355. data/rdoc/index.html +570 -11
  356. data/rdoc/js/darkfish.js +32 -11
  357. data/rdoc/js/navigation.js.gz +0 -0
  358. data/rdoc/js/search_index.js +1 -1
  359. data/rdoc/js/search_index.js.gz +0 -0
  360. data/rdoc/js/searcher.js.gz +0 -0
  361. data/rdoc/table_of_contents.html +1920 -295
  362. data/rubyXL.gemspec +9 -5
  363. metadata +8 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 03e325c970ee0072f9d5613618a0926e13ca7497
4
- data.tar.gz: 727e18a0e531e8cbdcba49923636b5ceaa4e4c6a
3
+ metadata.gz: faa517b01e7209e004e94ee11315a4080b68cdef
4
+ data.tar.gz: 6a560263f6aa97b8e8970c092687c411e311e112
5
5
  SHA512:
6
- metadata.gz: 7cd3e317b6c387b13a72b857faefc78b03d113f1979226dfb7f4227de0d995d752b3de4f692b5cf4f876c78851ab0fd6c48daf8a2d664215d1e29509864818d6
7
- data.tar.gz: c14f6cfffe4f550544f87ab24fde278431963ccf5ac3da180a8abd6f8aadf3e3feb87dc50fbc3d4ead5ad60fdc1a16e781460f08a4973f722ae656f798acf710
6
+ metadata.gz: e2c8048fd3f3fc0ec15dd3ec5cab2d8cbd8bdeb00301699a41065f16e363ef7077d0cc541818f2c09ffef9b7aa98bedb1f017eabcbc26b6469755dd144780dec
7
+ data.tar.gz: 77a9c24dc08d450c230a33f1369f606d65c7756f3abf879ad7148308704effa35ffeaffeba63a706aeb92b567156c7603e61fb500882efc00a228dd5804e7e73
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.3.1
1
+ 3.3.2
@@ -56,11 +56,16 @@ module RubyXL
56
56
  # Add overrides for the files with known extensions but different content types.
57
57
  root.rels_hash.each_pair { |klass, objects|
58
58
  objects.each { |obj|
59
- next unless defined?(klass::CONTENT_TYPE)
59
+ obj_content_type = case
60
+ when obj.respond_to?(:content_type) then obj.content_type
61
+ when defined?(klass::CONTENT_TYPE) then klass::CONTENT_TYPE
62
+ else next
63
+ end
64
+
60
65
  ext = obj.xlsx_path.extname[1..-1]
61
- next if defaults.any? { |d| (d.extension == ext) && (d.content_type == klass::CONTENT_TYPE) }
66
+ next if defaults.any? { |d| (d.extension == ext) && (d.content_type == obj_content_type) }
62
67
  overrides << RubyXL::ContentTypeOverride.new(:part_name => obj.xlsx_path,
63
- :content_type => klass::CONTENT_TYPE)
68
+ :content_type => obj_content_type)
64
69
  }
65
70
  }
66
71
 
@@ -382,7 +382,6 @@ module RubyXL
382
382
  "<#{self.class}: #{super} #{vars.join(", ")}>"
383
383
  end
384
384
 
385
-
386
385
  class << self
387
386
  def define_count_attribute
388
387
  # Count will be inherited from Array. so no need to define it explicitly.
@@ -130,7 +130,7 @@ module RubyXL
130
130
 
131
131
  end
132
132
 
133
-
133
+ # +RelationshipSupport+ module enables automatic loading and saving of _rels for the respective file
134
134
  module RelationshipSupport
135
135
 
136
136
  module ClassMehods
@@ -60,10 +60,19 @@ module RubyXL
60
60
 
61
61
  end
62
62
 
63
+ class BinaryImageFile < GenericStorageObject
64
+ CONTENT_TYPE = 'image/jpeg'
65
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image'
66
+ end
67
+
63
68
  class VMLDrawingFile < GenericStorageObject
64
69
  CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.vmlDrawing'
65
70
  # CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.drawingml.chart+xml'
66
71
  REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing'
72
+
73
+ include RubyXL::RelationshipSupport
74
+
75
+ define_relationship(RubyXL::BinaryImageFile)
67
76
  end
68
77
 
69
78
  class ChartColorsFile < GenericStorageObject
@@ -77,6 +86,7 @@ module RubyXL
77
86
  end
78
87
 
79
88
  class TableFile < GenericStorageObject
89
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml'
80
90
  REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/table'
81
91
  end
82
92
 
@@ -84,17 +94,27 @@ module RubyXL
84
94
  REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/ctrlProp'
85
95
  end
86
96
 
87
- class PivotTableFile < GenericStorageObject
88
- REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable'
97
+ class PivotCacheRecordsFile < GenericStorageObject
98
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml'
99
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheRecords'
89
100
  end
90
101
 
91
102
  class PivotCacheDefinitionFile < GenericStorageObject
103
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml'
92
104
  REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition'
105
+
106
+ include RubyXL::RelationshipSupport
107
+
108
+ define_relationship(RubyXL::PivotCacheRecordsFile)
93
109
  end
94
110
 
95
- class BinaryImageFile < GenericStorageObject
96
- CONTENT_TYPE = 'image/jpeg'
97
- REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image'
111
+ class PivotTableFile < GenericStorageObject
112
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml'
113
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable'
114
+
115
+ include RubyXL::RelationshipSupport
116
+
117
+ define_relationship(RubyXL::PivotCacheDefinitionFile)
98
118
  end
99
119
 
100
120
  class HyperlinkRelFile < GenericStorageObject
@@ -131,10 +151,12 @@ module RubyXL
131
151
  end
132
152
 
133
153
  class SlicerFile < GenericStorageObject
154
+ CONTENT_TYPE = 'application/vnd.ms-excel.slicer+xml'
134
155
  REL_TYPE = 'http://schemas.microsoft.com/office/2007/relationships/slicer'
135
156
  end
136
157
 
137
158
  class SlicerCacheFile < GenericStorageObject
159
+ CONTENT_TYPE = 'application/vnd.ms-excel.slicerCache+xml'
138
160
  REL_TYPE = 'http://schemas.microsoft.com/office/2007/relationships/slicerCache'
139
161
  end
140
162
 
@@ -144,3 +166,4 @@ module RubyXL
144
166
  end
145
167
 
146
168
  end
169
+
@@ -11,13 +11,20 @@ module RubyXL
11
11
  define_attribute(:'xml:space', :string)
12
12
  define_element_name 't'
13
13
 
14
+ # http://www.w3.org/TR/REC-xml/#NT-Char:
15
+ # Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
16
+
17
+ INVALID_XML10_CHARS = /([^\x09\x0A\x0D\x20-\uD7FF\uE000-\uFFFD\u10000-\u10FFFF])/
18
+ ESCAPED_UNICODE = /_x([0-9A-F]{4})_/
19
+
14
20
  def before_write_xml
15
21
  self.xml_space = (value.is_a?(String) && ((value =~ /\A\s/) || (value =~ /\s\Z/) || value.include?("\n"))) ? 'preserve' : nil
22
+ self.value.gsub!(INVALID_XML10_CHARS) { |c| "_x%04x_" % c.ord }
16
23
  true
17
24
  end
18
25
 
19
26
  def to_s
20
- value.to_s
27
+ value.to_s.gsub(ESCAPED_UNICODE) { |m| $1.hex.chr }
21
28
  end
22
29
  end
23
30
 
@@ -298,12 +298,18 @@ module RubyXL
298
298
  # http://www.schemacentral.com/sc/ooxml/e-ssml_workbook.html
299
299
  class Workbook < OOXMLTopLevelObject
300
300
  CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml'
301
+ CONTENT_TYPE_MACRO = 'application/vnd.ms-excel.sheet.macroEnabled.main+xml'
301
302
  REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument'
302
303
 
303
304
  include RubyXL::RelationshipSupport
304
305
 
306
+ def content_type
307
+ if macros then CONTENT_TYPE_MACRO else CONTENT_TYPE end
308
+ end
309
+
310
+
305
311
  def related_objects
306
- [ calculation_chain, stylesheet, theme, shared_strings_container ] + @worksheets
312
+ [ calculation_chain, stylesheet, theme, shared_strings_container, macros ] + @worksheets
307
313
  end
308
314
 
309
315
  define_relationship(RubyXL::SharedStringsTable, :shared_strings_container)
@@ -314,8 +320,9 @@ module RubyXL
314
320
  define_relationship(RubyXL::Chartsheet, false)
315
321
  define_relationship(RubyXL::ExternalLinksFile)
316
322
  define_relationship(RubyXL::PivotCacheDefinitionFile)
323
+ define_relationship(RubyXL::PivotCacheRecordsFile)
317
324
  define_relationship(RubyXL::CustomXMLFile)
318
- define_relationship(RubyXL::MacrosFile)
325
+ define_relationship(RubyXL::MacrosFile, :macros)
319
326
  define_relationship(RubyXL::SlicerCacheFile)
320
327
 
321
328
  define_child_node(RubyXL::FileVersion)
@@ -4,22 +4,19 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>README - rubyXL 3.3.1</title>
8
-
9
- <link href="./fonts.css" rel="stylesheet">
10
- <link href="./rdoc.css" rel="stylesheet">
7
+ <title>README - rubyXL 3.3.2</title>
11
8
 
12
9
  <script type="text/javascript">
13
10
  var rdoc_rel_prefix = "./";
14
11
  </script>
15
12
 
16
13
  <script src="./js/jquery.js"></script>
17
- <script src="./js/navigation.js"></script>
18
- <script src="./js/search_index.js"></script>
19
- <script src="./js/search.js"></script>
20
- <script src="./js/searcher.js"></script>
21
14
  <script src="./js/darkfish.js"></script>
22
15
 
16
+ <link href="./css/fonts.css" rel="stylesheet">
17
+ <link href="./css/rdoc.css" rel="stylesheet">
18
+
19
+
23
20
 
24
21
  <body id="top" role="document" class="file">
25
22
  <nav role="navigation">
@@ -59,14 +56,14 @@
59
56
 
60
57
  <ul class="link-list" role="directory">
61
58
  <li><a href="#label-rubyXL">rubyXL</a>
62
- <li><a href="#label-To+Install%3A">To Install:</a>
63
- <li><a href="#label-To+Use%3A">To Use:</a>
59
+ <li><a href="#label-To+Install-3A">To Install:</a>
60
+ <li><a href="#label-To+Use-3A">To Use:</a>
64
61
  <li><a href="#label-Parsing+an+existing+workbook">Parsing an existing workbook</a>
65
62
  <li><a href="#label-Creating+a+new+Workbook">Creating a new Workbook</a>
66
63
  <li><a href="#label-Accessing">Accessing</a>
67
64
  <li><a href="#label-Accessing+a+Worksheet">Accessing a Worksheet</a>
68
65
  <li><a href="#label-Accessing+just+the+values">Accessing just the values</a>
69
- <li><a href="#label-Accessing+a+Row+%28Array+of+Cells%29">Accessing a Row (Array of Cells)</a>
66
+ <li><a href="#label-Accessing+a+Row+-28Array+of+Cells-29">Accessing a Row (Array of Cells)</a>
70
67
  <li><a href="#label-Accessing+a+Cell+object">Accessing a Cell object</a>
71
68
  <li><a href="#label-Wrappers+for+accessing+Cell+properties">Wrappers for accessing Cell properties</a>
72
69
  <li><a href="#label-Wrappers+for+accessing+Row+properties+">Wrappers for accessing Row properties </a>
@@ -92,7 +89,7 @@
92
89
  <li><a href="#label-Delete+Column">Delete Column</a>
93
90
  <li><a href="#label-Insert+Cell">Insert Cell</a>
94
91
  <li><a href="#label-Delete+Cell">Delete Cell</a>
95
- <li><a href="#label-I%2FO">I/O</a>
92
+ <li><a href="#label-I-2FO">I/O</a>
96
93
  <li><a href="#label-Writing">Writing</a>
97
94
  <li><a href="#label-Streaming">Streaming</a>
98
95
  <li><a href="#label-Miscellaneous">Miscellaneous</a>
@@ -119,7 +116,7 @@
119
116
 
120
117
  <main role="main" aria-label="Page README.rdoc">
121
118
 
122
- <h1 id="label-rubyXL">rubyXL<span><a href="#label-rubyXL">&para;</a> <a href="#documentation">&uarr;</a></span></h1>
119
+ <h1 id="label-rubyXL">rubyXL<span><a href="#label-rubyXL">&para;</a> <a href="#top">&uarr;</a></span></h1>
123
120
 
124
121
  <p><a href="http://badge.fury.io/rb/rubyXL"><img
125
122
  src="https://badge.fury.io/rb/rubyXL.svg" alt="Gem Version" /></a> <a
@@ -136,179 +133,200 @@ preserving as much of the structure as possible.</p>
136
133
  <p>Please note that proprietary binary <code>xls</code> format is
137
134
  <strong>not</strong> supported.</p>
138
135
 
139
- <h2 id="label-To+Install%3A">To Install:<span><a href="#label-To+Install%3A">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
136
+ <h2 id="label-To+Install-3A">To Install:<span><a href="#label-To+Install-3A">&para;</a> <a href="#top">&uarr;</a></span></h2>
140
137
 
141
- <pre>gem install rubyXL</pre>
138
+ <pre class="ruby"><span class="ruby-identifier">gem</span> <span class="ruby-identifier">install</span> <span class="ruby-identifier">rubyXL</span>
139
+ </pre>
142
140
 
143
- <h2 id="label-To+Use%3A">To Use:<span><a href="#label-To+Use%3A">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
141
+ <h2 id="label-To+Use-3A">To Use:<span><a href="#label-To+Use-3A">&para;</a> <a href="#top">&uarr;</a></span></h2>
144
142
 
145
143
  <pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">&#39;rubyXL&#39;</span> <span class="ruby-comment"># Assuming rubygems is already required</span>
146
144
  </pre>
147
145
 
148
- <h3 id="label-Parsing+an+existing+workbook">Parsing an existing workbook<span><a href="#label-Parsing+an+existing+workbook">&para;</a> <a href="#documentation">&uarr;</a></span></h3>
146
+ <h3 id="label-Parsing+an+existing+workbook">Parsing an existing workbook<span><a href="#label-Parsing+an+existing+workbook">&para;</a> <a href="#top">&uarr;</a></span></h3>
149
147
 
150
- <pre>workbook = RubyXL::Parser.parse(&quot;path/to/Excel/file.xlsx&quot;)</pre>
151
-
152
- <h3 id="label-Creating+a+new+Workbook">Creating a new Workbook<span><a href="#label-Creating+a+new+Workbook">&para;</a> <a href="#documentation">&uarr;</a></span></h3>
148
+ <pre class="ruby"><span class="ruby-identifier">workbook</span> = <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-string">&quot;path/to/Excel/file.xlsx&quot;</span>)
149
+ </pre>
153
150
 
154
- <pre>workbook = RubyXL::Workbook.new</pre>
151
+ <h3 id="label-Creating+a+new+Workbook">Creating a new Workbook<span><a href="#label-Creating+a+new+Workbook">&para;</a> <a href="#top">&uarr;</a></span></h3>
155
152
 
156
- <h3 id="label-Accessing">Accessing<span><a href="#label-Accessing">&para;</a> <a href="#documentation">&uarr;</a></span></h3>
153
+ <pre class="ruby"><span class="ruby-identifier">workbook</span> = <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Workbook</span>.<span class="ruby-identifier">new</span>
154
+ </pre>
157
155
 
158
- <h4 id="label-Accessing+a+Worksheet">Accessing a Worksheet<span><a href="#label-Accessing+a+Worksheet">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
156
+ <h3 id="label-Accessing">Accessing<span><a href="#label-Accessing">&para;</a> <a href="#top">&uarr;</a></span></h3>
159
157
 
160
- <pre>workbook.worksheets[0] # Returns first worksheet
161
- workbook[0] # Returns first worksheet
162
- workbook[&#39;Sheet1&#39;] # Finds and returns worksheet titled &quot;Sheet1&quot;</pre>
158
+ <h4 id="label-Accessing+a+Worksheet">Accessing a Worksheet<span><a href="#label-Accessing+a+Worksheet">&para;</a> <a href="#top">&uarr;</a></span></h4>
163
159
 
164
- <h4 id="label-Accessing+just+the+values">Accessing just the values<span><a href="#label-Accessing+just+the+values">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
160
+ <pre class="ruby"><span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">worksheets</span>[<span class="ruby-value">0</span>] <span class="ruby-comment"># Returns first worksheet</span>
161
+ <span class="ruby-identifier">workbook</span>[<span class="ruby-value">0</span>] <span class="ruby-comment"># Returns first worksheet</span>
162
+ <span class="ruby-identifier">workbook</span>[<span class="ruby-string">&#39;Sheet1&#39;</span>] <span class="ruby-comment"># Finds and returns worksheet titled &quot;Sheet1&quot;</span>
163
+ </pre>
165
164
 
166
- <pre>worksheet = workbook[0]
167
- worksheet.extract_data # Produces a simple rectangular array that consists only of cell values (rather than the Cell objects)</pre>
165
+ <h4 id="label-Accessing+just+the+values">Accessing just the values<span><a href="#label-Accessing+just+the+values">&para;</a> <a href="#top">&uarr;</a></span></h4>
168
166
 
169
- <h4 id="label-Accessing+a+Row+%28Array+of+Cells%29">Accessing a Row (Array of Cells)<span><a href="#label-Accessing+a+Row+%28Array+of+Cells%29">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
167
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span> = <span class="ruby-identifier">workbook</span>[<span class="ruby-value">0</span>]
168
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">extract_data</span> <span class="ruby-comment"># Produces a simple rectangular array that consists only of cell values (rather than the Cell objects)</span>
169
+ </pre>
170
170
 
171
- <pre>worksheet = workbook[0]
172
- worksheet.sheet_data[0] # Returns first row of the worksheet
173
- worksheet[0] # Returns first row of the worksheet</pre>
171
+ <h4 id="label-Accessing+a+Row+-28Array+of+Cells-29">Accessing a Row (Array of Cells)<span><a href="#label-Accessing+a+Row+-28Array+of+Cells-29">&para;</a> <a href="#top">&uarr;</a></span></h4>
174
172
 
175
- <h4 id="label-Accessing+a+Cell+object">Accessing a Cell object<span><a href="#label-Accessing+a+Cell+object">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
173
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span> = <span class="ruby-identifier">workbook</span>[<span class="ruby-value">0</span>]
174
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_data</span>[<span class="ruby-value">0</span>] <span class="ruby-comment"># Returns first row of the worksheet</span>
175
+ <span class="ruby-identifier">worksheet</span>[<span class="ruby-value">0</span>] <span class="ruby-comment"># Returns first row of the worksheet</span>
176
+ </pre>
176
177
 
177
- <pre>worksheet = workbook[0]
178
- worksheet.sheet_data[0][0] # Returns cell A1 in the worksheet
179
- worksheet[0][0] # Returns cell A1 in the worksheet</pre>
178
+ <h4 id="label-Accessing+a+Cell+object">Accessing a Cell object<span><a href="#label-Accessing+a+Cell+object">&para;</a> <a href="#top">&uarr;</a></span></h4>
180
179
 
181
- <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="#documentation">&uarr;</a></span></h4>
180
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span> = <span class="ruby-identifier">workbook</span>[<span class="ruby-value">0</span>]
181
+ <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>
182
+ <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>
183
+ </pre>
182
184
 
183
- <pre>cell = workbook[0][0][0]
184
- cell.is_struckthrough # Returns +true+ if the cell is struckthrough, other boolean properties have same syntax
185
- cell.font_name
186
- cell.font_size
187
- cell.font_color
188
- cell.fill_color
189
- cell.horizontal_alignment
190
- cell.vertical_alignment
191
- cell.border_top</pre>
185
+ <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>
186
+
187
+ <pre class="ruby"><span class="ruby-identifier">cell</span> = <span class="ruby-identifier">workbook</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>][<span class="ruby-value">0</span>]
188
+ <span class="ruby-identifier">cell</span>.<span class="ruby-identifier">is_struckthrough</span> <span class="ruby-comment"># Returns +true+ if the cell is struckthrough, other boolean properties have same syntax</span>
189
+ <span class="ruby-identifier">cell</span>.<span class="ruby-identifier">font_name</span>
190
+ <span class="ruby-identifier">cell</span>.<span class="ruby-identifier">font_size</span>
191
+ <span class="ruby-identifier">cell</span>.<span class="ruby-identifier">font_color</span>
192
+ <span class="ruby-identifier">cell</span>.<span class="ruby-identifier">fill_color</span>
193
+ <span class="ruby-identifier">cell</span>.<span class="ruby-identifier">horizontal_alignment</span>
194
+ <span class="ruby-identifier">cell</span>.<span class="ruby-identifier">vertical_alignment</span>
195
+ <span class="ruby-identifier">cell</span>.<span class="ruby-identifier">border_top</span>
196
+ </pre>
192
197
 
193
- <h4 id="label-Wrappers+for+accessing+Row+properties+">Wrappers for accessing Row properties <span><a href="#label-Wrappers+for+accessing+Row+properties+">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
198
+ <h4 id="label-Wrappers+for+accessing+Row+properties+">Wrappers for accessing Row properties <span><a href="#label-Wrappers+for+accessing+Row+properties+">&para;</a> <a href="#top">&uarr;</a></span></h4>
194
199
 
195
200
  <p>Please note: these methods are being phased out in favor of the OOXML
196
201
  object model.</p>
197
202
 
198
- <pre>worksheet = workbook[0]
199
- worksheet.get_row_fill(0)
200
- worksheet.get_row_font_name(0)
201
- worksheet.get_row_font_size(0)
202
- worksheet.get_row_font_color(0)
203
- worksheet.is_row_underlined(0)
204
- worksheet.get_row_height(0)
205
- worksheet.get_row_horizontal_alignment(0)
206
- worksheet.get_row_vertical_alignment(0)
207
- worksheet.get_row_border_right(0)</pre>
208
-
209
- <h4 id="label-Accessing+column+properties">Accessing column properties<span><a href="#label-Accessing+column+properties">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
203
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span> = <span class="ruby-identifier">workbook</span>[<span class="ruby-value">0</span>]
204
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_fill</span>(<span class="ruby-value">0</span>)
205
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_font_name</span>(<span class="ruby-value">0</span>)
206
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_font_size</span>(<span class="ruby-value">0</span>)
207
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_font_color</span>(<span class="ruby-value">0</span>)
208
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">is_row_underlined</span>(<span class="ruby-value">0</span>)
209
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_height</span>(<span class="ruby-value">0</span>)
210
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_horizontal_alignment</span>(<span class="ruby-value">0</span>)
211
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_vertical_alignment</span>(<span class="ruby-value">0</span>)
212
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_border_right</span>(<span class="ruby-value">0</span>)
213
+ </pre>
214
+
215
+ <h4 id="label-Accessing+column+properties">Accessing column properties<span><a href="#label-Accessing+column+properties">&para;</a> <a href="#top">&uarr;</a></span></h4>
210
216
 
211
217
  <p>Please note: these methods are being phased out in favor of the OOXML
212
218
  object model.</p>
213
219
 
214
- <pre>worksheet = workbook[0]
215
- worksheet.get_column_fill(0)
216
- worksheet.get_column_font_name(0)
217
- worksheet.get_column_font_size(0)
218
- worksheet.get_column_font_color(0)
219
- worksheet.is_column_underlined(0)
220
- worksheet.get_column_width(0)
221
- worksheet.get_column_horizontal_alignment(0)
222
- worksheet.get_column_vertical_alignment(0)
223
- worksheet.get_column_border_right(0)</pre>
224
-
225
- <h4 id="label-Table+identification">Table identification<span><a href="#label-Table+identification">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
226
-
227
220
  <pre class="ruby"><span class="ruby-identifier">worksheet</span> = <span class="ruby-identifier">workbook</span>[<span class="ruby-value">0</span>]
228
- <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_table</span>([<span class="ruby-string">&quot;NAME&quot;</span>, <span class="ruby-string">&quot;AGE&quot;</span>, <span class="ruby-string">&quot;HEIGHT&quot;</span>]) <span class="ruby-comment"># Returns hash of a table in the first worksheet, with the specified strings as headers, accessible by row and column</span>
229
- <span class="ruby-comment">#it returns the following structure</span>
221
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_fill</span>(<span class="ruby-value">0</span>)
222
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_font_name</span>(<span class="ruby-value">0</span>)
223
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_font_size</span>(<span class="ruby-value">0</span>)
224
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_font_color</span>(<span class="ruby-value">0</span>)
225
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">is_column_underlined</span>(<span class="ruby-value">0</span>)
226
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_width</span>(<span class="ruby-value">0</span>)
227
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_horizontal_alignment</span>(<span class="ruby-value">0</span>)
228
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_vertical_alignment</span>(<span class="ruby-value">0</span>)
229
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_border_right</span>(<span class="ruby-value">0</span>)
230
+ </pre>
231
+
232
+ <h4 id="label-Table+identification">Table identification<span><a href="#label-Table+identification">&para;</a> <a href="#top">&uarr;</a></span></h4>
233
+
234
+ <pre>worksheet = workbook[0]
235
+ worksheet.get_table([&quot;NAME&quot;, &quot;AGE&quot;, &quot;HEIGHT&quot;]) # Returns hash of a table in the first worksheet, with the specified strings as headers, accessible by row and column
236
+ #it returns the following structure
230
237
  {
231
- :<span class="ruby-constant">Name=</span><span class="ruby-operator">&gt;</span>[<span class="ruby-string">&quot;John&quot;</span>, <span class="ruby-string">&quot;Jane&quot;</span>, <span class="ruby-string">&quot;Joe&quot;</span>],
232
- :<span class="ruby-constant">Height=</span><span class="ruby-operator">&gt;</span>[<span class="ruby-value">70</span>, <span class="ruby-value">65</span>, <span class="ruby-value">68</span>],
233
- :<span class="ruby-constant">Age=</span><span class="ruby-operator">&gt;</span>[<span class="ruby-value">30</span>, <span class="ruby-value">25</span>, <span class="ruby-value">35</span>]
234
- :<span class="ruby-identifier">table=</span><span class="ruby-operator">&gt;</span>[
235
- {:<span class="ruby-constant">Name=</span><span class="ruby-operator">&gt;</span><span class="ruby-string">&quot;John&quot;</span>, :<span class="ruby-constant">Height=</span><span class="ruby-operator">&gt;</span><span class="ruby-value">70</span>, :<span class="ruby-constant">Age=</span><span class="ruby-operator">&gt;</span><span class="ruby-value">30</span>},
236
- {:<span class="ruby-constant">Name=</span><span class="ruby-operator">&gt;</span><span class="ruby-string">&quot;Jane&quot;</span>, :<span class="ruby-constant">Height=</span><span class="ruby-operator">&gt;</span><span class="ruby-value">65</span>, :<span class="ruby-constant">Age=</span><span class="ruby-operator">&gt;</span><span class="ruby-value">25</span>},
237
- {:<span class="ruby-constant">Name=</span><span class="ruby-operator">&gt;</span><span class="ruby-string">&quot;Joe&quot;</span>, :<span class="ruby-constant">Height=</span><span class="ruby-operator">&gt;</span><span class="ruby-value">68</span>, :<span class="ruby-constant">Age=</span><span class="ruby-operator">&gt;</span><span class="ruby-value">35</span>}
238
+ :Name=&gt;[&quot;John&quot;, &quot;Jane&quot;, &quot;Joe&quot;],
239
+ :Height=&gt;[70, 65, 68],
240
+ :Age=&gt;[30, 25, 35]
241
+ :table=&gt;[
242
+ {:Name=&gt;&quot;John&quot;, :Height=&gt;70, :Age=&gt;30},
243
+ {:Name=&gt;&quot;Jane&quot;, :Height=&gt;65, :Age=&gt;25},
244
+ {:Name=&gt;&quot;Joe&quot;, :Height=&gt;68, :Age=&gt;35}
238
245
  ]
239
- }
240
- </pre>
246
+ }</pre>
241
247
 
242
- <h3 id="label-Modifying">Modifying<span><a href="#label-Modifying">&para;</a> <a href="#documentation">&uarr;</a></span></h3>
248
+ <h3 id="label-Modifying">Modifying<span><a href="#label-Modifying">&para;</a> <a href="#top">&uarr;</a></span></h3>
243
249
 
244
- <h4 id="label-Adding+Worksheets">Adding Worksheets<span><a href="#label-Adding+Worksheets">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
250
+ <h4 id="label-Adding+Worksheets">Adding Worksheets<span><a href="#label-Adding+Worksheets">&para;</a> <a href="#top">&uarr;</a></span></h4>
245
251
 
246
- <pre>worksheet = workbook.add_worksheet(&#39;Sheet2&#39;)</pre>
252
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span> = <span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">add_worksheet</span>(<span class="ruby-string">&#39;Sheet2&#39;</span>)
253
+ </pre>
247
254
 
248
- <h4 id="label-Renaming+Worksheets">Renaming Worksheets<span><a href="#label-Renaming+Worksheets">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
255
+ <h4 id="label-Renaming+Worksheets">Renaming Worksheets<span><a href="#label-Renaming+Worksheets">&para;</a> <a href="#top">&uarr;</a></span></h4>
249
256
 
250
- <pre>worksheet.sheet_name = &#39;Cool New Name&#39;</pre>
257
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_name</span> = <span class="ruby-string">&#39;Cool New Name&#39;</span>
258
+ </pre>
251
259
 
252
- <h4 id="label-Adding+Cells">Adding Cells<span><a href="#label-Adding+Cells">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
260
+ <h4 id="label-Adding+Cells">Adding Cells<span><a href="#label-Adding+Cells">&para;</a> <a href="#top">&uarr;</a></span></h4>
253
261
 
254
- <pre>worksheet.add_cell(0, 0, &#39;A1&#39;) # Sets cell A1 to string &quot;A1&quot;
255
- worksheet.add_cell(0, 1, &#39;&#39;, &#39;A1&#39;) # Sets formula in the cell B1 to &#39;=A1&#39;</pre>
262
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">add_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-string">&#39;A1&#39;</span>) <span class="ruby-comment"># Sets cell A1 to string &quot;A1&quot;</span>
263
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">add_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">1</span>, <span class="ruby-string">&#39;&#39;</span>, <span class="ruby-string">&#39;A1&#39;</span>) <span class="ruby-comment"># Sets formula in the cell B1 to &#39;=A1&#39;</span>
264
+ </pre>
256
265
 
257
- <h4 id="label-Changing+Cells">Changing Cells<span><a href="#label-Changing+Cells">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
266
+ <h4 id="label-Changing+Cells">Changing Cells<span><a href="#label-Changing+Cells">&para;</a> <a href="#top">&uarr;</a></span></h4>
258
267
 
259
- <pre>worksheet[0][0].change_contents(&quot;&quot;, worksheet[0][0].formula) # Sets value of cell A1 to empty string, preserves formula</pre>
268
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>].<span class="ruby-identifier">change_contents</span>(<span class="ruby-string">&quot;&quot;</span>, <span class="ruby-identifier">worksheet</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>].<span class="ruby-identifier">formula</span>) <span class="ruby-comment"># Sets value of cell A1 to empty string, preserves formula</span>
269
+ </pre>
260
270
 
261
- <h4 id="label-Changing+Fonts">Changing Fonts<span><a href="#label-Changing+Fonts">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
271
+ <h4 id="label-Changing+Fonts">Changing Fonts<span><a href="#label-Changing+Fonts">&para;</a> <a href="#top">&uarr;</a></span></h4>
262
272
 
263
- <pre>worksheet.sheet_data[0][0].change_font_bold(true) # Makes A1 bold
264
- worksheet.change_row_italics(0,true) # Makes first row italicized
265
- worksheet.change_column_font_name(0, &#39;Courier&#39;) # Makes first column have font Courier</pre>
273
+ <pre class="ruby"><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-identifier">change_font_bold</span>(<span class="ruby-keyword">true</span>) <span class="ruby-comment"># Makes A1 bold</span>
274
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_row_italics</span>(<span class="ruby-value">0</span>,<span class="ruby-keyword">true</span>) <span class="ruby-comment"># Makes first row italicized</span>
275
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_column_font_name</span>(<span class="ruby-value">0</span>, <span class="ruby-string">&#39;Courier&#39;</span>) <span class="ruby-comment"># Makes first column have font Courier</span>
276
+ </pre>
266
277
 
267
- <h4 id="label-Changing+Fills+++++">Changing Fills <span><a href="#label-Changing+Fills+++++">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
278
+ <h4 id="label-Changing+Fills+++++">Changing Fills <span><a href="#label-Changing+Fills+++++">&para;</a> <a href="#top">&uarr;</a></span></h4>
268
279
 
269
- <pre>worksheet.sheet_data[0][0].change_fill(&#39;0ba53d&#39;) # Sets A1 to have fill #0ba53d
270
- worksheet.change_row_fill(0, &#39;0ba53d&#39;) # Sets first row to have fill #0ba53d
271
- worksheet.change_column_fill(0, &#39;0ba53d&#39;) # Sets first column to have fill #0ba53d</pre>
280
+ <pre class="ruby"><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-identifier">change_fill</span>(<span class="ruby-string">&#39;0ba53d&#39;</span>) <span class="ruby-comment"># Sets A1 to have fill #0ba53d</span>
281
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_row_fill</span>(<span class="ruby-value">0</span>, <span class="ruby-string">&#39;0ba53d&#39;</span>) <span class="ruby-comment"># Sets first row to have fill #0ba53d</span>
282
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_column_fill</span>(<span class="ruby-value">0</span>, <span class="ruby-string">&#39;0ba53d&#39;</span>) <span class="ruby-comment"># Sets first column to have fill #0ba53d</span>
283
+ </pre>
272
284
 
273
- <h4 id="label-Changing+Borders">Changing Borders<span><a href="#label-Changing+Borders">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
285
+ <h4 id="label-Changing+Borders">Changing Borders<span><a href="#label-Changing+Borders">&para;</a> <a href="#top">&uarr;</a></span></h4>
274
286
 
275
- <pre># Possible weights: hairline, thin, medium, thick
276
- # Possible &quot;directions&quot;: top, bottom, left, right, diagonal
277
- worksheet.sheet_data[0][0].change_border(:top, &#39;thin&#39;) # Sets A1 to have a top, thin border
278
- worksheet.change_row_border(0, :left, &#39;hairline&#39;) # Sets first row to have a left, hairline border
279
- worksheet.change_column_border(0, :diagonal, &#39;medium&#39;) # Sets first column to have diagonal, medium border</pre>
287
+ <pre class="ruby"><span class="ruby-comment"># Possible weights: hairline, thin, medium, thick</span>
288
+ <span class="ruby-comment"># Possible &quot;directions&quot;: top, bottom, left, right, diagonal</span>
289
+ <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-identifier">change_border</span>(:<span class="ruby-identifier">top</span>, <span class="ruby-string">&#39;thin&#39;</span>) <span class="ruby-comment"># Sets A1 to have a top, thin border</span>
290
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_row_border</span>(<span class="ruby-value">0</span>, :<span class="ruby-identifier">left</span>, <span class="ruby-string">&#39;hairline&#39;</span>) <span class="ruby-comment"># Sets first row to have a left, hairline border</span>
291
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_column_border</span>(<span class="ruby-value">0</span>, :<span class="ruby-identifier">diagonal</span>, <span class="ruby-string">&#39;medium&#39;</span>) <span class="ruby-comment"># Sets first column to have diagonal, medium border</span>
292
+ </pre>
280
293
 
281
- <h4 id="label-Changing+Alignment">Changing Alignment<span><a href="#label-Changing+Alignment">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
294
+ <h4 id="label-Changing+Alignment">Changing Alignment<span><a href="#label-Changing+Alignment">&para;</a> <a href="#top">&uarr;</a></span></h4>
282
295
 
283
- <h5 id="label-Horizontal">Horizontal<span><a href="#label-Horizontal">&para;</a> <a href="#documentation">&uarr;</a></span></h5>
296
+ <h5 id="label-Horizontal">Horizontal<span><a href="#label-Horizontal">&para;</a> <a href="#top">&uarr;</a></span></h5>
284
297
 
285
298
  <p>center, distributed, justify, left, right</p>
286
299
 
287
- <pre>worksheet.sheet_data[0][0].change_horizontal_alignment(&#39;center&#39;) # Sets A1 to be centered
288
- worksheet.change_row_horizontal_alignment(0, &#39;justify&#39;) # Sets first row to be justified
289
- worksheet.change_column_horizontal_alignment(0, &#39;right&#39;) # Sets first column to be right-aligned</pre>
300
+ <pre class="ruby"><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-identifier">change_horizontal_alignment</span>(<span class="ruby-string">&#39;center&#39;</span>) <span class="ruby-comment"># Sets A1 to be centered</span>
301
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_row_horizontal_alignment</span>(<span class="ruby-value">0</span>, <span class="ruby-string">&#39;justify&#39;</span>) <span class="ruby-comment"># Sets first row to be justified</span>
302
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_column_horizontal_alignment</span>(<span class="ruby-value">0</span>, <span class="ruby-string">&#39;right&#39;</span>) <span class="ruby-comment"># Sets first column to be right-aligned</span>
303
+ </pre>
290
304
 
291
- <h5 id="label-Vertical">Vertical<span><a href="#label-Vertical">&para;</a> <a href="#documentation">&uarr;</a></span></h5>
305
+ <h5 id="label-Vertical">Vertical<span><a href="#label-Vertical">&para;</a> <a href="#top">&uarr;</a></span></h5>
292
306
 
293
307
  <p>bottom, center, distributed, top</p>
294
308
 
295
- <pre>worksheet.sheet_data[0][0].change_vertical_alignment(&#39;bottom&#39;) # Sets A1 to be bottom aligned
296
- worksheet.change_row_vertical_alignment(0, &#39;distributed&#39;) # Sets first row to be distributed vertically
297
- worksheet.change_column_vertical_alignment(0, &#39;top&#39;) # Sets first column to be top aligned</pre>
309
+ <pre class="ruby"><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-identifier">change_vertical_alignment</span>(<span class="ruby-string">&#39;bottom&#39;</span>) <span class="ruby-comment"># Sets A1 to be bottom aligned</span>
310
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_row_vertical_alignment</span>(<span class="ruby-value">0</span>, <span class="ruby-string">&#39;distributed&#39;</span>) <span class="ruby-comment"># Sets first row to be distributed vertically</span>
311
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_column_vertical_alignment</span>(<span class="ruby-value">0</span>, <span class="ruby-string">&#39;top&#39;</span>) <span class="ruby-comment"># Sets first column to be top aligned</span>
312
+ </pre>
298
313
 
299
- <h4 id="label-Changing+Row+Height">Changing Row Height<span><a href="#label-Changing+Row+Height">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
314
+ <h4 id="label-Changing+Row+Height">Changing Row Height<span><a href="#label-Changing+Row+Height">&para;</a> <a href="#top">&uarr;</a></span></h4>
300
315
 
301
- <pre>worksheet.change_row_height(0, 30) # Sets first row height to 30</pre>
316
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_row_height</span>(<span class="ruby-value">0</span>, <span class="ruby-value">30</span>) <span class="ruby-comment"># Sets first row height to 30</span>
317
+ </pre>
302
318
 
303
- <h4 id="label-Changing+Column+Width">Changing Column Width<span><a href="#label-Changing+Column+Width">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
319
+ <h4 id="label-Changing+Column+Width">Changing Column Width<span><a href="#label-Changing+Column+Width">&para;</a> <a href="#top">&uarr;</a></span></h4>
304
320
 
305
- <pre>worksheet.change_column_width(0, 30) # Sets first column width to 30</pre>
321
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_column_width</span>(<span class="ruby-value">0</span>, <span class="ruby-value">30</span>) <span class="ruby-comment"># Sets first column width to 30</span>
322
+ </pre>
306
323
 
307
- <h4 id="label-Merging+Cells">Merging Cells<span><a href="#label-Merging+Cells">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
324
+ <h4 id="label-Merging+Cells">Merging Cells<span><a href="#label-Merging+Cells">&para;</a> <a href="#top">&uarr;</a></span></h4>
308
325
 
309
- <pre>worksheet.merge_cells(0, 0, 1, 1) # Merges A1:B2</pre>
326
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">merge_cells</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">1</span>, <span class="ruby-value">1</span>) <span class="ruby-comment"># Merges A1:B2</span>
327
+ </pre>
310
328
 
311
- <h4 id="label-Insert+Row">Insert Row<span><a href="#label-Insert+Row">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
329
+ <h4 id="label-Insert+Row">Insert Row<span><a href="#label-Insert+Row">&para;</a> <a href="#top">&uarr;</a></span></h4>
312
330
 
313
331
  <p>This method will insert a row at specified index, pushing all rows below it
314
332
  down. It also copies styles from row above.</p>
@@ -316,9 +334,10 @@ down. It also copies styles from row above.</p>
316
334
  <p>WARNING: Use of this method WILL break formulas referencing cells which
317
335
  have been moved, as the formulas do not adapt to the shifted rows</p>
318
336
 
319
- <pre>worksheet.insert_row(1)</pre>
337
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">insert_row</span>(<span class="ruby-value">1</span>)
338
+ </pre>
320
339
 
321
- <h4 id="label-Insert+Column">Insert Column<span><a href="#label-Insert+Column">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
340
+ <h4 id="label-Insert+Column">Insert Column<span><a href="#label-Insert+Column">&para;</a> <a href="#top">&uarr;</a></span></h4>
322
341
 
323
342
  <p>This method will insert a column at specified index, pushing all columns to
324
343
  the right of it one to the right. It also copies styles from column to the
@@ -327,9 +346,10 @@ left</p>
327
346
  <p>WARNING: Use of this method WILL break formulas referencing cells which
328
347
  have been moved, as the formulas do not adapt to the shifted columns</p>
329
348
 
330
- <pre>worksheet.insert_column(1)</pre>
349
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">insert_column</span>(<span class="ruby-value">1</span>)
350
+ </pre>
331
351
 
332
- <h4 id="label-Delete+Row">Delete Row<span><a href="#label-Delete+Row">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
352
+ <h4 id="label-Delete+Row">Delete Row<span><a href="#label-Delete+Row">&para;</a> <a href="#top">&uarr;</a></span></h4>
333
353
 
334
354
  <p>This method will delete a row at specified index, pushing all rows below it
335
355
  up.</p>
@@ -337,9 +357,10 @@ up.</p>
337
357
  <p>WARNING: Use of this method WILL break formulas referencing cells which
338
358
  have been moved, as the formulas do not adapt to the shifted rows</p>
339
359
 
340
- <pre>worksheet.delete_row(1)</pre>
360
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">delete_row</span>(<span class="ruby-value">1</span>)
361
+ </pre>
341
362
 
342
- <h4 id="label-Delete+Column">Delete Column<span><a href="#label-Delete+Column">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
363
+ <h4 id="label-Delete+Column">Delete Column<span><a href="#label-Delete+Column">&para;</a> <a href="#top">&uarr;</a></span></h4>
343
364
 
344
365
  <p>This method will delete a column at specified index, pushing all columns to
345
366
  the right of it left.</p>
@@ -347,9 +368,10 @@ the right of it left.</p>
347
368
  <p>WARNING: Use of this method WILL break formulas referencing cells which
348
369
  have been moved, as the formulas do not adapt to the shifted columns</p>
349
370
 
350
- <pre>worksheet.delete_column(1)</pre>
371
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">delete_column</span>(<span class="ruby-value">1</span>)
372
+ </pre>
351
373
 
352
- <h4 id="label-Insert+Cell">Insert Cell<span><a href="#label-Insert+Cell">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
374
+ <h4 id="label-Insert+Cell">Insert Cell<span><a href="#label-Insert+Cell">&para;</a> <a href="#top">&uarr;</a></span></h4>
353
375
 
354
376
  <p>This method will insert a cell at specified position. It takes a :right or
355
377
  :down option, to shift cells either left or down upon inserting (nil means
@@ -358,11 +380,12 @@ replacing the cell)</p>
358
380
  <p>WARNING: Use of this method WILL break formulas referencing cells which
359
381
  have been moved, as the formulas do not adapt to the shifted cells</p>
360
382
 
361
- <pre>worksheet.insert_cell(0, 0, &quot;blah&quot;, formula = nil, :right) # Inserts cell at A1, shifts cells in first row right
362
- worksheet.insert_cell(0, 0, &quot;blah&quot;, formula = nil, :down) # Inserts cell at A1, shifts cells in first column down
363
- worksheet.insert_cell(0, 0, &quot;blah&quot;) # Inserts cell at A1, shifts nothing</pre>
383
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">insert_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-string">&quot;blah&quot;</span>, <span class="ruby-identifier">formula</span> = <span class="ruby-keyword">nil</span>, :<span class="ruby-identifier">right</span>) <span class="ruby-comment"># Inserts cell at A1, shifts cells in first row right</span>
384
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">insert_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-string">&quot;blah&quot;</span>, <span class="ruby-identifier">formula</span> = <span class="ruby-keyword">nil</span>, :<span class="ruby-identifier">down</span>) <span class="ruby-comment"># Inserts cell at A1, shifts cells in first column down</span>
385
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">insert_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-string">&quot;blah&quot;</span>) <span class="ruby-comment"># Inserts cell at A1, shifts nothing</span>
386
+ </pre>
364
387
 
365
- <h4 id="label-Delete+Cell">Delete Cell<span><a href="#label-Delete+Cell">&para;</a> <a href="#documentation">&uarr;</a></span></h4>
388
+ <h4 id="label-Delete+Cell">Delete Cell<span><a href="#label-Delete+Cell">&para;</a> <a href="#top">&uarr;</a></span></h4>
366
389
 
367
390
  <p>This method will delete a cell at specified position. It takes a :left or
368
391
  :up option, to shift cells either up or left upon deletion (nil means
@@ -371,34 +394,38 @@ simply deleting the cell contents)</p>
371
394
  <p>WARNING: Use of this method WILL break formulas referencing cells which
372
395
  have been moved, as the formulas do not adapt to the shifted cells</p>
373
396
 
374
- <pre>worksheet.delete_cell(0, 0, :left) # Deletes A1, shifts contents of first row left
375
- worksheet.delete_cell(0, 0, :up) # Deletes A1, shifts contents of first column up
376
- worksheet.delete_cell(0, 0) # Deletes A1, does not shift cells</pre>
397
+ <pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">delete_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, :<span class="ruby-identifier">left</span>) <span class="ruby-comment"># Deletes A1, shifts contents of first row left</span>
398
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">delete_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, :<span class="ruby-identifier">up</span>) <span class="ruby-comment"># Deletes A1, shifts contents of first column up</span>
399
+ <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">delete_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>) <span class="ruby-comment"># Deletes A1, does not shift cells</span>
400
+ </pre>
377
401
 
378
- <h2 id="label-I%2FO">I/O<span><a href="#label-I%2FO">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
402
+ <h2 id="label-I-2FO">I/O<span><a href="#label-I-2FO">&para;</a> <a href="#top">&uarr;</a></span></h2>
379
403
 
380
- <h3 id="label-Writing">Writing<span><a href="#label-Writing">&para;</a> <a href="#documentation">&uarr;</a></span></h3>
404
+ <h3 id="label-Writing">Writing<span><a href="#label-Writing">&para;</a> <a href="#top">&uarr;</a></span></h3>
381
405
 
382
- <pre>workbook.write(&quot;path/to/desired/Excel/file.xlsx&quot;)</pre>
406
+ <pre class="ruby"><span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">write</span>(<span class="ruby-string">&quot;path/to/desired/Excel/file.xlsx&quot;</span>)
407
+ </pre>
383
408
 
384
- <h3 id="label-Streaming">Streaming<span><a href="#label-Streaming">&para;</a> <a href="#documentation">&uarr;</a></span></h3>
409
+ <h3 id="label-Streaming">Streaming<span><a href="#label-Streaming">&para;</a> <a href="#top">&uarr;</a></span></h3>
385
410
 
386
411
  <p>The gem can provide <code>StringIO</code> object containing the resulting
387
412
  <code>xlsx</code> file, eliminating the need to save it to disk first. This
388
413
  capability comes in handy for web servers.</p>
389
414
 
390
- <pre>workbook.stream</pre>
415
+ <pre class="ruby"><span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">stream</span>
416
+ </pre>
391
417
 
392
- <h2 id="label-Miscellaneous">Miscellaneous<span><a href="#label-Miscellaneous">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
418
+ <h2 id="label-Miscellaneous">Miscellaneous<span><a href="#label-Miscellaneous">&para;</a> <a href="#top">&uarr;</a></span></h2>
393
419
 
394
- <pre>Reference.ind2ref(0,0) == &#39;A1&#39; # Converts row and column index to Excel-style cell reference
395
- Reference.ref2ind(&#39;A1&#39;) == [0, 0] # Converts Excel-style cell reference to row and column index</pre>
420
+ <pre class="ruby"><span class="ruby-constant">Reference</span>.<span class="ruby-identifier">ind2ref</span>(<span class="ruby-value">0</span>,<span class="ruby-value">0</span>) <span class="ruby-operator">==</span> <span class="ruby-string">&#39;A1&#39;</span> <span class="ruby-comment"># Converts row and column index to Excel-style cell reference</span>
421
+ <span class="ruby-constant">Reference</span>.<span class="ruby-identifier">ref2ind</span>(<span class="ruby-string">&#39;A1&#39;</span>) <span class="ruby-operator">==</span> [<span class="ruby-value">0</span>, <span class="ruby-value">0</span>] <span class="ruby-comment"># Converts Excel-style cell reference to row and column index</span>
422
+ </pre>
396
423
 
397
- <h2 id="label-For+more+information">For more information<span><a href="#label-For+more+information">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
424
+ <h2 id="label-For+more+information">For more information<span><a href="#label-For+more+information">&para;</a> <a href="#top">&uarr;</a></span></h2>
398
425
 
399
426
  <p>Take a look at the files in spec/lib/ for rspecs on most methods</p>
400
427
 
401
- <h2 id="label-Contributing+to+rubyXL">Contributing to rubyXL<span><a href="#label-Contributing+to+rubyXL">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
428
+ <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>
402
429
  <ul><li>
403
430
  <p>Check out the latest master to make sure the feature hasn&#39;t been
404
431
  implemented or the bug hasn&#39;t been fixed yet</p>
@@ -420,7 +447,7 @@ to have your own version, or is otherwise necessary, that is fine, but
420
447
  please isolate to its own commit so I can cherry-pick around it.</p>
421
448
  </li></ul>
422
449
 
423
- <h2 id="label-Copyright">Copyright<span><a href="#label-Copyright">&para;</a> <a href="#documentation">&uarr;</a></span></h2>
450
+ <h2 id="label-Copyright">Copyright<span><a href="#label-Copyright">&para;</a> <a href="#top">&uarr;</a></span></h2>
424
451
 
425
452
  <p>Copyright © 2011 Vivek Bhagwat, 2013-2014 Wesha. See LICENSE.txt for
426
453
  further details.</p>
@@ -430,7 +457,7 @@ further details.</p>
430
457
 
431
458
  <footer id="validator-badges" role="contentinfo">
432
459
  <p><a href="http://validator.w3.org/check/referer">Validate</a>
433
- <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.2.
434
- <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
460
+ <p>Generated by <a href="http://docs.seattlerb.org/rdoc/">RDoc</a> 4.2.0.
461
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
435
462
  </footer>
436
463