rubyXL 3.2.0 → 3.2.1

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 (379) hide show
  1. checksums.yaml +4 -4
  2. data/README.rdoc +2 -1
  3. data/VERSION +1 -1
  4. data/lib/rubyXL.rb +6 -1
  5. data/lib/rubyXL/objects/border.rb +13 -31
  6. data/lib/rubyXL/objects/calculation_chain.rb +31 -31
  7. data/lib/rubyXL/objects/cell_style.rb +65 -79
  8. data/lib/rubyXL/objects/chartsheet.rb +85 -85
  9. data/lib/rubyXL/objects/column_range.rb +40 -40
  10. data/lib/rubyXL/objects/comments.rb +21 -21
  11. data/lib/rubyXL/objects/content_types.rb +69 -78
  12. data/lib/rubyXL/objects/data_validation.rb +37 -37
  13. data/lib/rubyXL/objects/document_properties.rb +157 -157
  14. data/lib/rubyXL/objects/extensions.rb +17 -17
  15. data/lib/rubyXL/objects/fill.rb +48 -48
  16. data/lib/rubyXL/objects/filters.rb +119 -119
  17. data/lib/rubyXL/objects/font.rb +0 -10
  18. data/lib/rubyXL/objects/formula.rb +24 -24
  19. data/lib/rubyXL/objects/ooxml_object.rb +443 -456
  20. data/lib/rubyXL/objects/reference.rb +110 -110
  21. data/lib/rubyXL/objects/relationships.rb +3 -10
  22. data/lib/rubyXL/objects/root.rb +81 -81
  23. data/lib/rubyXL/objects/shared_strings.rb +60 -60
  24. data/lib/rubyXL/objects/sheet_common.rb +51 -51
  25. data/lib/rubyXL/objects/sheet_data.rb +173 -173
  26. data/lib/rubyXL/objects/simple_types.rb +229 -229
  27. data/lib/rubyXL/objects/storage.rb +141 -158
  28. data/lib/rubyXL/objects/stylesheet.rb +57 -57
  29. data/lib/rubyXL/objects/text.rb +87 -87
  30. data/lib/rubyXL/objects/theme.rb +21 -21
  31. data/lib/rubyXL/objects/workbook.rb +3 -3
  32. data/lib/rubyXL/objects/worksheet.rb +724 -723
  33. data/lib/rubyXL/parser.rb +0 -1
  34. data/lib/rubyXL/workbook.rb +1 -2
  35. data/rdoc/README_rdoc.html +6 -3
  36. data/rdoc/RubyXL.html +53 -1
  37. data/rdoc/RubyXL/AExtension.html +1 -1
  38. data/rdoc/RubyXL/AExtensionStorageArea.html +1 -1
  39. data/rdoc/RubyXL/AdjustHandleList.html +1 -1
  40. data/rdoc/RubyXL/Alignment.html +1 -1
  41. data/rdoc/RubyXL/AlternateContent.html +1 -1
  42. data/rdoc/RubyXL/Authors.html +1 -1
  43. data/rdoc/RubyXL/AutoFilter.html +1 -1
  44. data/rdoc/RubyXL/AutoFilterColumn.html +1 -1
  45. data/rdoc/RubyXL/BinaryImageFile.html +1 -1
  46. data/rdoc/RubyXL/BodyProperties.html +1 -1
  47. data/rdoc/RubyXL/BooleanNode.html +1 -1
  48. data/rdoc/RubyXL/BooleanValue.html +1 -1
  49. data/rdoc/RubyXL/Border.html +1 -1
  50. data/rdoc/RubyXL/BorderEdge.html +1 -52
  51. data/rdoc/RubyXL/Borders.html +1 -1
  52. data/rdoc/RubyXL/Break.html +1 -1
  53. data/rdoc/RubyXL/BreakList.html +1 -1
  54. data/rdoc/RubyXL/CT_AdjPoint2D.html +1 -1
  55. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +1 -1
  56. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +1 -1
  57. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +1 -1
  58. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +1 -1
  59. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +1 -1
  60. data/rdoc/RubyXL/CT_Backdrop.html +1 -1
  61. data/rdoc/RubyXL/CT_Bevel.html +1 -1
  62. data/rdoc/RubyXL/CT_BiLevelEffect.html +1 -1
  63. data/rdoc/RubyXL/CT_BlendEffect.html +1 -1
  64. data/rdoc/RubyXL/CT_Blip.html +1 -1
  65. data/rdoc/RubyXL/CT_BlipFillProperties.html +1 -1
  66. data/rdoc/RubyXL/CT_BlurEffect.html +1 -1
  67. data/rdoc/RubyXL/CT_Camera.html +1 -1
  68. data/rdoc/RubyXL/CT_Color.html +1 -1
  69. data/rdoc/RubyXL/CT_ColorChangeEffect.html +1 -1
  70. data/rdoc/RubyXL/CT_ColorMapping.html +1 -1
  71. data/rdoc/RubyXL/CT_ColorScheme.html +1 -1
  72. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +1 -1
  73. data/rdoc/RubyXL/CT_ConnectionSite.html +1 -1
  74. data/rdoc/RubyXL/CT_ConnectionSiteList.html +1 -1
  75. data/rdoc/RubyXL/CT_DashStop.html +1 -1
  76. data/rdoc/RubyXL/CT_DashStopList.html +1 -1
  77. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +1 -1
  78. data/rdoc/RubyXL/CT_DuotoneEffect.html +1 -1
  79. data/rdoc/RubyXL/CT_EffectContainer.html +1 -1
  80. data/rdoc/RubyXL/CT_EffectList.html +1 -1
  81. data/rdoc/RubyXL/CT_EffectReference.html +1 -1
  82. data/rdoc/RubyXL/CT_EffectStyleItem.html +1 -1
  83. data/rdoc/RubyXL/CT_EffectStyleList.html +1 -1
  84. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +1 -1
  85. data/rdoc/RubyXL/CT_FillEffect.html +1 -1
  86. data/rdoc/RubyXL/CT_FillOverlayEffect.html +1 -1
  87. data/rdoc/RubyXL/CT_FillStyleList.html +1 -1
  88. data/rdoc/RubyXL/CT_FlatText.html +1 -1
  89. data/rdoc/RubyXL/CT_FontCollection.html +1 -1
  90. data/rdoc/RubyXL/CT_FontReference.html +1 -1
  91. data/rdoc/RubyXL/CT_GeomGuideList.html +1 -1
  92. data/rdoc/RubyXL/CT_GlowEffect.html +1 -1
  93. data/rdoc/RubyXL/CT_GradientFillProperties.html +1 -1
  94. data/rdoc/RubyXL/CT_GradientStop.html +1 -1
  95. data/rdoc/RubyXL/CT_GradientStopList.html +1 -1
  96. data/rdoc/RubyXL/CT_HSLEffect.html +1 -1
  97. data/rdoc/RubyXL/CT_HslColor.html +1 -1
  98. data/rdoc/RubyXL/CT_Hyperlink.html +1 -1
  99. data/rdoc/RubyXL/CT_InnerShadowEffect.html +1 -1
  100. data/rdoc/RubyXL/CT_LightRig.html +1 -1
  101. data/rdoc/RubyXL/CT_LineEndProperties.html +1 -1
  102. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +1 -1
  103. data/rdoc/RubyXL/CT_LineProperties.html +1 -1
  104. data/rdoc/RubyXL/CT_LineStyleList.html +1 -1
  105. data/rdoc/RubyXL/CT_LinearShadeProperties.html +1 -1
  106. data/rdoc/RubyXL/CT_LuminanceEffect.html +1 -1
  107. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +1 -1
  108. data/rdoc/RubyXL/CT_OuterShadowEffect.html +1 -1
  109. data/rdoc/RubyXL/CT_Path2D.html +1 -1
  110. data/rdoc/RubyXL/CT_Path2DArcTo.html +1 -1
  111. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +1 -1
  112. data/rdoc/RubyXL/CT_Path2DList.html +1 -1
  113. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +1 -1
  114. data/rdoc/RubyXL/CT_Path2DTo.html +1 -1
  115. data/rdoc/RubyXL/CT_PathShadeProperties.html +1 -1
  116. data/rdoc/RubyXL/CT_PatternFillProperties.html +1 -1
  117. data/rdoc/RubyXL/CT_Point3D.html +1 -1
  118. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +1 -1
  119. data/rdoc/RubyXL/CT_PresetColor.html +1 -1
  120. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +1 -1
  121. data/rdoc/RubyXL/CT_PresetShadowEffect.html +1 -1
  122. data/rdoc/RubyXL/CT_PresetTextShape.html +1 -1
  123. data/rdoc/RubyXL/CT_ReflectionEffect.html +1 -1
  124. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +1 -1
  125. data/rdoc/RubyXL/CT_RelativeRect.html +1 -1
  126. data/rdoc/RubyXL/CT_SRgbColor.html +1 -1
  127. data/rdoc/RubyXL/CT_ScRgbColor.html +1 -1
  128. data/rdoc/RubyXL/CT_Scene3D.html +1 -1
  129. data/rdoc/RubyXL/CT_SchemeColor.html +1 -1
  130. data/rdoc/RubyXL/CT_Shape3D.html +1 -1
  131. data/rdoc/RubyXL/CT_ShapeStyle.html +1 -1
  132. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +1 -1
  133. data/rdoc/RubyXL/CT_SphereCoords.html +1 -1
  134. data/rdoc/RubyXL/CT_StretchInfoProperties.html +1 -1
  135. data/rdoc/RubyXL/CT_StyleMatrix.html +1 -1
  136. data/rdoc/RubyXL/CT_StyleMatrixReference.html +1 -1
  137. data/rdoc/RubyXL/CT_SupplementalFont.html +1 -1
  138. data/rdoc/RubyXL/CT_SystemColor.html +1 -1
  139. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +1 -1
  140. data/rdoc/RubyXL/CT_TextBlipBullet.html +1 -1
  141. data/rdoc/RubyXL/CT_TextCharBullet.html +1 -1
  142. data/rdoc/RubyXL/CT_TextCharacterProperties.html +1 -1
  143. data/rdoc/RubyXL/CT_TextFont.html +1 -1
  144. data/rdoc/RubyXL/CT_TextListStyle.html +1 -1
  145. data/rdoc/RubyXL/CT_TextNormalAutofit.html +1 -1
  146. data/rdoc/RubyXL/CT_TextParagraphProperties.html +1 -1
  147. data/rdoc/RubyXL/CT_TextSpacing.html +1 -1
  148. data/rdoc/RubyXL/CT_TextTabStop.html +1 -1
  149. data/rdoc/RubyXL/CT_TextTabStopList.html +1 -1
  150. data/rdoc/RubyXL/CT_TileInfoProperties.html +1 -1
  151. data/rdoc/RubyXL/CT_TintEffect.html +1 -1
  152. data/rdoc/RubyXL/CT_Transform2D.html +1 -1
  153. data/rdoc/RubyXL/CT_TransformEffect.html +1 -1
  154. data/rdoc/RubyXL/CT_Vector3D.html +1 -1
  155. data/rdoc/RubyXL/CT_XYAdjustHandle.html +1 -1
  156. data/rdoc/RubyXL/CalculationChain.html +3 -3
  157. data/rdoc/RubyXL/CalculationChainCell.html +1 -1
  158. data/rdoc/RubyXL/CalculationProperties.html +1 -1
  159. data/rdoc/RubyXL/Cell.html +36 -36
  160. data/rdoc/RubyXL/CellSmartTag.html +1 -1
  161. data/rdoc/RubyXL/CellSmartTagProperty.html +1 -1
  162. data/rdoc/RubyXL/CellSmartTags.html +1 -1
  163. data/rdoc/RubyXL/CellStyle.html +1 -1
  164. data/rdoc/RubyXL/CellStyleXFs.html +1 -1
  165. data/rdoc/RubyXL/CellStyles.html +1 -1
  166. data/rdoc/RubyXL/CellValue.html +4 -4
  167. data/rdoc/RubyXL/CellWatch.html +1 -1
  168. data/rdoc/RubyXL/CellWatches.html +1 -1
  169. data/rdoc/RubyXL/CellXFs.html +1 -1
  170. data/rdoc/RubyXL/ChartColorsFile.html +1 -1
  171. data/rdoc/RubyXL/ChartFile.html +1 -1
  172. data/rdoc/RubyXL/ChartStyleFile.html +1 -1
  173. data/rdoc/RubyXL/ChartUserShapesFile.html +1 -1
  174. data/rdoc/RubyXL/Chartsheet.html +1 -1
  175. data/rdoc/RubyXL/ChartsheetPageSetup.html +1 -1
  176. data/rdoc/RubyXL/ChartsheetProperties.html +1 -1
  177. data/rdoc/RubyXL/ChartsheetProtection.html +1 -1
  178. data/rdoc/RubyXL/ChartsheetView.html +1 -1
  179. data/rdoc/RubyXL/ChartsheetViews.html +1 -1
  180. data/rdoc/RubyXL/Color.html +1 -1
  181. data/rdoc/RubyXL/ColorFilter.html +1 -1
  182. data/rdoc/RubyXL/ColorScale.html +1 -1
  183. data/rdoc/RubyXL/ColorSet.html +1 -1
  184. data/rdoc/RubyXL/Colors.html +1 -1
  185. data/rdoc/RubyXL/ColumnRange.html +1 -1
  186. data/rdoc/RubyXL/ColumnRanges.html +22 -22
  187. data/rdoc/RubyXL/Comment.html +1 -1
  188. data/rdoc/RubyXL/CommentList.html +1 -1
  189. data/rdoc/RubyXL/CommentsFile.html +1 -1
  190. data/rdoc/RubyXL/ConditionalFormatValue.html +1 -1
  191. data/rdoc/RubyXL/ConditionalFormatting.html +1 -1
  192. data/rdoc/RubyXL/ConditionalFormattingRule.html +1 -1
  193. data/rdoc/RubyXL/ContentTypeDefault.html +1 -1
  194. data/rdoc/RubyXL/ContentTypeOverride.html +1 -1
  195. data/rdoc/RubyXL/ContentTypes.html +47 -91
  196. data/rdoc/RubyXL/ControlPropertiesFile.html +1 -1
  197. data/rdoc/RubyXL/CorePropertiesFile.html +1 -1
  198. data/rdoc/RubyXL/CustomColor.html +1 -1
  199. data/rdoc/RubyXL/CustomColorList.html +1 -1
  200. data/rdoc/RubyXL/CustomFilter.html +1 -1
  201. data/rdoc/RubyXL/CustomFilters.html +1 -1
  202. data/rdoc/RubyXL/CustomGeometry.html +1 -1
  203. data/rdoc/RubyXL/CustomProperties.html +1 -1
  204. data/rdoc/RubyXL/CustomPropertiesFile.html +1 -1
  205. data/rdoc/RubyXL/CustomProperty.html +1 -1
  206. data/rdoc/RubyXL/CustomSheetView.html +1 -1
  207. data/rdoc/RubyXL/CustomSheetViews.html +1 -1
  208. data/rdoc/RubyXL/CustomWorkbookView.html +1 -1
  209. data/rdoc/RubyXL/CustomWorkbookViews.html +1 -1
  210. data/rdoc/RubyXL/CustomXMLFile.html +1 -1
  211. data/rdoc/RubyXL/DXF.html +1 -1
  212. data/rdoc/RubyXL/DXFs.html +1 -1
  213. data/rdoc/RubyXL/DataBar.html +1 -1
  214. data/rdoc/RubyXL/DataConsolidate.html +1 -1
  215. data/rdoc/RubyXL/DataConsolidationReference.html +1 -1
  216. data/rdoc/RubyXL/DataConsolidationReferences.html +1 -1
  217. data/rdoc/RubyXL/DataType.html +1 -1
  218. data/rdoc/RubyXL/DataValidation.html +1 -1
  219. data/rdoc/RubyXL/DataValidations.html +2 -2
  220. data/rdoc/RubyXL/DateGroupItem.html +1 -1
  221. data/rdoc/RubyXL/DefinedName.html +1 -1
  222. data/rdoc/RubyXL/DefinedNames.html +1 -1
  223. data/rdoc/RubyXL/DocumentPropertiesFile.html +28 -28
  224. data/rdoc/RubyXL/DrawingFile.html +1 -86
  225. data/rdoc/RubyXL/DynamicFilter.html +1 -1
  226. data/rdoc/RubyXL/EmbeddedControl.html +1 -1
  227. data/rdoc/RubyXL/EmbeddedControls.html +1 -1
  228. data/rdoc/RubyXL/Extension.html +1 -1
  229. data/rdoc/RubyXL/ExtensionStorageArea.html +1 -1
  230. data/rdoc/RubyXL/Extents.html +1 -1
  231. data/rdoc/RubyXL/ExternalLinksFile.html +1 -1
  232. data/rdoc/RubyXL/ExternalReference.html +1 -1
  233. data/rdoc/RubyXL/ExternalReferences.html +1 -1
  234. data/rdoc/RubyXL/ExtraColorSchemeList.html +1 -1
  235. data/rdoc/RubyXL/FieldItem.html +1 -1
  236. data/rdoc/RubyXL/FileRecoveryProperties.html +1 -1
  237. data/rdoc/RubyXL/FileSharing.html +1 -1
  238. data/rdoc/RubyXL/FileVersion.html +1 -1
  239. data/rdoc/RubyXL/Fill.html +1 -1
  240. data/rdoc/RubyXL/Fills.html +1 -1
  241. data/rdoc/RubyXL/FilterContainer.html +1 -1
  242. data/rdoc/RubyXL/FloatNode.html +1 -1
  243. data/rdoc/RubyXL/FloatValue.html +1 -1
  244. data/rdoc/RubyXL/Font.html +15 -56
  245. data/rdoc/RubyXL/FontScheme.html +1 -1
  246. data/rdoc/RubyXL/Fonts.html +1 -1
  247. data/rdoc/RubyXL/Formula.html +1 -1
  248. data/rdoc/RubyXL/FunctionGroup.html +1 -1
  249. data/rdoc/RubyXL/FunctionGroups.html +1 -1
  250. data/rdoc/RubyXL/GenericStorageObject.html +14 -31
  251. data/rdoc/RubyXL/GradientFill.html +1 -1
  252. data/rdoc/RubyXL/HeaderFooterSettings.html +1 -1
  253. data/rdoc/RubyXL/Hyperlink.html +1 -1
  254. data/rdoc/RubyXL/HyperlinkRelFile.html +1 -1
  255. data/rdoc/RubyXL/Hyperlinks.html +1 -1
  256. data/rdoc/RubyXL/IconFilter.html +1 -1
  257. data/rdoc/RubyXL/IconSet.html +1 -1
  258. data/rdoc/RubyXL/IgnoredError.html +1 -1
  259. data/rdoc/RubyXL/IgnoredErrors.html +1 -1
  260. data/rdoc/RubyXL/IndexedColors.html +1 -1
  261. data/rdoc/RubyXL/InputCells.html +1 -1
  262. data/rdoc/RubyXL/IntegerNode.html +1 -1
  263. data/rdoc/RubyXL/IntegerValue.html +1 -1
  264. data/rdoc/RubyXL/LegacyCell.html +1 -1
  265. data/rdoc/RubyXL/LegacyWorkbook.html +22 -22
  266. data/rdoc/RubyXL/LegacyWorksheet.html +1 -1
  267. data/rdoc/RubyXL/MRUColors.html +1 -1
  268. data/rdoc/RubyXL/MacrosFile.html +1 -1
  269. data/rdoc/RubyXL/MergedCell.html +1 -1
  270. data/rdoc/RubyXL/MergedCells.html +1 -1
  271. data/rdoc/RubyXL/NumFmt.html +1 -1
  272. data/rdoc/RubyXL/NumberFormat.html +2 -2
  273. data/rdoc/RubyXL/NumberFormats.html +1 -1
  274. data/rdoc/RubyXL/OLEObject.html +1 -1
  275. data/rdoc/RubyXL/OLEObjects.html +1 -1
  276. data/rdoc/RubyXL/OLESize.html +1 -1
  277. data/rdoc/RubyXL/OOXMLContainerObject.html +1 -1
  278. data/rdoc/RubyXL/OOXMLObject.html +1 -1
  279. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +99 -99
  280. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +1 -1
  281. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +12 -19
  282. data/rdoc/RubyXL/OOXMLTopLevelObject.html +1 -1
  283. data/rdoc/RubyXL/Offset.html +1 -1
  284. data/rdoc/RubyXL/OutlineProperties.html +1 -1
  285. data/rdoc/RubyXL/PageMargins.html +1 -1
  286. data/rdoc/RubyXL/PageSetup.html +1 -1
  287. data/rdoc/RubyXL/PageSetupProperties.html +1 -1
  288. data/rdoc/RubyXL/Pane.html +1 -1
  289. data/rdoc/RubyXL/Parser.html +4 -4
  290. data/rdoc/RubyXL/PatternFill.html +1 -1
  291. data/rdoc/RubyXL/PhoneticProperties.html +1 -1
  292. data/rdoc/RubyXL/PhoneticRun.html +1 -1
  293. data/rdoc/RubyXL/PivotArea.html +1 -1
  294. data/rdoc/RubyXL/PivotCache.html +1 -1
  295. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +1 -1
  296. data/rdoc/RubyXL/PivotCaches.html +1 -1
  297. data/rdoc/RubyXL/PivotReference.html +1 -1
  298. data/rdoc/RubyXL/PivotReferences.html +1 -1
  299. data/rdoc/RubyXL/PivotTableFile.html +1 -1
  300. data/rdoc/RubyXL/PivotTableSelection.html +1 -1
  301. data/rdoc/RubyXL/PresetGeometry.html +1 -1
  302. data/rdoc/RubyXL/PrintOptions.html +1 -1
  303. data/rdoc/RubyXL/PrinterSettingsFile.html +1 -20
  304. data/rdoc/RubyXL/ProtectedRange.html +1 -1
  305. data/rdoc/RubyXL/ProtectedRanges.html +1 -1
  306. data/rdoc/RubyXL/Protection.html +1 -1
  307. data/rdoc/RubyXL/RID.html +1 -1
  308. data/rdoc/RubyXL/RawOOXML.html +1 -1
  309. data/rdoc/RubyXL/Reference.html +60 -60
  310. data/rdoc/RubyXL/Relationship.html +1 -1
  311. data/rdoc/RubyXL/RelationshipSupport.html +1 -1
  312. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +1 -1
  313. data/rdoc/RubyXL/RichText.html +1 -1
  314. data/rdoc/RubyXL/RichTextRun.html +1 -1
  315. data/rdoc/RubyXL/Row.html +1 -1
  316. data/rdoc/RubyXL/RunProperties.html +1 -1
  317. data/rdoc/RubyXL/Scenario.html +2 -2
  318. data/rdoc/RubyXL/Scenarios.html +1 -1
  319. data/rdoc/RubyXL/Selection.html +1 -1
  320. data/rdoc/RubyXL/ShapeGuide.html +1 -1
  321. data/rdoc/RubyXL/ShapeTextRectangle.html +1 -1
  322. data/rdoc/RubyXL/SharedStringsTable.html +25 -25
  323. data/rdoc/RubyXL/Sheet.html +1 -1
  324. data/rdoc/RubyXL/SheetCalculationProperties.html +1 -1
  325. data/rdoc/RubyXL/SheetData.html +1 -1
  326. data/rdoc/RubyXL/Sheets.html +1 -1
  327. data/rdoc/RubyXL/SlicerCacheFile.html +1 -1
  328. data/rdoc/RubyXL/SlicerFile.html +1 -1
  329. data/rdoc/RubyXL/SmartTagProperties.html +1 -1
  330. data/rdoc/RubyXL/SmartTagType.html +1 -1
  331. data/rdoc/RubyXL/SmartTagTypes.html +1 -1
  332. data/rdoc/RubyXL/SmartTags.html +1 -1
  333. data/rdoc/RubyXL/SortCondition.html +1 -1
  334. data/rdoc/RubyXL/SortState.html +1 -1
  335. data/rdoc/RubyXL/Sqref.html +5 -5
  336. data/rdoc/RubyXL/Stop.html +1 -1
  337. data/rdoc/RubyXL/StringNode.html +1 -1
  338. data/rdoc/RubyXL/StringNodeW3C.html +1 -1
  339. data/rdoc/RubyXL/StringValue.html +1 -1
  340. data/rdoc/RubyXL/Stylesheet.html +1 -1
  341. data/rdoc/RubyXL/TableFile.html +1 -1
  342. data/rdoc/RubyXL/TableParts.html +1 -1
  343. data/rdoc/RubyXL/TableStyle.html +1 -1
  344. data/rdoc/RubyXL/TableStyles.html +1 -1
  345. data/rdoc/RubyXL/Text.html +6 -6
  346. data/rdoc/RubyXL/Theme.html +1 -1
  347. data/rdoc/RubyXL/ThemeElements.html +1 -1
  348. data/rdoc/RubyXL/ThumbnailFile.html +1 -1
  349. data/rdoc/RubyXL/Top10.html +1 -1
  350. data/rdoc/RubyXL/VMLDrawingFile.html +1 -1
  351. data/rdoc/RubyXL/Variant.html +1 -1
  352. data/rdoc/RubyXL/Vector.html +1 -1
  353. data/rdoc/RubyXL/VectorValue.html +1 -1
  354. data/rdoc/RubyXL/VisualProperties.html +1 -1
  355. data/rdoc/RubyXL/WebPublishObject.html +1 -1
  356. data/rdoc/RubyXL/WebPublishObjects.html +1 -1
  357. data/rdoc/RubyXL/WebPublishingItem.html +1 -1
  358. data/rdoc/RubyXL/WebPublishingItems.html +1 -1
  359. data/rdoc/RubyXL/WebPublishingProperties.html +1 -1
  360. data/rdoc/RubyXL/Workbook.html +1 -1
  361. data/rdoc/RubyXL/WorkbookProperties.html +1 -1
  362. data/rdoc/RubyXL/WorkbookProtection.html +1 -1
  363. data/rdoc/RubyXL/WorkbookRoot.html +46 -46
  364. data/rdoc/RubyXL/WorkbookView.html +1 -1
  365. data/rdoc/RubyXL/WorkbookViews.html +1 -1
  366. data/rdoc/RubyXL/Worksheet.html +1 -1
  367. data/rdoc/RubyXL/WorksheetDimensions.html +1 -1
  368. data/rdoc/RubyXL/WorksheetFormatProperties.html +1 -1
  369. data/rdoc/RubyXL/WorksheetProperties.html +1 -1
  370. data/rdoc/RubyXL/WorksheetProtection.html +1 -1
  371. data/rdoc/RubyXL/WorksheetView.html +1 -1
  372. data/rdoc/RubyXL/WorksheetViews.html +1 -1
  373. data/rdoc/RubyXL/XF.html +1 -1
  374. data/rdoc/created.rid +37 -37
  375. data/rdoc/index.html +2 -8
  376. data/rdoc/js/search_index.js +1 -1
  377. data/rdoc/table_of_contents.html +77 -101
  378. data/rubyXL.gemspec +4 -4
  379. metadata +3 -3
@@ -1,110 +1,110 @@
1
- module RubyXL
2
- class Reference
3
- ROW_MAX = 1024*1024
4
- COL_MAX = 16393
5
-
6
- attr_reader :row_range, :col_range
7
-
8
- # RubyXL::Reference.new(row, col)
9
- # RubyXL::Reference.new(row_from, row_to, col_from, col_to)
10
- # RubyXL::Reference.new(reference_string)
11
- def initialize(*params)
12
- row_from = row_to = col_from = col_to = nil
13
-
14
- case params.size
15
- when 4 then row_from, row_to, col_from, col_to = params
16
- when 2 then row_from, col_from = params
17
- when 1 then
18
- raise ArgumentError.new("invalid value for #{self.class}: #{params[0].inspect}") unless params[0].is_a?(String)
19
- from, to = params[0].split(':')
20
- row_from, col_from = self.class.ref2ind(from)
21
- row_to, col_to = self.class.ref2ind(to) unless to.nil?
22
- end
23
-
24
- @row_range = Range.new(row_from || 0, row_to || row_from || ROW_MAX)
25
- @col_range = Range.new(col_from || 0, col_to || col_from || COL_MAX)
26
- end
27
-
28
- def single_cell?
29
- (@row_range.begin == @row_range.end) && (@col_range.begin == @col_range.end)
30
- end
31
-
32
- def first_row
33
- @row_range.begin
34
- end
35
-
36
- def last_row
37
- @row_range.end
38
- end
39
-
40
- def first_col
41
- @col_range.begin
42
- end
43
-
44
- def last_col
45
- @col_range.end
46
- end
47
-
48
- def ==(other)
49
- !other.nil? && (@row_range == other.row_range) && (@col_range == other.col_range)
50
- end
51
-
52
- def cover?(other)
53
- !other.nil? && (@row_range.cover?(other.row_range.begin) && @row_range.cover?(other.row_range.end) &&
54
- @col_range.cover?(other.col_range.begin) && @col_range.cover?(other.col_range.end))
55
- end
56
-
57
- def to_s
58
- if single_cell? then
59
- self.class.ind2ref(@row_range.begin, @col_range.begin)
60
- else
61
- self.class.ind2ref(@row_range.begin, @col_range.begin) + ':' + self.class.ind2ref(@row_range.end, @col_range.end)
62
- end
63
- end
64
-
65
- def inspect
66
- if single_cell? then
67
- "#<#{self.class} @row=#{@row_range.begin} @col=#{@col_range.begin}>"
68
- else
69
- "#<#{self.class} @row_range=#{@row_range} @col_range=#{@col_range}>"
70
- end
71
- end
72
-
73
- # Converts +row+ and +col+ zero-based indices to Excel-style cell reference
74
- # (0) A...Z, AA...AZ, BA... ...ZZ, AAA... ...AZZ, BAA... ...XFD (16383)
75
- def self.ind2ref(row = 0, col = 0)
76
- str = ''
77
-
78
- loop do
79
- x = col % 26
80
- str = ('A'.ord + x).chr + str
81
- col = (col / 26).floor - 1
82
- break if col < 0
83
- end
84
-
85
- str += (row + 1).to_s
86
- end
87
-
88
- # Converts Excel-style cell reference to +row+ and +col+ zero-based indices.
89
- def self.ref2ind(str)
90
- return [ -1, -1 ] unless str =~ /\A([A-Z]+)(\d+)\Z/
91
-
92
- col = 0
93
- $1.each_byte { |chr| col = col * 26 + (chr - 64) }
94
- [ $2.to_i - 1, col - 1 ]
95
- end
96
-
97
- end
98
-
99
- class Sqref < Array
100
-
101
- def initialize(str)
102
- str.split.each { |ref_str| self << RubyXL::Reference.new(ref_str) }
103
- end
104
-
105
- def to_s
106
- self.collect{ |ref| ref.to_s }.join(' ')
107
- end
108
-
109
- end
110
- end
1
+ module RubyXL
2
+ class Reference
3
+ ROW_MAX = 1024*1024
4
+ COL_MAX = 16393
5
+
6
+ attr_reader :row_range, :col_range
7
+
8
+ # RubyXL::Reference.new(row, col)
9
+ # RubyXL::Reference.new(row_from, row_to, col_from, col_to)
10
+ # RubyXL::Reference.new(reference_string)
11
+ def initialize(*params)
12
+ row_from = row_to = col_from = col_to = nil
13
+
14
+ case params.size
15
+ when 4 then row_from, row_to, col_from, col_to = params
16
+ when 2 then row_from, col_from = params
17
+ when 1 then
18
+ raise ArgumentError.new("invalid value for #{self.class}: #{params[0].inspect}") unless params[0].is_a?(String)
19
+ from, to = params[0].split(':')
20
+ row_from, col_from = self.class.ref2ind(from)
21
+ row_to, col_to = self.class.ref2ind(to) unless to.nil?
22
+ end
23
+
24
+ @row_range = Range.new(row_from || 0, row_to || row_from || ROW_MAX)
25
+ @col_range = Range.new(col_from || 0, col_to || col_from || COL_MAX)
26
+ end
27
+
28
+ def single_cell?
29
+ (@row_range.begin == @row_range.end) && (@col_range.begin == @col_range.end)
30
+ end
31
+
32
+ def first_row
33
+ @row_range.begin
34
+ end
35
+
36
+ def last_row
37
+ @row_range.end
38
+ end
39
+
40
+ def first_col
41
+ @col_range.begin
42
+ end
43
+
44
+ def last_col
45
+ @col_range.end
46
+ end
47
+
48
+ def ==(other)
49
+ !other.nil? && (@row_range == other.row_range) && (@col_range == other.col_range)
50
+ end
51
+
52
+ def cover?(other)
53
+ !other.nil? && (@row_range.cover?(other.row_range.begin) && @row_range.cover?(other.row_range.end) &&
54
+ @col_range.cover?(other.col_range.begin) && @col_range.cover?(other.col_range.end))
55
+ end
56
+
57
+ def to_s
58
+ if single_cell? then
59
+ self.class.ind2ref(@row_range.begin, @col_range.begin)
60
+ else
61
+ self.class.ind2ref(@row_range.begin, @col_range.begin) + ':' + self.class.ind2ref(@row_range.end, @col_range.end)
62
+ end
63
+ end
64
+
65
+ def inspect
66
+ if single_cell? then
67
+ "#<#{self.class} @row=#{@row_range.begin} @col=#{@col_range.begin}>"
68
+ else
69
+ "#<#{self.class} @row_range=#{@row_range} @col_range=#{@col_range}>"
70
+ end
71
+ end
72
+
73
+ # Converts +row+ and +col+ zero-based indices to Excel-style cell reference
74
+ # (0) A...Z, AA...AZ, BA... ...ZZ, AAA... ...AZZ, BAA... ...XFD (16383)
75
+ def self.ind2ref(row = 0, col = 0)
76
+ str = ''
77
+
78
+ loop do
79
+ x = col % 26
80
+ str = ('A'.ord + x).chr + str
81
+ col = (col / 26).floor - 1
82
+ break if col < 0
83
+ end
84
+
85
+ str += (row + 1).to_s
86
+ end
87
+
88
+ # Converts Excel-style cell reference to +row+ and +col+ zero-based indices.
89
+ def self.ref2ind(str)
90
+ return [ -1, -1 ] unless str =~ /\A([A-Z]+)(\d+)\Z/
91
+
92
+ col = 0
93
+ $1.each_byte { |chr| col = col * 26 + (chr - 64) }
94
+ [ $2.to_i - 1, col - 1 ]
95
+ end
96
+
97
+ end
98
+
99
+ class Sqref < Array
100
+
101
+ def initialize(str)
102
+ str.split.each { |ref_str| self << RubyXL::Reference.new(ref_str) }
103
+ end
104
+
105
+ def to_s
106
+ self.collect{ |ref| ref.to_s }.join(' ')
107
+ end
108
+
109
+ end
110
+ end
@@ -35,13 +35,9 @@ module RubyXL
35
35
 
36
36
  def add_relationship(obj)
37
37
  return if obj.nil? || !defined?(obj.class::REL_TYPE)
38
-
39
- file_path = Pathname.new(obj.xlsx_path)
40
- owner_path = Pathname.new(owner.xlsx_path)
41
-
42
38
  relationships << RubyXL::Relationship.new(:id => "rId#{relationships.size + 1}",
43
39
  :type => obj.class::REL_TYPE,
44
- :target => file_path.relative_path_from(owner_path.dirname))
40
+ :target => obj.xlsx_path.relative_path_from(owner.xlsx_path.dirname))
45
41
  end
46
42
  protected :add_relationship
47
43
 
@@ -78,11 +74,8 @@ module RubyXL
78
74
  self.relationships.each { |rel|
79
75
  next if rel.target_mode == 'External'
80
76
 
81
- file_path = Pathname.new(rel.target)
82
-
83
- if !file_path.absolute? then
84
- file_path = (base_file_name.dirname + file_path).cleanpath
85
- end
77
+ file_path = ::Pathname.new(rel.target)
78
+ file_path = (base_file_name.dirname + file_path).cleanpath if file_path.relative?
86
79
 
87
80
  klass = RubyXL::OOXMLRelationshipsFile.get_class_by_rel_type(rel.type)
88
81
 
@@ -1,81 +1,81 @@
1
- require 'zip'
2
- require 'rubyXL/objects/relationships'
3
- require 'rubyXL/objects/document_properties'
4
- require 'rubyXL/objects/content_types'
5
- require 'rubyXL/objects/workbook'
6
-
7
- module RubyXL
8
-
9
- class WorkbookRoot
10
- @@debug = nil
11
-
12
- attr_accessor :filepath
13
- attr_accessor :thumbnail, :core_properties, :document_properties, :custom_properties, :workbook
14
- attr_accessor :content_types, :rels_hash
15
-
16
- include RubyXL::RelationshipSupport
17
-
18
- define_relationship(RubyXL::ThumbnailFile, :thumbnail)
19
- define_relationship(RubyXL::CorePropertiesFile, :core_properties)
20
- define_relationship(RubyXL::DocumentPropertiesFile, :document_properties)
21
- define_relationship(RubyXL::CustomPropertiesFile, :custom_properties)
22
- define_relationship(RubyXL::Workbook, :workbook)
23
-
24
- def related_objects
25
- [ content_types, thumbnail, core_properties, document_properties, custom_properties, workbook ]
26
- end
27
-
28
- def self.default
29
- obj = self.new
30
- obj.document_properties = RubyXL::DocumentPropertiesFile.new
31
- obj.core_properties = RubyXL::CorePropertiesFile.new
32
- obj.relationship_container = RubyXL::OOXMLRelationshipsFile.new
33
- obj.content_types = RubyXL::ContentTypes.new
34
- obj
35
- end
36
-
37
- def stream
38
- stream = Zip::OutputStream.write_buffer { |zipstream|
39
- self.rels_hash = {}
40
- self.relationship_container.owner = self
41
- collect_related_objects.compact.each { |obj|
42
- puts "<-- DEBUG: adding relationship to #{obj.class}" if @@debug
43
- obj.root = self if obj.respond_to?(:root=)
44
- self.rels_hash[obj.class] ||= []
45
- self.rels_hash[obj.class] << obj
46
- }
47
-
48
- self.rels_hash.keys.sort_by{ |c| c::SAVE_ORDER }.each { |klass|
49
- puts "<-- DEBUG: saving related #{klass} files" if @@debug
50
- self.rels_hash[klass].each { |obj|
51
- puts "<-- DEBUG: > #{obj.xlsx_path}" if @@debug
52
- obj.add_to_zip(zipstream)
53
- }
54
- }
55
- }
56
- stream.rewind
57
- stream
58
- end
59
-
60
- def xlsx_path
61
- OOXMLTopLevelObject::ROOT
62
- end
63
-
64
- def self.parse_file(xl_file_path, opts)
65
- begin
66
- ::Zip::File.open(xl_file_path) { |zip_file|
67
- root = self.new
68
- root.filepath = xl_file_path
69
- root.content_types = RubyXL::ContentTypes.parse_file(zip_file)
70
- root.load_relationships(zip_file, OOXMLTopLevelObject::ROOT)
71
- root.workbook.root = root
72
- root
73
- }
74
- rescue ::Zip::Error => e
75
- raise e, "XLSX file format error: #{e}", e.backtrace
76
- end
77
- end
78
-
79
- end
80
-
81
- end
1
+ require 'zip'
2
+ require 'rubyXL/objects/relationships'
3
+ require 'rubyXL/objects/document_properties'
4
+ require 'rubyXL/objects/content_types'
5
+ require 'rubyXL/objects/workbook'
6
+
7
+ module RubyXL
8
+
9
+ class WorkbookRoot
10
+ @@debug = nil
11
+
12
+ attr_accessor :filepath
13
+ attr_accessor :thumbnail, :core_properties, :document_properties, :custom_properties, :workbook
14
+ attr_accessor :content_types, :rels_hash
15
+
16
+ include RubyXL::RelationshipSupport
17
+
18
+ define_relationship(RubyXL::ThumbnailFile, :thumbnail)
19
+ define_relationship(RubyXL::CorePropertiesFile, :core_properties)
20
+ define_relationship(RubyXL::DocumentPropertiesFile, :document_properties)
21
+ define_relationship(RubyXL::CustomPropertiesFile, :custom_properties)
22
+ define_relationship(RubyXL::Workbook, :workbook)
23
+
24
+ def related_objects
25
+ [ content_types, thumbnail, core_properties, document_properties, custom_properties, workbook ]
26
+ end
27
+
28
+ def self.default
29
+ obj = self.new
30
+ obj.document_properties = RubyXL::DocumentPropertiesFile.new
31
+ obj.core_properties = RubyXL::CorePropertiesFile.new
32
+ obj.relationship_container = RubyXL::OOXMLRelationshipsFile.new
33
+ obj.content_types = RubyXL::ContentTypes.new
34
+ obj
35
+ end
36
+
37
+ def stream
38
+ stream = Zip::OutputStream.write_buffer { |zipstream|
39
+ self.rels_hash = {}
40
+ self.relationship_container.owner = self
41
+ collect_related_objects.compact.each { |obj|
42
+ puts "<-- DEBUG: adding relationship to #{obj.class}" if @@debug
43
+ obj.root = self if obj.respond_to?(:root=)
44
+ self.rels_hash[obj.class] ||= []
45
+ self.rels_hash[obj.class] << obj
46
+ }
47
+
48
+ self.rels_hash.keys.sort_by{ |c| c::SAVE_ORDER }.each { |klass|
49
+ puts "<-- DEBUG: saving related #{klass} files" if @@debug
50
+ self.rels_hash[klass].each { |obj|
51
+ puts "<-- DEBUG: > #{obj.xlsx_path}" if @@debug
52
+ obj.add_to_zip(zipstream)
53
+ }
54
+ }
55
+ }
56
+ stream.rewind
57
+ stream
58
+ end
59
+
60
+ def xlsx_path
61
+ OOXMLTopLevelObject::ROOT
62
+ end
63
+
64
+ def self.parse_file(xl_file_path, opts)
65
+ begin
66
+ ::Zip::File.open(xl_file_path) { |zip_file|
67
+ root = self.new
68
+ root.filepath = xl_file_path
69
+ root.content_types = RubyXL::ContentTypes.parse_file(zip_file, ContentTypes::XLSX_PATH)
70
+ root.load_relationships(zip_file, OOXMLTopLevelObject::ROOT)
71
+ root.workbook.root = root
72
+ root
73
+ }
74
+ rescue ::Zip::Error => e
75
+ raise e, "XLSX file format error: #{e}", e.backtrace
76
+ end
77
+ end
78
+
79
+ end
80
+
81
+ end
@@ -1,60 +1,60 @@
1
- require 'rubyXL/objects/ooxml_object'
2
- require 'rubyXL/objects/text'
3
- require 'rubyXL/objects/extensions'
4
-
5
- module RubyXL
6
-
7
- # http://www.schemacentral.com/sc/ooxml/e-ssml_sst.html
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
-
12
- # According to http://msdn.microsoft.com/en-us/library/office/gg278314.aspx,
13
- # +count+ and +uniqueCount+ may be either both missing, or both present. Need to validate.
14
- define_attribute(:uniqueCount, :int)
15
- define_child_node(RubyXL::RichText, :collection => :with_count, :node_name => 'si', :accessor => :strings)
16
- define_child_node(RubyXL::ExtensionStorageArea)
17
- define_element_name 'sst'
18
- set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => '')
19
-
20
- def initialize(*params)
21
- super
22
- # So far, going by the structure that the original creator had in mind. However,
23
- # since the actual implementation is now extracted into a separate class,
24
- # we will be able to transparrently change it later if needs be.
25
- @index_by_content = {}
26
- end
27
-
28
- def before_write_xml
29
- super
30
- self.unique_count = self.count
31
- self.count > 0
32
- end
33
-
34
- def [](index)
35
- strings[index]
36
- end
37
-
38
- def empty?
39
- strings.empty?
40
- end
41
-
42
- def add(str, index = nil)
43
- index ||= strings.size
44
- strings[index] = RubyXL::Text.new(:value => str)
45
- @index_by_content[str] = index
46
- end
47
-
48
- def get_index(str, add_if_missing = false)
49
- index = @index_by_content[str]
50
- index = add(str) if index.nil? && add_if_missing
51
- index
52
- end
53
-
54
- def xlsx_path
55
- ROOT.join('xl', 'sharedStrings.xml')
56
- end
57
-
58
- end
59
-
60
- end
1
+ require 'rubyXL/objects/ooxml_object'
2
+ require 'rubyXL/objects/text'
3
+ require 'rubyXL/objects/extensions'
4
+
5
+ module RubyXL
6
+
7
+ # http://www.schemacentral.com/sc/ooxml/e-ssml_sst.html
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
+
12
+ # According to http://msdn.microsoft.com/en-us/library/office/gg278314.aspx,
13
+ # +count+ and +uniqueCount+ may be either both missing, or both present. Need to validate.
14
+ define_attribute(:uniqueCount, :int)
15
+ define_child_node(RubyXL::RichText, :collection => :with_count, :node_name => 'si', :accessor => :strings)
16
+ define_child_node(RubyXL::ExtensionStorageArea)
17
+ define_element_name 'sst'
18
+ set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => '')
19
+
20
+ def initialize(*params)
21
+ super
22
+ # So far, going by the structure that the original creator had in mind. However,
23
+ # since the actual implementation is now extracted into a separate class,
24
+ # we will be able to transparrently change it later if needs be.
25
+ @index_by_content = {}
26
+ end
27
+
28
+ def before_write_xml
29
+ super
30
+ self.unique_count = self.count
31
+ self.count > 0
32
+ end
33
+
34
+ def [](index)
35
+ strings[index]
36
+ end
37
+
38
+ def empty?
39
+ strings.empty?
40
+ end
41
+
42
+ def add(str, index = nil)
43
+ index ||= strings.size
44
+ strings[index] = RubyXL::Text.new(:value => str)
45
+ @index_by_content[str] = index
46
+ end
47
+
48
+ def get_index(str, add_if_missing = false)
49
+ index = @index_by_content[str]
50
+ index = add(str) if index.nil? && add_if_missing
51
+ index
52
+ end
53
+
54
+ def xlsx_path
55
+ ROOT.join('xl', 'sharedStrings.xml')
56
+ end
57
+
58
+ end
59
+
60
+ end