rubyXL 2.5.7 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (377) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/rubyXL.rb +4 -1
  4. data/lib/rubyXL/objects/calculation_chain.rb +4 -6
  5. data/lib/rubyXL/objects/chartsheet.rb +16 -13
  6. data/lib/rubyXL/objects/color.rb +1 -1
  7. data/lib/rubyXL/objects/comments.rb +46 -0
  8. data/lib/rubyXL/objects/content_types.rb +17 -55
  9. data/lib/rubyXL/objects/document_properties.rb +13 -15
  10. data/lib/rubyXL/objects/filters.rb +1 -1
  11. data/lib/rubyXL/objects/ooxml_object.rb +24 -11
  12. data/lib/rubyXL/objects/reference.rb +1 -1
  13. data/lib/rubyXL/objects/relationships.rb +147 -31
  14. data/lib/rubyXL/objects/root.rb +57 -0
  15. data/lib/rubyXL/objects/shared_strings.rb +4 -5
  16. data/lib/rubyXL/objects/sheet_data.rb +8 -2
  17. data/lib/rubyXL/objects/storage.rb +169 -0
  18. data/lib/rubyXL/objects/stylesheet.rb +4 -5
  19. data/lib/rubyXL/objects/text.rb +3 -3
  20. data/lib/rubyXL/objects/theme.rb +4 -6
  21. data/lib/rubyXL/objects/workbook.rb +50 -22
  22. data/lib/rubyXL/objects/worksheet.rb +36 -12
  23. data/lib/rubyXL/parser.rb +23 -97
  24. data/lib/rubyXL/workbook.rb +29 -41
  25. data/lib/rubyXL/worksheet.rb +3 -0
  26. data/rdoc/README_rdoc.html +1 -1
  27. data/rdoc/RubyXL.html +1 -1
  28. data/rdoc/RubyXL/AExtension.html +1 -1
  29. data/rdoc/RubyXL/AExtensionStorageArea.html +1 -1
  30. data/rdoc/RubyXL/AdjustHandleList.html +1 -1
  31. data/rdoc/RubyXL/Alignment.html +1 -1
  32. data/rdoc/RubyXL/AlternateContent.html +1 -1
  33. data/rdoc/RubyXL/Authors.html +105 -0
  34. data/rdoc/RubyXL/AutoFilter.html +1 -1
  35. data/rdoc/RubyXL/AutoFilterColumn.html +1 -1
  36. data/rdoc/RubyXL/BinaryImageFile.html +105 -0
  37. data/rdoc/RubyXL/BodyProperties.html +1 -1
  38. data/rdoc/RubyXL/BooleanNode.html +1 -1
  39. data/rdoc/RubyXL/BooleanValue.html +1 -1
  40. data/rdoc/RubyXL/Border.html +1 -1
  41. data/rdoc/RubyXL/BorderEdge.html +1 -1
  42. data/rdoc/RubyXL/Borders.html +1 -1
  43. data/rdoc/RubyXL/Break.html +1 -1
  44. data/rdoc/RubyXL/BreakList.html +1 -1
  45. data/rdoc/RubyXL/CT_AdjPoint2D.html +1 -1
  46. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +1 -1
  47. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +1 -1
  48. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +1 -1
  49. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +1 -1
  50. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +1 -1
  51. data/rdoc/RubyXL/CT_Backdrop.html +1 -1
  52. data/rdoc/RubyXL/CT_Bevel.html +1 -1
  53. data/rdoc/RubyXL/CT_BiLevelEffect.html +1 -1
  54. data/rdoc/RubyXL/CT_BlendEffect.html +1 -1
  55. data/rdoc/RubyXL/CT_Blip.html +1 -1
  56. data/rdoc/RubyXL/CT_BlipFillProperties.html +1 -1
  57. data/rdoc/RubyXL/CT_BlurEffect.html +1 -1
  58. data/rdoc/RubyXL/CT_Camera.html +1 -1
  59. data/rdoc/RubyXL/CT_Color.html +1 -1
  60. data/rdoc/RubyXL/CT_ColorChangeEffect.html +1 -1
  61. data/rdoc/RubyXL/CT_ColorMapping.html +1 -1
  62. data/rdoc/RubyXL/CT_ColorScheme.html +1 -1
  63. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +1 -1
  64. data/rdoc/RubyXL/CT_ConnectionSite.html +1 -1
  65. data/rdoc/RubyXL/CT_ConnectionSiteList.html +1 -1
  66. data/rdoc/RubyXL/CT_DashStop.html +1 -1
  67. data/rdoc/RubyXL/CT_DashStopList.html +1 -1
  68. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +1 -1
  69. data/rdoc/RubyXL/CT_DuotoneEffect.html +1 -1
  70. data/rdoc/RubyXL/CT_EffectContainer.html +1 -1
  71. data/rdoc/RubyXL/CT_EffectList.html +1 -1
  72. data/rdoc/RubyXL/CT_EffectReference.html +1 -1
  73. data/rdoc/RubyXL/CT_EffectStyleItem.html +1 -1
  74. data/rdoc/RubyXL/CT_EffectStyleList.html +1 -1
  75. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +1 -1
  76. data/rdoc/RubyXL/CT_FillEffect.html +1 -1
  77. data/rdoc/RubyXL/CT_FillOverlayEffect.html +1 -1
  78. data/rdoc/RubyXL/CT_FillStyleList.html +1 -1
  79. data/rdoc/RubyXL/CT_FlatText.html +1 -1
  80. data/rdoc/RubyXL/CT_FontCollection.html +1 -1
  81. data/rdoc/RubyXL/CT_FontReference.html +1 -1
  82. data/rdoc/RubyXL/CT_GeomGuideList.html +1 -1
  83. data/rdoc/RubyXL/CT_GlowEffect.html +1 -1
  84. data/rdoc/RubyXL/CT_GradientFillProperties.html +1 -1
  85. data/rdoc/RubyXL/CT_GradientStop.html +1 -1
  86. data/rdoc/RubyXL/CT_GradientStopList.html +1 -1
  87. data/rdoc/RubyXL/CT_HSLEffect.html +1 -1
  88. data/rdoc/RubyXL/CT_HslColor.html +1 -1
  89. data/rdoc/RubyXL/CT_Hyperlink.html +1 -1
  90. data/rdoc/RubyXL/CT_InnerShadowEffect.html +1 -1
  91. data/rdoc/RubyXL/CT_LightRig.html +1 -1
  92. data/rdoc/RubyXL/CT_LineEndProperties.html +1 -1
  93. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +1 -1
  94. data/rdoc/RubyXL/CT_LineProperties.html +1 -1
  95. data/rdoc/RubyXL/CT_LineStyleList.html +1 -1
  96. data/rdoc/RubyXL/CT_LinearShadeProperties.html +1 -1
  97. data/rdoc/RubyXL/CT_LuminanceEffect.html +1 -1
  98. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +1 -1
  99. data/rdoc/RubyXL/CT_OuterShadowEffect.html +1 -1
  100. data/rdoc/RubyXL/CT_Path2D.html +1 -1
  101. data/rdoc/RubyXL/CT_Path2DArcTo.html +1 -1
  102. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +1 -1
  103. data/rdoc/RubyXL/CT_Path2DList.html +1 -1
  104. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +1 -1
  105. data/rdoc/RubyXL/CT_Path2DTo.html +1 -1
  106. data/rdoc/RubyXL/CT_PathShadeProperties.html +1 -1
  107. data/rdoc/RubyXL/CT_PatternFillProperties.html +1 -1
  108. data/rdoc/RubyXL/CT_Point3D.html +1 -1
  109. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +1 -1
  110. data/rdoc/RubyXL/CT_PresetColor.html +1 -1
  111. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +1 -1
  112. data/rdoc/RubyXL/CT_PresetShadowEffect.html +1 -1
  113. data/rdoc/RubyXL/CT_PresetTextShape.html +1 -1
  114. data/rdoc/RubyXL/CT_ReflectionEffect.html +1 -1
  115. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +1 -1
  116. data/rdoc/RubyXL/CT_RelativeRect.html +1 -1
  117. data/rdoc/RubyXL/CT_SRgbColor.html +1 -1
  118. data/rdoc/RubyXL/CT_ScRgbColor.html +1 -1
  119. data/rdoc/RubyXL/CT_Scene3D.html +1 -1
  120. data/rdoc/RubyXL/CT_SchemeColor.html +1 -1
  121. data/rdoc/RubyXL/CT_Shape3D.html +1 -1
  122. data/rdoc/RubyXL/CT_ShapeStyle.html +1 -1
  123. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +1 -1
  124. data/rdoc/RubyXL/CT_SphereCoords.html +1 -1
  125. data/rdoc/RubyXL/CT_StretchInfoProperties.html +1 -1
  126. data/rdoc/RubyXL/CT_StyleMatrix.html +1 -1
  127. data/rdoc/RubyXL/CT_StyleMatrixReference.html +1 -1
  128. data/rdoc/RubyXL/CT_SupplementalFont.html +1 -1
  129. data/rdoc/RubyXL/CT_SystemColor.html +1 -1
  130. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +1 -1
  131. data/rdoc/RubyXL/CT_TextBlipBullet.html +1 -1
  132. data/rdoc/RubyXL/CT_TextCharBullet.html +1 -1
  133. data/rdoc/RubyXL/CT_TextCharacterProperties.html +1 -1
  134. data/rdoc/RubyXL/CT_TextFont.html +1 -1
  135. data/rdoc/RubyXL/CT_TextListStyle.html +1 -1
  136. data/rdoc/RubyXL/CT_TextNormalAutofit.html +1 -1
  137. data/rdoc/RubyXL/CT_TextParagraphProperties.html +1 -1
  138. data/rdoc/RubyXL/CT_TextSpacing.html +1 -1
  139. data/rdoc/RubyXL/CT_TextTabStop.html +1 -1
  140. data/rdoc/RubyXL/CT_TextTabStopList.html +1 -1
  141. data/rdoc/RubyXL/CT_TileInfoProperties.html +1 -1
  142. data/rdoc/RubyXL/CT_TintEffect.html +1 -1
  143. data/rdoc/RubyXL/CT_Transform2D.html +1 -1
  144. data/rdoc/RubyXL/CT_TransformEffect.html +1 -1
  145. data/rdoc/RubyXL/CT_Vector3D.html +1 -1
  146. data/rdoc/RubyXL/CT_XYAdjustHandle.html +1 -1
  147. data/rdoc/RubyXL/CalculationChain.html +26 -42
  148. data/rdoc/RubyXL/CalculationChainCell.html +1 -1
  149. data/rdoc/RubyXL/CalculationProperties.html +1 -1
  150. data/rdoc/RubyXL/Cell.html +13 -13
  151. data/rdoc/RubyXL/CellSmartTag.html +1 -1
  152. data/rdoc/RubyXL/CellSmartTagProperty.html +1 -1
  153. data/rdoc/RubyXL/CellSmartTags.html +1 -1
  154. data/rdoc/RubyXL/CellStyle.html +1 -1
  155. data/rdoc/RubyXL/CellStyleXFs.html +1 -1
  156. data/rdoc/RubyXL/CellStyles.html +1 -1
  157. data/rdoc/RubyXL/CellValue.html +53 -1
  158. data/rdoc/RubyXL/CellWatch.html +1 -1
  159. data/rdoc/RubyXL/CellWatches.html +1 -1
  160. data/rdoc/RubyXL/CellXFs.html +1 -1
  161. data/rdoc/RubyXL/ChartColorsFile.html +105 -0
  162. data/rdoc/RubyXL/ChartFile.html +105 -0
  163. data/rdoc/RubyXL/ChartRelationshipsFile.html +105 -0
  164. data/rdoc/RubyXL/ChartStyleFile.html +105 -0
  165. data/rdoc/RubyXL/ChartUserShapesFile.html +105 -0
  166. data/rdoc/RubyXL/Chartsheet.html +1 -1
  167. data/rdoc/RubyXL/ChartsheetPageSetup.html +1 -1
  168. data/rdoc/RubyXL/ChartsheetProperties.html +1 -1
  169. data/rdoc/RubyXL/ChartsheetProtection.html +1 -1
  170. data/rdoc/RubyXL/ChartsheetView.html +1 -1
  171. data/rdoc/RubyXL/ChartsheetViews.html +1 -1
  172. data/rdoc/RubyXL/Color.html +2 -2
  173. data/rdoc/RubyXL/ColorFilter.html +1 -1
  174. data/rdoc/RubyXL/ColorScale.html +1 -1
  175. data/rdoc/RubyXL/ColorSet.html +1 -1
  176. data/rdoc/RubyXL/Colors.html +1 -1
  177. data/rdoc/RubyXL/ColumnRange.html +1 -1
  178. data/rdoc/RubyXL/ColumnRanges.html +1 -1
  179. data/rdoc/RubyXL/Comment.html +108 -0
  180. data/rdoc/RubyXL/CommentList.html +105 -0
  181. data/rdoc/RubyXL/{CoreProperties.html → CommentsFile.html} +4 -4
  182. data/rdoc/RubyXL/ConditionalFormatValue.html +1 -1
  183. data/rdoc/RubyXL/ConditionalFormatting.html +1 -1
  184. data/rdoc/RubyXL/ConditionalFormattingRule.html +1 -1
  185. data/rdoc/RubyXL/ContentTypeDefault.html +1 -1
  186. data/rdoc/RubyXL/ContentTypeOverride.html +1 -1
  187. data/rdoc/RubyXL/ContentTypes.html +87 -63
  188. data/rdoc/RubyXL/ControlPropertiesFile.html +105 -0
  189. data/rdoc/RubyXL/CorePropertiesFile.html +105 -0
  190. data/rdoc/RubyXL/CustomColor.html +1 -1
  191. data/rdoc/RubyXL/CustomColorList.html +1 -1
  192. data/rdoc/RubyXL/CustomFilter.html +1 -1
  193. data/rdoc/RubyXL/CustomFilters.html +1 -1
  194. data/rdoc/RubyXL/CustomGeometry.html +1 -1
  195. data/rdoc/RubyXL/CustomProperties.html +1 -1
  196. data/rdoc/RubyXL/CustomPropertiesFile.html +105 -0
  197. data/rdoc/RubyXL/CustomProperty.html +1 -1
  198. data/rdoc/RubyXL/CustomSheetView.html +1 -1
  199. data/rdoc/RubyXL/CustomSheetViews.html +1 -1
  200. data/rdoc/RubyXL/CustomWorkbookView.html +1 -1
  201. data/rdoc/RubyXL/CustomWorkbookViews.html +1 -1
  202. data/rdoc/RubyXL/CustomXMLFile.html +105 -0
  203. data/rdoc/RubyXL/DXF.html +1 -1
  204. data/rdoc/RubyXL/DXFs.html +1 -1
  205. data/rdoc/RubyXL/DataBar.html +1 -1
  206. data/rdoc/RubyXL/DataConsolidate.html +1 -1
  207. data/rdoc/RubyXL/DataConsolidationReference.html +1 -1
  208. data/rdoc/RubyXL/DataConsolidationReferences.html +1 -1
  209. data/rdoc/RubyXL/DataType.html +1 -1
  210. data/rdoc/RubyXL/DataValidation.html +1 -1
  211. data/rdoc/RubyXL/DataValidations.html +1 -1
  212. data/rdoc/RubyXL/DateGroupItem.html +1 -1
  213. data/rdoc/RubyXL/DefinedName.html +1 -1
  214. data/rdoc/RubyXL/DefinedNames.html +1 -1
  215. data/rdoc/RubyXL/{DocumentProperties.html → DocumentPropertiesFile.html} +59 -83
  216. data/rdoc/RubyXL/DrawingFile.html +225 -0
  217. data/rdoc/RubyXL/DrawingRelationshipsFile.html +105 -0
  218. data/rdoc/RubyXL/DynamicFilter.html +1 -1
  219. data/rdoc/RubyXL/EmbeddedControl.html +1 -1
  220. data/rdoc/RubyXL/EmbeddedControls.html +1 -1
  221. data/rdoc/RubyXL/Extension.html +1 -1
  222. data/rdoc/RubyXL/ExtensionStorageArea.html +1 -1
  223. data/rdoc/RubyXL/Extents.html +1 -1
  224. data/rdoc/RubyXL/ExternalLinksFile.html +105 -0
  225. data/rdoc/RubyXL/ExternalReference.html +1 -1
  226. data/rdoc/RubyXL/ExternalReferences.html +1 -1
  227. data/rdoc/RubyXL/ExtraColorSchemeList.html +1 -1
  228. data/rdoc/RubyXL/FieldItem.html +1 -1
  229. data/rdoc/RubyXL/FileRecoveryProperties.html +1 -1
  230. data/rdoc/RubyXL/FileSharing.html +1 -1
  231. data/rdoc/RubyXL/FileVersion.html +1 -1
  232. data/rdoc/RubyXL/Fill.html +1 -1
  233. data/rdoc/RubyXL/Fills.html +1 -1
  234. data/rdoc/RubyXL/FilterContainer.html +1 -1
  235. data/rdoc/RubyXL/FloatNode.html +1 -1
  236. data/rdoc/RubyXL/FloatValue.html +1 -1
  237. data/rdoc/RubyXL/Font.html +1 -1
  238. data/rdoc/RubyXL/FontScheme.html +1 -1
  239. data/rdoc/RubyXL/Fonts.html +1 -1
  240. data/rdoc/RubyXL/Formula.html +1 -1
  241. data/rdoc/RubyXL/FunctionGroup.html +1 -1
  242. data/rdoc/RubyXL/FunctionGroups.html +1 -1
  243. data/rdoc/RubyXL/GenericStorageObject.html +352 -0
  244. data/rdoc/RubyXL/GradientFill.html +1 -1
  245. data/rdoc/RubyXL/HeaderFooterSettings.html +1 -1
  246. data/rdoc/RubyXL/Hyperlink.html +1 -1
  247. data/rdoc/RubyXL/HyperlinkRelFile.html +105 -0
  248. data/rdoc/RubyXL/Hyperlinks.html +1 -1
  249. data/rdoc/RubyXL/IconFilter.html +1 -1
  250. data/rdoc/RubyXL/IconSet.html +1 -1
  251. data/rdoc/RubyXL/IgnoredError.html +1 -1
  252. data/rdoc/RubyXL/IgnoredErrors.html +1 -1
  253. data/rdoc/RubyXL/IndexedColors.html +1 -1
  254. data/rdoc/RubyXL/InputCells.html +1 -1
  255. data/rdoc/RubyXL/IntegerNode.html +1 -1
  256. data/rdoc/RubyXL/IntegerValue.html +1 -1
  257. data/rdoc/RubyXL/LegacyCell.html +1 -1
  258. data/rdoc/RubyXL/LegacyWorkbook.html +48 -343
  259. data/rdoc/RubyXL/LegacyWorksheet.html +83 -80
  260. data/rdoc/RubyXL/MRUColors.html +1 -1
  261. data/rdoc/RubyXL/MacrosFile.html +105 -0
  262. data/rdoc/RubyXL/MergedCell.html +1 -1
  263. data/rdoc/RubyXL/MergedCells.html +1 -1
  264. data/rdoc/RubyXL/NumFmt.html +1 -1
  265. data/rdoc/RubyXL/NumberFormat.html +1 -1
  266. data/rdoc/RubyXL/NumberFormats.html +1 -1
  267. data/rdoc/RubyXL/OLEObject.html +1 -1
  268. data/rdoc/RubyXL/OLEObjects.html +1 -1
  269. data/rdoc/RubyXL/OLESize.html +1 -1
  270. data/rdoc/RubyXL/OOXMLContainerObject.html +1 -1
  271. data/rdoc/RubyXL/OOXMLObject.html +1 -1
  272. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +3 -3
  273. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +1 -1
  274. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +283 -20
  275. data/rdoc/RubyXL/OOXMLTopLevelObject.html +1 -1
  276. data/rdoc/RubyXL/Offset.html +1 -1
  277. data/rdoc/RubyXL/OutlineProperties.html +1 -1
  278. data/rdoc/RubyXL/PageMargins.html +1 -1
  279. data/rdoc/RubyXL/PageSetup.html +1 -1
  280. data/rdoc/RubyXL/PageSetupProperties.html +1 -1
  281. data/rdoc/RubyXL/Pane.html +1 -1
  282. data/rdoc/RubyXL/Parser.html +35 -139
  283. data/rdoc/RubyXL/PatternFill.html +1 -1
  284. data/rdoc/RubyXL/PhoneticProperties.html +1 -1
  285. data/rdoc/RubyXL/PhoneticRun.html +1 -1
  286. data/rdoc/RubyXL/PivotArea.html +1 -1
  287. data/rdoc/RubyXL/PivotCache.html +1 -1
  288. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +105 -0
  289. data/rdoc/RubyXL/PivotCaches.html +1 -1
  290. data/rdoc/RubyXL/PivotReference.html +1 -1
  291. data/rdoc/RubyXL/PivotReferences.html +1 -1
  292. data/rdoc/RubyXL/PivotTableFile.html +105 -0
  293. data/rdoc/RubyXL/PivotTableSelection.html +1 -1
  294. data/rdoc/RubyXL/PresetGeometry.html +1 -1
  295. data/rdoc/RubyXL/PrintOptions.html +1 -1
  296. data/rdoc/RubyXL/PrinterSettingsFile.html +119 -0
  297. data/rdoc/RubyXL/ProtectedRange.html +1 -1
  298. data/rdoc/RubyXL/ProtectedRanges.html +1 -1
  299. data/rdoc/RubyXL/Protection.html +1 -1
  300. data/rdoc/RubyXL/RID.html +1 -1
  301. data/rdoc/RubyXL/RawOOXML.html +1 -1
  302. data/rdoc/RubyXL/Reference.html +2 -2
  303. data/rdoc/RubyXL/Relationship.html +1 -1
  304. data/rdoc/RubyXL/RelationshipSupport.html +98 -0
  305. data/rdoc/RubyXL/RichText.html +1 -1
  306. data/rdoc/RubyXL/RichTextRun.html +1 -1
  307. data/rdoc/RubyXL/RootRelationships.html +1 -1
  308. data/rdoc/RubyXL/Row.html +1 -1
  309. data/rdoc/RubyXL/RunProperties.html +1 -1
  310. data/rdoc/RubyXL/Scenario.html +1 -1
  311. data/rdoc/RubyXL/Scenarios.html +1 -1
  312. data/rdoc/RubyXL/Selection.html +1 -1
  313. data/rdoc/RubyXL/ShapeGuide.html +1 -1
  314. data/rdoc/RubyXL/ShapeTextRectangle.html +1 -1
  315. data/rdoc/RubyXL/SharedStringsTable.html +61 -77
  316. data/rdoc/RubyXL/Sheet.html +1 -1
  317. data/rdoc/RubyXL/SheetCalculationProperties.html +1 -1
  318. data/rdoc/RubyXL/SheetData.html +1 -1
  319. data/rdoc/RubyXL/SheetRelationshipsFile.html +105 -0
  320. data/rdoc/RubyXL/Sheets.html +1 -1
  321. data/rdoc/RubyXL/SlicerCacheFile.html +105 -0
  322. data/rdoc/RubyXL/SlicerFile.html +105 -0
  323. data/rdoc/RubyXL/SmartTagProperties.html +1 -1
  324. data/rdoc/RubyXL/SmartTagType.html +1 -1
  325. data/rdoc/RubyXL/SmartTagTypes.html +1 -1
  326. data/rdoc/RubyXL/SmartTags.html +1 -1
  327. data/rdoc/RubyXL/SortCondition.html +1 -1
  328. data/rdoc/RubyXL/SortState.html +1 -1
  329. data/rdoc/RubyXL/Sqref.html +1 -1
  330. data/rdoc/RubyXL/Stop.html +1 -1
  331. data/rdoc/RubyXL/StringNode.html +1 -1
  332. data/rdoc/RubyXL/StringNodeW3C.html +1 -1
  333. data/rdoc/RubyXL/StringValue.html +1 -1
  334. data/rdoc/RubyXL/Stylesheet.html +1 -1
  335. data/rdoc/RubyXL/TableFile.html +105 -0
  336. data/rdoc/RubyXL/TableParts.html +1 -1
  337. data/rdoc/RubyXL/TableStyle.html +1 -1
  338. data/rdoc/RubyXL/TableStyles.html +1 -1
  339. data/rdoc/RubyXL/Text.html +2 -2
  340. data/rdoc/RubyXL/Theme.html +1 -1
  341. data/rdoc/RubyXL/ThemeElements.html +1 -1
  342. data/rdoc/RubyXL/ThumbnailFile.html +105 -0
  343. data/rdoc/RubyXL/Top10.html +1 -1
  344. data/rdoc/RubyXL/VMLDrawingFile.html +105 -0
  345. data/rdoc/RubyXL/Variant.html +1 -1
  346. data/rdoc/RubyXL/Vector.html +1 -1
  347. data/rdoc/RubyXL/VectorValue.html +1 -1
  348. data/rdoc/RubyXL/VisualProperties.html +1 -1
  349. data/rdoc/RubyXL/WebPublishObject.html +1 -1
  350. data/rdoc/RubyXL/WebPublishObjects.html +1 -1
  351. data/rdoc/RubyXL/WebPublishingItem.html +1 -1
  352. data/rdoc/RubyXL/WebPublishingItems.html +1 -1
  353. data/rdoc/RubyXL/WebPublishingProperties.html +1 -1
  354. data/rdoc/RubyXL/Workbook.html +1 -1
  355. data/rdoc/RubyXL/WorkbookProperties.html +1 -1
  356. data/rdoc/RubyXL/WorkbookProtection.html +1 -1
  357. data/rdoc/RubyXL/WorkbookRelationships.html +1 -1
  358. data/rdoc/RubyXL/WorkbookRoot.html +449 -0
  359. data/rdoc/RubyXL/WorkbookView.html +1 -1
  360. data/rdoc/RubyXL/WorkbookViews.html +1 -1
  361. data/rdoc/RubyXL/Worksheet.html +1 -1
  362. data/rdoc/RubyXL/WorksheetDimensions.html +1 -1
  363. data/rdoc/RubyXL/WorksheetFormatProperties.html +1 -1
  364. data/rdoc/RubyXL/WorksheetProperties.html +1 -1
  365. data/rdoc/RubyXL/WorksheetProtection.html +1 -1
  366. data/rdoc/RubyXL/WorksheetView.html +1 -1
  367. data/rdoc/RubyXL/WorksheetViews.html +1 -1
  368. data/rdoc/RubyXL/XF.html +1 -1
  369. data/rdoc/created.rid +30 -28
  370. data/rdoc/index.html +12 -4
  371. data/rdoc/js/search_index.js +1 -1
  372. data/rdoc/table_of_contents.html +160 -98
  373. data/rubyXL.gemspec +38 -7
  374. data/test/test_parse_write.rb +4 -4
  375. metadata +37 -6
  376. data/lib/rubyXL/generic_storage.rb +0 -42
  377. data/rdoc/RubyXL/GenericStorage.html +0 -346
@@ -306,7 +306,7 @@ module RubyXL
306
306
 
307
307
  # http://www.schemacentral.com/sc/ooxml/e-ssml_hyperlinks-1.html
308
308
  class Hyperlinks < OOXMLContainerObject
309
- define_child_node(RubyXL::Hyperlink, :colection => true)
309
+ define_child_node(RubyXL::Hyperlink, :collection => true)
310
310
  define_element_name 'hyperlinks'
311
311
  end
312
312
 
@@ -324,7 +324,7 @@ module RubyXL
324
324
 
325
325
  # http://www.schemacentral.com/sc/ooxml/e-ssml_oleObjects-1.html
326
326
  class OLEObjects < OOXMLContainerObject
327
- define_child_node(RubyXL::OLEObject, :colection => true)
327
+ define_child_node(RubyXL::OLEObject, :collection => true)
328
328
  define_element_name 'oleObjects'
329
329
  end
330
330
 
@@ -652,7 +652,10 @@ module RubyXL
652
652
  'http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac' => 'x14ac',
653
653
  'urn:schemas-microsoft-com:mac:vml' => 'mv')
654
654
 
655
- attr_accessor :workbook, :state, :sheet_name, :sheet_id
655
+ attr_accessor :workbook, :state, :sheet_name, :sheet_id, :rels, :comments, :printer_settings
656
+
657
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml'
658
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet'
656
659
 
657
660
  def before_write_xml # This method may need to be moved higher in the hierarchy
658
661
  first_nonempty_row = nil
@@ -699,24 +702,45 @@ module RubyXL
699
702
  true
700
703
  end
701
704
 
702
- def sheet_index
703
- @workbook.worksheets.select{ |sheet| sheet.is_a?(self.class) }.index{ |sheet| sheet.equal?(self) }
705
+ include RubyXL::RelationshipSupport
706
+
707
+ def related_objects
708
+ comments + printer_settings
704
709
  end
705
710
 
706
- def xlsx_path
707
- File.join('xl', 'worksheets', "sheet#{sheet_index + 1}.xml")
711
+ def relationship_file_class
712
+ RubyXL::SheetRelationshipsFile
708
713
  end
709
714
 
710
- def self.content_type
711
- 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml'
715
+ def attach_relationship(rid, rf)
716
+ case rf
717
+ when RubyXL::PrinterSettingsFile then printer_settings << rf
718
+ when RubyXL::CommentsFile then comments << rf
719
+ when RubyXL::VMLDrawingFile then store_relationship(rf) # TODO
720
+ when RubyXL::DrawingFile then store_relationship(rf) # TODO
721
+ when RubyXL::BinaryImageFile then store_relationship(rf) # TODO
722
+ when RubyXL::PivotTableFile then store_relationship(rf) # TODO
723
+ when RubyXL::TableFile then store_relationship(rf) # TODO
724
+ when RubyXL::ControlPropertiesFile then store_relationship(rf) # TODO
725
+ when RubyXL::SlicerFile then store_relationship(rf) # TODO
726
+ else store_relationship(rf, :unknown)
727
+ end
712
728
  end
713
729
 
714
- def rel_type
715
- 'worksheet'
730
+ def xlsx_path
731
+ File.join('xl', 'worksheets', "sheet#{file_index}.xml")
732
+ end
733
+ def self.parse(param)
734
+ sheet_obj = super
735
+ sheet_obj.sheet_data.rows.each { |r|
736
+ next if r.nil?
737
+ r.worksheet = sheet_obj
738
+ r.cells.each { |c| c.worksheet = sheet_obj unless c.nil? }
739
+ }
740
+ sheet_obj
716
741
  end
717
742
 
718
743
  include LegacyWorksheet
719
-
720
744
  end
721
745
 
722
746
  end
data/lib/rubyXL/parser.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  require 'nokogiri'
2
2
  require 'tmpdir'
3
3
  require 'zip'
4
- require 'rubyXL/generic_storage'
5
4
 
6
5
  module RubyXL
7
6
 
@@ -10,117 +9,44 @@ module RubyXL
10
9
  self.new(opts).parse(file_path)
11
10
  end
12
11
 
13
- # +keep_tempfiles_on_error+ prevents temp files to be erased if exception was thrown during parsing.
14
12
  # +:data_only+ allows only the sheet data to be parsed, so as to speed up parsing.
15
13
  # However, using this option will result in date-formatted cells being interpreted as numbers.
16
14
  def initialize(opts = {})
17
- @data_only = opts.is_a?(TrueClass) || opts[:data_only]
18
- @skip_filename_check = opts[:skip_filename_check]
19
- @delete_tempfiles_on_error = !opts[:keep_tempfiles_on_error]
20
- end
21
-
22
- def data_only
23
- @data_only = true
24
- self
15
+ @opts = opts
25
16
  end
26
17
 
27
18
  def parse(xl_file_path)
28
- raise 'Not .xlsx or .xlsm excel file' unless @skip_filename_check ||
29
- %w{.xlsx .xlsm}.include?(File.extname(xl_file_path))
30
-
31
- dir_path = File.join(File.dirname(xl_file_path), Dir::Tmpname.make_tmpname(['rubyXL', '.tmp'], nil))
32
- parse_success = false
33
-
34
- begin
35
- ::Zip::File.open(xl_file_path) { |zip_file|
36
- zip_file.each { |f|
37
- fpath = File.join(dir_path, f.name)
38
- FileUtils.mkdir_p(File.dirname(fpath))
39
- zip_file.extract(f, fpath) unless File.exist?(fpath)
40
- }
41
- }
42
-
43
- wb = RubyXL::Workbook.parse_file(dir_path)
44
- wb.filepath = xl_file_path
45
-
46
- wb.content_types = RubyXL::ContentTypes.parse_file(dir_path)
47
- wb.relationship_container = RubyXL::WorkbookRelationships.parse_file(dir_path)
48
- wb.root_relationship_container = RubyXL::RootRelationships.parse_file(dir_path)
49
- wb.shared_strings_container = RubyXL::SharedStringsTable.parse_file(dir_path)
50
-
51
- # We must always load the stylesheet because it tells us which values are actually dates/times.
52
- wb.stylesheet = RubyXL::Stylesheet.parse_file(dir_path)
19
+ root = RubyXL::WorkbookRoot.parse_file(xl_file_path, @opts)
53
20
 
54
- unless @data_only
55
- wb.media.load_dir(dir_path)
56
- wb.external_links.load_dir(dir_path)
57
- wb.external_links_rels.load_dir(dir_path)
58
- wb.drawings.load_dir(dir_path)
59
- wb.drawings_rels.load_dir(dir_path)
60
- wb.charts.load_dir(dir_path)
61
- wb.chart_rels.load_dir(dir_path)
62
- wb.printer_settings.load_dir(dir_path)
63
- wb.worksheet_rels.load_dir(dir_path)
64
- wb.chartsheet_rels.load_dir(dir_path)
65
- wb.macros.load_file(dir_path, 'vbaProject.bin')
66
- wb.thumbnail.load_file(dir_path, 'thumbnail.jpeg')
21
+ wb = root.workbook
67
22
 
68
- wb.theme = RubyXL::Theme.parse_file(dir_path)
69
- wb.core_properties = RubyXL::CoreProperties.parse_file(dir_path)
70
- wb.document_properties = RubyXL::DocumentProperties.parse_file(dir_path)
71
- wb.calculation_chain = RubyXL::CalculationChain.parse_file(dir_path)
72
- end
23
+ if wb.stylesheet then
24
+ #fills out count information for each font, fill, and border
25
+ wb.cell_xfs.each { |style|
73
26
 
74
- if wb.stylesheet then
75
- #fills out count information for each font, fill, and border
76
- wb.cell_xfs.each { |style|
27
+ id = style.font_id
28
+ wb.fonts[id].count += 1 #unless id.nil?
77
29
 
78
- id = style.font_id
79
- wb.fonts[id].count += 1 #unless id.nil?
30
+ id = style.fill_id
31
+ wb.fills[id].count += 1 #unless id.nil?
80
32
 
81
- id = style.fill_id
82
- wb.fills[id].count += 1 #unless id.nil?
83
-
84
- id = style.border_id
85
- wb.borders[id].count += 1 #unless id.nil?
86
- }
87
- end
88
-
89
- wb.sheets.each_with_index { |sheet, i|
90
- sheet_rel = wb.relationship_container.find_by_rid(sheet.r_id)
91
-
92
- sheet_path = sheet_rel.target
93
- sheet_path = File.join('xl', sheet_path) if sheet_path[0] != '/'
94
-
95
- # Making sure that the file will be automatically closed immediately after it has been read
96
- File.open(File.join(dir_path, sheet_path)) { |sheet_file|
97
- case File::basename(sheet_rel.type)
98
- when 'worksheet' then
99
- sheet_obj = RubyXL::Worksheet.parse(sheet_file)
100
- sheet_obj.sheet_data.rows.each { |r|
101
- next if r.nil?
102
- r.worksheet = sheet
103
- r.cells.each { |c| c.worksheet = sheet_obj unless c.nil? }
104
- }
105
- when 'chartsheet' then
106
- sheet_obj = RubyXL::Chartsheet.parse(sheet_file)
107
- end
33
+ id = style.border_id
34
+ wb.borders[id].count += 1 #unless id.nil?
35
+ }
36
+ end
108
37
 
109
- sheet_obj.workbook = wb
110
- sheet_obj.sheet_name = sheet.name
111
- sheet_obj.sheet_id = sheet.sheet_id
112
- sheet_obj.state = sheet.state
38
+ wb.sheets.each_with_index { |sheet, i|
39
+ sheet_obj = wb.relationship_container.related_files[sheet.r_id]
113
40
 
114
- wb.worksheets[i] = sheet_obj
115
- }
116
- }
41
+ wb.worksheets[i] = sheet_obj # Must be done first so the sheet becomes aware of its number
42
+ sheet_obj.workbook = wb
117
43
 
118
- parse_success = true
119
- ensure
120
- FileUtils.remove_entry_secure(dir_path) if parse_success || @delete_tempfiles_on_error
121
- end
44
+ sheet_obj.sheet_name = sheet.name
45
+ sheet_obj.sheet_id = sheet.sheet_id
46
+ sheet_obj.state = sheet.state
47
+ }
122
48
 
123
- return wb
49
+ wb
124
50
  end
125
51
 
126
52
  end
@@ -5,17 +5,14 @@ require 'zip'
5
5
  module RubyXL
6
6
  module LegacyWorkbook
7
7
  include Enumerable
8
- attr_accessor :worksheets, :filepath, :theme,
9
- :media, :external_links, :external_links_rels, :drawings, :drawings_rels, :charts, :chart_rels,
10
- :worksheet_rels, :chartsheet_rels, :printer_settings, :macros, :thumbnail
11
-
12
- attr_accessor :stylesheet, :shared_strings_container, :document_properties, :calculation_chain,
13
- :relationship_container, :root_relationship_container, :core_properties, :content_types
8
+ attr_accessor :worksheets
14
9
 
15
10
  SHEET_NAME_TEMPLATE = 'Sheet%d'
16
11
  APPLICATION = 'Microsoft Macintosh Excel'
17
12
  APPVERSION = '12.0000'
18
13
 
14
+ @@debug = nil
15
+
19
16
  def initialize(worksheets=[], filepath=nil, creator=nil, modifier=nil, created_at=nil,
20
17
  company='', application=APPLICATION,
21
18
  appversion=APPVERSION, date1904=0)
@@ -26,32 +23,18 @@ module RubyXL
26
23
  @worksheets = worksheets
27
24
  add_worksheet if @worksheets.empty?
28
25
 
29
- @filepath = filepath
30
26
  @creator = creator
31
27
  @modifier = modifier
32
28
  self.date1904 = date1904 > 0
33
- @media = RubyXL::GenericStorage.new(File.join('xl', 'media')).binary
34
- @external_links = RubyXL::GenericStorage.new(File.join('xl', 'externalLinks'))
35
- @external_links_rels = RubyXL::GenericStorage.new(File.join('xl', 'externalLinks', '_rels'))
36
- @drawings = RubyXL::GenericStorage.new(File.join('xl', 'drawings'))
37
- @drawings_rels = RubyXL::GenericStorage.new(File.join('xl', 'drawings', '_rels'))
38
- @charts = RubyXL::GenericStorage.new(File.join('xl', 'charts'))
39
- @chart_rels = RubyXL::GenericStorage.new(File.join('xl', 'charts', '_rels'))
40
- @worksheet_rels = RubyXL::GenericStorage.new(File.join('xl', 'worksheets', '_rels'))
41
- @chartsheet_rels = RubyXL::GenericStorage.new(File.join('xl', 'chartsheets', '_rels'))
42
- @printer_settings = RubyXL::GenericStorage.new(File.join('xl', 'printerSettings')).binary
43
- @macros = RubyXL::GenericStorage.new('xl').binary
44
- @thumbnail = RubyXL::GenericStorage.new('docProps').binary
45
29
 
46
30
  @theme = RubyXL::Theme.defaults
47
31
  @shared_strings_container = RubyXL::SharedStringsTable.new
48
32
  @stylesheet = RubyXL::Stylesheet.default
49
- @document_properties = RubyXL::DocumentProperties.new
50
- @core_properties = RubyXL::CoreProperties.new
51
- @content_types = RubyXL::ContentTypes.new
52
33
  @relationship_container = RubyXL::WorkbookRelationships.new
53
- @root_relationship_container = RubyXL::RootRelationships.new
54
- @calculation_chain = nil
34
+ @root = RubyXL::WorkbookRoot.default
35
+ @root.workbook = self
36
+ @root.filepath = filepath
37
+ @comments = []
55
38
 
56
39
  self.company = company
57
40
  self.application = application
@@ -95,7 +78,9 @@ module RubyXL
95
78
  end
96
79
 
97
80
  #filepath of xlsx file (including file itself)
98
- def write(filepath = @filepath)
81
+ def write(filepath)
82
+ filepath ||= root.filepath
83
+
99
84
  extension = File.extname(filepath)
100
85
  unless %w{.xlsx .xlsm}.include?(extension)
101
86
  raise "Only xlsx and xlsm files are supported. Unsupported extension: #{extension}"
@@ -107,24 +92,27 @@ module RubyXL
107
92
  zippath = File.join(temppath, 'file.zip')
108
93
 
109
94
  ::Zip::File.open(zippath, ::Zip::File::CREATE) { |zipfile|
110
- theme && theme.add_to_zip(zipfile)
111
- calculation_chain && calculation_chain.add_to_zip(zipfile)
112
- shared_strings_container && shared_strings_container.add_to_zip(zipfile)
113
- document_properties.add_to_zip(zipfile) if document_properties
114
- core_properties.add_to_zip(zipfile) if core_properties
115
- content_types.workbook = self
116
- content_types.add_to_zip(zipfile)
117
- relationship_container.workbook = root_relationship_container.workbook = self
118
- relationship_container.add_to_zip(zipfile)
119
- stylesheet.add_to_zip(zipfile) if stylesheet
120
- root_relationship_container.add_to_zip(zipfile)
121
- self.add_to_zip(zipfile)
95
+ root.rels_hash = {}
96
+ root.relationship_container.owner = root
97
+ root.content_types.overrides = []
98
+ root.content_types.owner = root
99
+ root.collect_related_objects.compact.each { |obj|
100
+ puts "<-- DEBUG: adding relationship to #{obj.class}" if @@debug
101
+ root.rels_hash[obj.class] ||= []
102
+ root.rels_hash[obj.class] << obj
103
+ }
122
104
 
123
- [ @media, @external_links, @external_links_rels,
124
- @drawings, @drawings_rels, @charts, @chart_rels,
125
- @printer_settings, @worksheet_rels, @chartsheet_rels, @macros, @thumbnail ].each { |s| s.add_to_zip(zipfile) }
105
+ root.rels_hash.keys.sort_by{ |c| c.save_order }.each { |klass|
106
+ puts "<-- DEBUG: saving related #{klass} files" if @@debug
107
+ root.rels_hash[klass].each { |obj|
108
+ obj.workbook = self if obj.respond_to?(:workbook=)
109
+ puts "<-- DEBUG: > #{obj.xlsx_path}" if @@debug
110
+ root.content_types.add_override(obj)
111
+ obj.add_to_zip(zipfile)
112
+ }
113
+ }
126
114
 
127
- @worksheets.each { |sheet| sheet.add_to_zip(zipfile) }
115
+ self.add_to_zip(zipfile)
128
116
  }
129
117
 
130
118
  FileUtils.mv(zippath, filepath)
@@ -9,6 +9,9 @@ module LegacyWorksheet
9
9
  self.sheet_id = params[:sheet_id]
10
10
  self.sheet_data = RubyXL::SheetData.new
11
11
  self.cols = RubyXL::ColumnRanges.new
12
+ @comments = [] # Do not optimize! These are arrays, so they will share the pointer!
13
+ @printer_settings = []
14
+ @generic_storage = []
12
15
  end
13
16
 
14
17
  # allows for easier access to sheet_data
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>README - rubyXL 2.5.7</title>
7
+ <title>README - rubyXL 3.0.0</title>
8
8
 
9
9
  <link href="./fonts.css" rel="stylesheet">
10
10
  <link href="./rdoc.css" rel="stylesheet">
data/rdoc/RubyXL.html CHANGED
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>module RubyXL - rubyXL 2.5.7</title>
7
+ <title>module RubyXL - rubyXL 3.0.0</title>
8
8
 
9
9
  <link href="./fonts.css" rel="stylesheet">
10
10
  <link href="./rdoc.css" rel="stylesheet">
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::AExtension - rubyXL 2.5.7</title>
7
+ <title>class RubyXL::AExtension - rubyXL 3.0.0</title>
8
8
 
9
9
  <link href="../fonts.css" rel="stylesheet">
10
10
  <link href="../rdoc.css" rel="stylesheet">
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::AExtensionStorageArea - rubyXL 2.5.7</title>
7
+ <title>class RubyXL::AExtensionStorageArea - rubyXL 3.0.0</title>
8
8
 
9
9
  <link href="../fonts.css" rel="stylesheet">
10
10
  <link href="../rdoc.css" rel="stylesheet">
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::AdjustHandleList - rubyXL 2.5.7</title>
7
+ <title>class RubyXL::AdjustHandleList - rubyXL 3.0.0</title>
8
8
 
9
9
  <link href="../fonts.css" rel="stylesheet">
10
10
  <link href="../rdoc.css" rel="stylesheet">
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::Alignment - rubyXL 2.5.7</title>
7
+ <title>class RubyXL::Alignment - rubyXL 3.0.0</title>
8
8
 
9
9
  <link href="../fonts.css" rel="stylesheet">
10
10
  <link href="../rdoc.css" rel="stylesheet">
@@ -4,7 +4,7 @@
4
4
  <head>
5
5
  <meta charset="UTF-8">
6
6
 
7
- <title>class RubyXL::AlternateContent - rubyXL 2.5.7</title>
7
+ <title>class RubyXL::AlternateContent - rubyXL 3.0.0</title>
8
8
 
9
9
  <link href="../fonts.css" rel="stylesheet">
10
10
  <link href="../rdoc.css" rel="stylesheet">
@@ -0,0 +1,105 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html>
4
+ <head>
5
+ <meta charset="UTF-8">
6
+
7
+ <title>class RubyXL::Authors - rubyXL 3.0.0</title>
8
+
9
+ <link href="../fonts.css" rel="stylesheet">
10
+ <link href="../rdoc.css" rel="stylesheet">
11
+
12
+ <script type="text/javascript">
13
+ var rdoc_rel_prefix = "../";
14
+ </script>
15
+
16
+ <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
+ <script src="../js/darkfish.js"></script>
22
+
23
+
24
+ <body id="top" role="document" class="class">
25
+ <nav role="navigation">
26
+ <div id="project-navigation">
27
+ <div id="home-section" role="region" title="Quick navigation" class="nav-section">
28
+ <h2>
29
+ <a href="../index.html" rel="home">Home</a>
30
+ </h2>
31
+
32
+ <div id="table-of-contents-navigation">
33
+ <a href="../table_of_contents.html#pages">Pages</a>
34
+ <a href="../table_of_contents.html#classes">Classes</a>
35
+ <a href="../table_of_contents.html#methods">Methods</a>
36
+ </div>
37
+ </div>
38
+
39
+ <div id="search-section" role="search" class="project-section initially-hidden">
40
+ <form action="#" method="get" accept-charset="utf-8">
41
+ <div id="search-field-wrapper">
42
+ <input id="search-field" role="combobox" aria-label="Search"
43
+ aria-autocomplete="list" aria-controls="search-results"
44
+ type="text" name="search" placeholder="Search" spellcheck="false"
45
+ title="Type to search, Up and Down to navigate, Enter to load">
46
+ </div>
47
+
48
+ <ul id="search-results" aria-label="Search Results"
49
+ aria-busy="false" aria-expanded="false"
50
+ aria-atomic="false" class="initially-hidden"></ul>
51
+ </form>
52
+ </div>
53
+
54
+ </div>
55
+
56
+
57
+
58
+ <div id="class-metadata">
59
+
60
+ <div id="parent-class-section" class="nav-section">
61
+ <h3>Parent</h3>
62
+
63
+
64
+ <p class="link">OOXMLContainerObject
65
+
66
+ </div>
67
+
68
+
69
+
70
+
71
+ </div>
72
+ </nav>
73
+
74
+ <main role="main" aria-labelledby="class-RubyXL::Authors">
75
+ <h1 id="class-RubyXL::Authors" class="class">
76
+ class RubyXL::Authors
77
+ </h1>
78
+
79
+ <section class="description">
80
+
81
+ </section>
82
+
83
+
84
+
85
+
86
+ <section id="5Buntitled-5D" class="documentation-section">
87
+
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+ </section>
97
+ </main>
98
+
99
+
100
+ <footer id="validator-badges" role="contentinfo">
101
+ <p><a href="http://validator.w3.org/check/referer">Validate</a>
102
+ <p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.1.
103
+ <p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
104
+ </footer>
105
+