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
@@ -0,0 +1,57 @@
1
+ require 'zip'
2
+ require 'rubyXL/objects/relationships'
3
+
4
+ module RubyXL
5
+
6
+ class WorkbookRoot
7
+ attr_accessor :filepath
8
+ attr_accessor :thumbnail, :core_properties, :document_properties, :custom_properties, :workbook
9
+ attr_accessor :content_types, :rels_hash
10
+
11
+ include RubyXL::RelationshipSupport
12
+
13
+ def related_objects
14
+ [ content_types, thumbnail, core_properties, document_properties, workbook ]
15
+ end
16
+
17
+ def relationship_file_class
18
+ RubyXL::RootRelationships
19
+ end
20
+
21
+ def attach_relationship(rid, rf)
22
+ case rf
23
+ when RubyXL::ThumbnailFile then self.thumbnail = rf
24
+ when RubyXL::CorePropertiesFile then self.core_properties = rf
25
+ when RubyXL::DocumentPropertiesFile then self.document_properties = rf
26
+ when RubyXL::CustomPropertiesFile then self.custom_properties = rf
27
+ when RubyXL::Workbook then self.workbook = rf
28
+ else store_relationship(rf, :unknown)
29
+ end
30
+ end
31
+
32
+ def self.default
33
+ obj = self.new
34
+ obj.document_properties = RubyXL::DocumentPropertiesFile.new
35
+ obj.core_properties = RubyXL::CorePropertiesFile.new
36
+ obj.relationship_container = RubyXL::RootRelationships.new
37
+ obj.content_types = RubyXL::ContentTypes.new
38
+ obj
39
+ end
40
+
41
+ def self.parse_file(xl_file_path, opts)
42
+ raise 'Not .xlsx or .xlsm excel file' unless opts[:skip_filename_check] ||
43
+ %w{.xlsx .xlsm}.include?(File.extname(xl_file_path))
44
+
45
+ ::Zip::File.open(xl_file_path) { |zip_file|
46
+ root = self.new
47
+ root.filepath = xl_file_path
48
+ root.content_types = RubyXL::ContentTypes.parse_file(zip_file)
49
+ root.load_relationships(zip_file)
50
+ root.workbook.root = root
51
+ root
52
+ }
53
+ end
54
+
55
+ end
56
+
57
+ end
@@ -6,6 +6,9 @@ module RubyXL
6
6
 
7
7
  # http://www.schemacentral.com/sc/ooxml/e-ssml_sst.html
8
8
  class SharedStringsTable < OOXMLTopLevelObject
9
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml'
10
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings'
11
+
9
12
  # According to http://msdn.microsoft.com/en-us/library/office/gg278314.aspx,
10
13
  # +count+ and +uniqueCount+ may be either both missing, or both present. Need to validate.
11
14
  define_attribute(:uniqueCount, :int)
@@ -48,14 +51,10 @@ module RubyXL
48
51
  index
49
52
  end
50
53
 
51
- def self.xlsx_path
54
+ def xlsx_path
52
55
  File.join('xl', 'sharedStrings.xml')
53
56
  end
54
57
 
55
- def self.content_type
56
- 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml'
57
- end
58
-
59
58
  end
60
59
 
61
60
  end
@@ -8,7 +8,13 @@ module RubyXL
8
8
  # http://www.schemacentral.com/sc/ooxml/e-ssml_v-1.html
9
9
  class CellValue < OOXMLObject
10
10
  define_attribute(:_, :string, :accessor => :value)
11
+ define_attribute(:'xml:space', :string)
11
12
  define_element_name 'v'
13
+
14
+ def before_write_xml
15
+ self.xml_space = (value.is_a?(String) && ((value =~ /\A\s/) || (value =~ /\s\Z/) || value.include?("\n"))) ? 'preserve' : nil
16
+ true
17
+ end
12
18
  end
13
19
 
14
20
  # http://www.schemacentral.com/sc/ooxml/e-ssml_c-2.html
@@ -58,7 +64,7 @@ module RubyXL
58
64
  end
59
65
 
60
66
  def is_date?
61
- return false unless raw_value =~ /^\d+(?:\.\d+)?$/ # Only fully numeric values can be dates
67
+ return false unless raw_value =~ /\A\d+(?:\.\d+)?\Z/ # Only fully numeric values can be dates
62
68
  num_fmt = self.number_format
63
69
  num_fmt && num_fmt.is_date_format?
64
70
  end
@@ -72,7 +78,7 @@ module RubyXL
72
78
  workbook.shared_strings_container[raw_value.to_i].to_s
73
79
  else
74
80
  if is_date? then workbook.num_to_date(raw_value.to_f)
75
- elsif raw_value.is_a?(String) && (raw_value =~ /^-?\d+(\.\d+(?:e[+-]\d+)?)?$/i) # Numeric
81
+ elsif raw_value.is_a?(String) && (raw_value =~ /\A-?\d+(\.\d+(?:e[+-]\d+)?)?\Z/i) # Numeric
76
82
  if $1 then raw_value.to_f
77
83
  else raw_value.to_i
78
84
  end
@@ -0,0 +1,169 @@
1
+ module RubyXL
2
+
3
+ class GenericStorageObject
4
+
5
+ attr_accessor :xlsx_path, :data, :workbook, :generic_storage
6
+
7
+ def initialize
8
+ @workbook = nil
9
+ @xlsx_path = nil
10
+ @data = nil
11
+ @generic_storage = []
12
+ end
13
+
14
+ def self.save_order
15
+ 0
16
+ end
17
+
18
+ def self.parse_file(dirpath, file_path = nil)
19
+ file_path ||= self.xlsx_path
20
+ obj = self.new
21
+
22
+ case dirpath
23
+ when String then
24
+ full_path = File.join(dirpath, file_path)
25
+ return nil unless File.exist?(full_path)
26
+ obj.data = File.open(full_path, 'r') { |f| f.read }
27
+ when Zip::File then
28
+ entry = dirpath.find_entry(file_path)
29
+ return nil if entry.nil?
30
+ obj.data = entry.get_input_stream { |f| f.read }
31
+ end
32
+
33
+ obj.xlsx_path = file_path
34
+ obj
35
+ end
36
+
37
+ def add_to_zip(zipfile)
38
+ return if @data.nil?
39
+
40
+ path = self.xlsx_path
41
+ path = path.relative_path_from(Pathname.new("/")) if path.absolute? # Zip doesn't like absolute paths.
42
+
43
+ zipfile.get_output_stream(path) { |f| f << @data }
44
+ end
45
+ end
46
+
47
+ class PrinterSettingsFile < GenericStorageObject
48
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/printerSettings'
49
+ end
50
+
51
+ class DrawingFile < GenericStorageObject
52
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.drawing+xml'
53
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing'
54
+
55
+ include RubyXL::RelationshipSupport
56
+
57
+ def relationship_file_class
58
+ RubyXL::DrawingRelationshipsFile
59
+ end
60
+
61
+ def attach_relationship(rid, rf)
62
+ case rf
63
+ when RubyXL::ChartFile then store_relationship(rf) # TODO
64
+ when RubyXL::BinaryImageFile then store_relationship(rf) # TODO
65
+ else store_relationship(rf, :unknown)
66
+ end
67
+ end
68
+
69
+ end
70
+
71
+ class ChartFile < GenericStorageObject
72
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.drawingml.chart+xml'
73
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart'
74
+
75
+ include RubyXL::RelationshipSupport
76
+
77
+ def relationship_file_class
78
+ RubyXL::ChartRelationshipsFile
79
+ end
80
+
81
+ def attach_relationship(rid, rf)
82
+ case rf
83
+ when RubyXL::ChartColorsFile then self.generic_storage << rf # TODO
84
+ when RubyXL::ChartStyleFile then self.generic_storage << rf # TODO
85
+ when RubyXL::ChartUserShapesFile then self.generic_storage << rf # TODO
86
+ else store_relationship(rf, :unknown)
87
+ end
88
+ end
89
+
90
+ end
91
+
92
+ class VMLDrawingFile < GenericStorageObject
93
+ # CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.drawingml.chart+xml'
94
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing'
95
+
96
+ end
97
+
98
+ class ChartColorsFile < GenericStorageObject
99
+ CONTENT_TYPE = 'application/vnd.ms-office.chartcolorstyle+xml'
100
+ REL_TYPE = 'http://schemas.microsoft.com/office/2011/relationships/chartColorStyle'
101
+ end
102
+
103
+ class ChartStyleFile < GenericStorageObject
104
+ CONTENT_TYPE = 'application/vnd.ms-office.chartstyle+xml'
105
+ REL_TYPE = 'http://schemas.microsoft.com/office/2011/relationships/chartStyle'
106
+ end
107
+
108
+ class TableFile < GenericStorageObject
109
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/table'
110
+ end
111
+
112
+ class ControlPropertiesFile < GenericStorageObject
113
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/ctrlProp'
114
+ end
115
+
116
+ class PivotTableFile < GenericStorageObject
117
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotTable'
118
+ end
119
+
120
+ class PivotCacheDefinitionFile < GenericStorageObject
121
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/pivotCacheDefinition'
122
+ end
123
+
124
+ class BinaryImageFile < GenericStorageObject
125
+ # CONTENT_TYPE = 'image/jpeg'
126
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image'
127
+ end
128
+
129
+ class HyperlinkRelFile < GenericStorageObject
130
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink'
131
+ end
132
+
133
+ class ThumbnailFile < GenericStorageObject
134
+ REL_TYPE = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail'
135
+ end
136
+
137
+ class ChartUserShapesFile < GenericStorageObject
138
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml'
139
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartUserShapes'
140
+ end
141
+
142
+ class CustomPropertiesFile < GenericStorageObject
143
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.custom-properties+xml'
144
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties'
145
+ end
146
+
147
+ class MacrosFile < GenericStorageObject
148
+ CONTENT_TYPE = 'application/vnd.ms-office.vbaProject'
149
+ REL_TYPE = 'http://schemas.microsoft.com/office/2006/relationships/vbaProject'
150
+ end
151
+
152
+ class ExternalLinksFile < GenericStorageObject
153
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml'
154
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink'
155
+ end
156
+
157
+ class CustomXMLFile < GenericStorageObject
158
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml'
159
+ end
160
+
161
+ class SlicerFile < GenericStorageObject
162
+ REL_TYPE = 'http://schemas.microsoft.com/office/2007/relationships/slicer'
163
+ end
164
+
165
+ class SlicerCacheFile < GenericStorageObject
166
+ REL_TYPE = 'http://schemas.microsoft.com/office/2007/relationships/slicerCache'
167
+ end
168
+
169
+ end
@@ -160,6 +160,9 @@ module RubyXL
160
160
 
161
161
  # http://www.schemacentral.com/sc/ooxml/e-ssml_styleSheet.html
162
162
  class Stylesheet < OOXMLTopLevelObject
163
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml'
164
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles'
165
+
163
166
  define_child_node(RubyXL::NumberFormats, :accessor => :number_formats)
164
167
  define_child_node(RubyXL::Fonts)
165
168
  define_child_node(RubyXL::Fills)
@@ -183,14 +186,10 @@ module RubyXL
183
186
  @format_hash = nil
184
187
  end
185
188
 
186
- def self.xlsx_path
189
+ def xlsx_path
187
190
  File.join('xl', 'styles.xml')
188
191
  end
189
192
 
190
- def self.content_type
191
- 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml'
192
- end
193
-
194
193
  def self.default
195
194
  self.new(:fonts => RubyXL::Fonts.defaults,
196
195
  :fills => RubyXL::Fills.defaults,
@@ -11,7 +11,7 @@ module RubyXL
11
11
  define_element_name 't'
12
12
 
13
13
  def before_write_xml
14
- self.xml_space = (value && ((value =~ /^\s/) || (value =~ /\s$/)) || value.include?("\n")) ? 'preserve' : nil
14
+ self.xml_space = (value.is_a?(String) && ((value =~ /\A\s/) || (value =~ /\s\Z/) || value.include?("\n"))) ? 'preserve' : nil
15
15
  true
16
16
  end
17
17
 
@@ -72,8 +72,8 @@ module RubyXL
72
72
  class RichText < OOXMLObject
73
73
  define_child_node(RubyXL::Text)
74
74
  define_child_node(RubyXL::RichTextRun, :collection => true)
75
- define_child_node(RubyXL::PhoneticRun)
76
- define_child_node(RubyXL::PhoneticProperties) # phoneticPr
75
+ define_child_node(RubyXL::PhoneticRun, :collection => true)
76
+ define_child_node(RubyXL::PhoneticProperties)
77
77
  define_element_name 'is'
78
78
 
79
79
  def to_s
@@ -1377,6 +1377,9 @@ module RubyXL
1377
1377
 
1378
1378
  # http://www.schemacentral.com/sc/ooxml/e-a_theme.html
1379
1379
  class Theme < OOXMLTopLevelObject
1380
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.theme+xml'
1381
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme'
1382
+
1380
1383
  define_attribute(:name, :string, :default => '')
1381
1384
  define_child_node(RubyXL::ThemeElements)
1382
1385
  define_child_node(RubyXL::CT_ObjectStyleDefaults)
@@ -1388,15 +1391,10 @@ module RubyXL
1388
1391
 
1389
1392
  set_namespaces('http://schemas.openxmlformats.org/drawingml/2006/main' => 'a')
1390
1393
 
1391
- def self.xlsx_path
1394
+ def xlsx_path
1392
1395
  File.join('xl', 'theme', 'theme1.xml')
1393
1396
  end
1394
1397
 
1395
- def self.content_type
1396
- 'application/vnd.openxmlformats-officedocument.theme+xml'
1397
- end
1398
-
1399
-
1400
1398
  def self.defaults
1401
1399
  default_theme = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
1402
1400
  <a:theme xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" name="Office Theme">
@@ -287,6 +287,11 @@ module RubyXL
287
287
 
288
288
  # http://www.schemacentral.com/sc/ooxml/e-ssml_workbook.html
289
289
  class Workbook < OOXMLTopLevelObject
290
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml'
291
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument'
292
+
293
+ include RubyXL::RelationshipSupport
294
+
290
295
  define_child_node(RubyXL::FileVersion)
291
296
  define_child_node(RubyXL::FileSharing)
292
297
  define_child_node(RubyXL::WorkbookProperties, :accessor => :workbook_properties)
@@ -314,11 +319,14 @@ module RubyXL
314
319
  'http://schemas.openxmlformats.org/markup-compatibility/2006' => 'mc',
315
320
  'http://schemas.microsoft.com/office/spreadsheetml/2010/11/main' => 'x15')
316
321
 
322
+ attr_accessor :root
323
+ attr_accessor :calculation_chain, :theme, :stylesheet, :shared_strings_container
324
+
317
325
  def before_write_xml
318
326
  self.sheets = RubyXL::Sheets.new
319
327
 
320
328
  worksheets.each_with_index { |sheet, i|
321
- rel = relationship_container.find_by_target(sheet.xlsx_path.gsub(/^xl\//, ''))
329
+ rel = relationship_container.find_by_target(sheet.xlsx_path.gsub(/\Axl\//, ''))
322
330
  sheets << RubyXL::Sheet.new(:name => sheet.sheet_name[0..30], # Max sheet name length is 31 char
323
331
  :sheet_id => sheet.sheet_id || (i + 1),
324
332
  :state => sheet.state, :r_id => rel.id)
@@ -326,7 +334,29 @@ module RubyXL
326
334
  true
327
335
  end
328
336
 
329
- include LegacyWorkbook
337
+ def related_objects
338
+ [ calculation_chain, stylesheet, theme, shared_strings_container ] + @worksheets
339
+ end
340
+
341
+ def relationship_file_class
342
+ RubyXL::WorkbookRelationships
343
+ end
344
+
345
+ def attach_relationship(rid, rf)
346
+ case rf
347
+ when RubyXL::SharedStringsTable then self.shared_strings_container = rf
348
+ when RubyXL::Stylesheet then self.stylesheet = rf
349
+ when RubyXL::Theme then self.theme = rf
350
+ when RubyXL::CalculationChain then self.calculation_chain = rf
351
+ when RubyXL::ExternalLinksFile then store_relationship(rf) # TODO
352
+ when RubyXL::PivotCacheDefinitionFile then store_relationship(rf) # TODO
353
+ when RubyXL::CustomXMLFile then store_relationship(rf) # TODO
354
+ when RubyXL::MacrosFile then store_relationship(rf) # TODO
355
+ when RubyXL::SlicerCacheFile then store_relationship(rf) # TODO
356
+ when RubyXL::Worksheet, RubyXL::Chartsheet then nil # These will be handled in the next loop
357
+ else store_relationship(rf, :unknown)
358
+ end
359
+ end
330
360
 
331
361
  def date1904
332
362
  workbook_properties && workbook_properties.date1904
@@ -342,67 +372,65 @@ module RubyXL
342
372
  end
343
373
 
344
374
  def company=(v)
345
- self.document_properties.company ||= StringNode.new
346
- self.document_properties.company.value = v
375
+ root.document_properties.company ||= StringNode.new
376
+ root.document_properties.company.value = v
347
377
  end
348
378
 
349
379
  def application
350
- self.document_properties.application && self.document_properties.application.value
380
+ root.document_properties.application && self.document_properties.application.value
351
381
  end
352
382
 
353
383
  def application=(v)
354
- self.document_properties.application ||= StringNode.new
355
- self.document_properties.application.value = v
384
+ root.document_properties.application ||= StringNode.new
385
+ root.document_properties.application.value = v
356
386
  end
357
387
 
358
388
  def appversion
359
- self.document_properties.app_version && self.document_properties.app_version.value
389
+ root.document_properties.app_version && root.document_properties.app_version.value
360
390
  end
361
391
 
362
392
  def appversion=(v)
363
- self.document_properties.app_version ||= StringNode.new
364
- self.document_properties.app_version.value = v
393
+ root.document_properties.app_version ||= StringNode.new
394
+ root.document_properties.app_version.value = v
365
395
  end
366
396
 
367
397
  def creator
368
- self.core_properties.creator
398
+ root.core_properties.creator
369
399
  end
370
400
 
371
401
  def creator=(v)
372
- self.core_properties.creator = v
402
+ root.core_properties.creator = v
373
403
  end
374
404
 
375
405
  def modifier
376
- self.core_properties.modifier
406
+ root.core_properties.modifier
377
407
  end
378
408
 
379
409
  def modifier=(v)
380
- self.core_properties.modifier = v
410
+ root.core_properties.modifier = v
381
411
  end
382
412
 
383
413
  def created_at
384
- self.core_properties.created_at
414
+ root.core_properties.created_at
385
415
  end
386
416
 
387
417
  def created_at=(v)
388
- self.core_properties.created_at = v
418
+ root.core_properties.created_at = v
389
419
  end
390
420
 
391
421
  def modified_at
392
- self.core_properties.modified_at
422
+ root.core_properties.modified_at
393
423
  end
394
424
 
395
425
  def modified_at=(v)
396
- self.core_properties.modified_at = v
426
+ root.core_properties.modified_at = v
397
427
  end
398
428
 
399
- def self.xlsx_path
429
+ def xlsx_path
400
430
  File.join('xl', 'workbook.xml')
401
431
  end
402
432
 
403
- def self.content_type
404
- 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml'
405
- end
433
+ include LegacyWorkbook
406
434
 
407
435
  end
408
436