rubyXL 3.3.11 → 3.3.12
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.
- checksums.yaml +4 -4
- data/README.rdoc +5 -3
- data/VERSION +1 -1
- data/lib/rubyXL.rb +1 -0
- data/lib/rubyXL/objects/ooxml_object.rb +3 -3
- data/lib/rubyXL/objects/root.rb +17 -24
- data/lib/rubyXL/objects/workbook.rb +16 -11
- data/lib/rubyXL/parser.rb +24 -3
- data/rdoc/README_rdoc.html +9 -11
- data/rdoc/RubyXL.html +3 -3
- data/rdoc/RubyXL/AExtension.html +1 -1
- data/rdoc/RubyXL/AExtensionStorageArea.html +1 -1
- data/rdoc/RubyXL/AdjustHandleList.html +1 -1
- data/rdoc/RubyXL/Alignment.html +1 -1
- data/rdoc/RubyXL/AlternateContent.html +1 -1
- data/rdoc/RubyXL/Authors.html +1 -1
- data/rdoc/RubyXL/AutoFilter.html +1 -1
- data/rdoc/RubyXL/AutoFilterColumn.html +1 -1
- data/rdoc/RubyXL/BinaryImageFile.html +1 -1
- data/rdoc/RubyXL/BodyProperties.html +1 -1
- data/rdoc/RubyXL/BooleanNode.html +1 -1
- data/rdoc/RubyXL/BooleanValue.html +1 -1
- data/rdoc/RubyXL/Border.html +1 -1
- data/rdoc/RubyXL/BorderEdge.html +1 -1
- data/rdoc/RubyXL/Borders.html +1 -1
- data/rdoc/RubyXL/Break.html +1 -1
- data/rdoc/RubyXL/BreakList.html +1 -1
- data/rdoc/RubyXL/CT_AdjPoint2D.html +1 -1
- data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +1 -1
- data/rdoc/RubyXL/CT_AlphaModulateEffect.html +1 -1
- data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +1 -1
- data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +1 -1
- data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +1 -1
- data/rdoc/RubyXL/CT_Backdrop.html +1 -1
- data/rdoc/RubyXL/CT_Bevel.html +1 -1
- data/rdoc/RubyXL/CT_BiLevelEffect.html +1 -1
- data/rdoc/RubyXL/CT_BlendEffect.html +1 -1
- data/rdoc/RubyXL/CT_Blip.html +1 -1
- data/rdoc/RubyXL/CT_BlipFillProperties.html +1 -1
- data/rdoc/RubyXL/CT_BlurEffect.html +1 -1
- data/rdoc/RubyXL/CT_Camera.html +1 -1
- data/rdoc/RubyXL/CT_Color.html +1 -1
- data/rdoc/RubyXL/CT_ColorChangeEffect.html +1 -1
- data/rdoc/RubyXL/CT_ColorMapping.html +1 -1
- data/rdoc/RubyXL/CT_ColorScheme.html +1 -1
- data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +1 -1
- data/rdoc/RubyXL/CT_ConnectionSite.html +1 -1
- data/rdoc/RubyXL/CT_ConnectionSiteList.html +1 -1
- data/rdoc/RubyXL/CT_DashStop.html +1 -1
- data/rdoc/RubyXL/CT_DashStopList.html +1 -1
- data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +1 -1
- data/rdoc/RubyXL/CT_DuotoneEffect.html +1 -1
- data/rdoc/RubyXL/CT_EffectContainer.html +1 -1
- data/rdoc/RubyXL/CT_EffectList.html +1 -1
- data/rdoc/RubyXL/CT_EffectReference.html +1 -1
- data/rdoc/RubyXL/CT_EffectStyleItem.html +1 -1
- data/rdoc/RubyXL/CT_EffectStyleList.html +1 -1
- data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +1 -1
- data/rdoc/RubyXL/CT_FillEffect.html +1 -1
- data/rdoc/RubyXL/CT_FillOverlayEffect.html +1 -1
- data/rdoc/RubyXL/CT_FillStyleList.html +1 -1
- data/rdoc/RubyXL/CT_FlatText.html +1 -1
- data/rdoc/RubyXL/CT_FontCollection.html +1 -1
- data/rdoc/RubyXL/CT_FontReference.html +1 -1
- data/rdoc/RubyXL/CT_GeomGuideList.html +1 -1
- data/rdoc/RubyXL/CT_GlowEffect.html +1 -1
- data/rdoc/RubyXL/CT_GradientFillProperties.html +1 -1
- data/rdoc/RubyXL/CT_GradientStop.html +1 -1
- data/rdoc/RubyXL/CT_GradientStopList.html +1 -1
- data/rdoc/RubyXL/CT_HSLEffect.html +1 -1
- data/rdoc/RubyXL/CT_HslColor.html +1 -1
- data/rdoc/RubyXL/CT_Hyperlink.html +1 -1
- data/rdoc/RubyXL/CT_InnerShadowEffect.html +1 -1
- data/rdoc/RubyXL/CT_LightRig.html +1 -1
- data/rdoc/RubyXL/CT_LineEndProperties.html +1 -1
- data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +1 -1
- data/rdoc/RubyXL/CT_LineProperties.html +1 -1
- data/rdoc/RubyXL/CT_LineStyleList.html +1 -1
- data/rdoc/RubyXL/CT_LinearShadeProperties.html +1 -1
- data/rdoc/RubyXL/CT_LuminanceEffect.html +1 -1
- data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +1 -1
- data/rdoc/RubyXL/CT_OuterShadowEffect.html +1 -1
- data/rdoc/RubyXL/CT_Path2D.html +1 -1
- data/rdoc/RubyXL/CT_Path2DArcTo.html +1 -1
- data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +1 -1
- data/rdoc/RubyXL/CT_Path2DList.html +1 -1
- data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +1 -1
- data/rdoc/RubyXL/CT_Path2DTo.html +1 -1
- data/rdoc/RubyXL/CT_PathShadeProperties.html +1 -1
- data/rdoc/RubyXL/CT_PatternFillProperties.html +1 -1
- data/rdoc/RubyXL/CT_Point3D.html +1 -1
- data/rdoc/RubyXL/CT_PolarAdjustHandle.html +1 -1
- data/rdoc/RubyXL/CT_PresetColor.html +1 -1
- data/rdoc/RubyXL/CT_PresetLineDashProperties.html +1 -1
- data/rdoc/RubyXL/CT_PresetShadowEffect.html +1 -1
- data/rdoc/RubyXL/CT_PresetTextShape.html +1 -1
- data/rdoc/RubyXL/CT_ReflectionEffect.html +1 -1
- data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +1 -1
- data/rdoc/RubyXL/CT_RelativeRect.html +1 -1
- data/rdoc/RubyXL/CT_SRgbColor.html +1 -1
- data/rdoc/RubyXL/CT_ScRgbColor.html +1 -1
- data/rdoc/RubyXL/CT_Scene3D.html +1 -1
- data/rdoc/RubyXL/CT_SchemeColor.html +1 -1
- data/rdoc/RubyXL/CT_Shape3D.html +1 -1
- data/rdoc/RubyXL/CT_ShapeStyle.html +1 -1
- data/rdoc/RubyXL/CT_SoftEdgesEffect.html +1 -1
- data/rdoc/RubyXL/CT_SphereCoords.html +1 -1
- data/rdoc/RubyXL/CT_StretchInfoProperties.html +1 -1
- data/rdoc/RubyXL/CT_StyleMatrix.html +1 -1
- data/rdoc/RubyXL/CT_StyleMatrixReference.html +1 -1
- data/rdoc/RubyXL/CT_SupplementalFont.html +1 -1
- data/rdoc/RubyXL/CT_SystemColor.html +1 -1
- data/rdoc/RubyXL/CT_TextAutonumberBullet.html +1 -1
- data/rdoc/RubyXL/CT_TextBlipBullet.html +1 -1
- data/rdoc/RubyXL/CT_TextCharBullet.html +1 -1
- data/rdoc/RubyXL/CT_TextCharacterProperties.html +1 -1
- data/rdoc/RubyXL/CT_TextFont.html +1 -1
- data/rdoc/RubyXL/CT_TextListStyle.html +1 -1
- data/rdoc/RubyXL/CT_TextNormalAutofit.html +1 -1
- data/rdoc/RubyXL/CT_TextParagraphProperties.html +1 -1
- data/rdoc/RubyXL/CT_TextSpacing.html +1 -1
- data/rdoc/RubyXL/CT_TextTabStop.html +1 -1
- data/rdoc/RubyXL/CT_TextTabStopList.html +1 -1
- data/rdoc/RubyXL/CT_TileInfoProperties.html +1 -1
- data/rdoc/RubyXL/CT_TintEffect.html +1 -1
- data/rdoc/RubyXL/CT_Transform2D.html +1 -1
- data/rdoc/RubyXL/CT_TransformEffect.html +1 -1
- data/rdoc/RubyXL/CT_Vector3D.html +1 -1
- data/rdoc/RubyXL/CT_XYAdjustHandle.html +1 -1
- data/rdoc/RubyXL/CalculationChain.html +1 -1
- data/rdoc/RubyXL/CalculationChainCell.html +1 -1
- data/rdoc/RubyXL/CalculationProperties.html +1 -1
- data/rdoc/RubyXL/Cell.html +1 -1
- data/rdoc/RubyXL/CellConvenienceMethods.html +1 -1
- data/rdoc/RubyXL/CellExt.html +1 -1
- data/rdoc/RubyXL/CellSmartTag.html +1 -1
- data/rdoc/RubyXL/CellSmartTagProperty.html +1 -1
- data/rdoc/RubyXL/CellSmartTags.html +1 -1
- data/rdoc/RubyXL/CellStyle.html +1 -1
- data/rdoc/RubyXL/CellStyleXFs.html +1 -1
- data/rdoc/RubyXL/CellStyles.html +1 -1
- data/rdoc/RubyXL/CellValue.html +1 -1
- data/rdoc/RubyXL/CellWatch.html +1 -1
- data/rdoc/RubyXL/CellWatches.html +1 -1
- data/rdoc/RubyXL/CellXFs.html +1 -1
- data/rdoc/RubyXL/ChartColorsFile.html +1 -1
- data/rdoc/RubyXL/ChartFile.html +1 -1
- data/rdoc/RubyXL/ChartStyleFile.html +1 -1
- data/rdoc/RubyXL/ChartUserShapesFile.html +1 -1
- data/rdoc/RubyXL/Chartsheet.html +1 -1
- data/rdoc/RubyXL/ChartsheetPageSetup.html +1 -1
- data/rdoc/RubyXL/ChartsheetProperties.html +1 -1
- data/rdoc/RubyXL/ChartsheetProtection.html +1 -1
- data/rdoc/RubyXL/ChartsheetView.html +1 -1
- data/rdoc/RubyXL/ChartsheetViews.html +1 -1
- data/rdoc/RubyXL/Color.html +1 -1
- data/rdoc/RubyXL/ColorFilter.html +1 -1
- data/rdoc/RubyXL/ColorScale.html +1 -1
- data/rdoc/RubyXL/ColorSet.html +1 -1
- data/rdoc/RubyXL/Colors.html +1 -1
- data/rdoc/RubyXL/ColumnRange.html +1 -1
- data/rdoc/RubyXL/ColumnRanges.html +1 -1
- data/rdoc/RubyXL/Comment.html +1 -1
- data/rdoc/RubyXL/CommentList.html +1 -1
- data/rdoc/RubyXL/CommentsFile.html +1 -1
- data/rdoc/RubyXL/ConditionalFormatValue.html +1 -1
- data/rdoc/RubyXL/ConditionalFormatting.html +1 -1
- data/rdoc/RubyXL/ConditionalFormattingRule.html +1 -1
- data/rdoc/RubyXL/ContentTypeDefault.html +1 -1
- data/rdoc/RubyXL/ContentTypeOverride.html +1 -1
- data/rdoc/RubyXL/ContentTypes.html +1 -1
- data/rdoc/RubyXL/ControlPropertiesFile.html +1 -1
- data/rdoc/RubyXL/CorePropertiesFile.html +1 -1
- data/rdoc/RubyXL/CustomColor.html +1 -1
- data/rdoc/RubyXL/CustomColorList.html +1 -1
- data/rdoc/RubyXL/CustomFilter.html +1 -1
- data/rdoc/RubyXL/CustomFilters.html +1 -1
- data/rdoc/RubyXL/CustomGeometry.html +1 -1
- data/rdoc/RubyXL/CustomProperties.html +1 -1
- data/rdoc/RubyXL/CustomPropertiesFile.html +1 -1
- data/rdoc/RubyXL/CustomProperty.html +1 -1
- data/rdoc/RubyXL/CustomSheetView.html +1 -1
- data/rdoc/RubyXL/CustomSheetViews.html +1 -1
- data/rdoc/RubyXL/CustomWorkbookView.html +1 -1
- data/rdoc/RubyXL/CustomWorkbookViews.html +1 -1
- data/rdoc/RubyXL/CustomXMLFile.html +1 -1
- data/rdoc/RubyXL/DXF.html +1 -1
- data/rdoc/RubyXL/DXFs.html +1 -1
- data/rdoc/RubyXL/DataBar.html +1 -1
- data/rdoc/RubyXL/DataConsolidate.html +1 -1
- data/rdoc/RubyXL/DataConsolidationReference.html +1 -1
- data/rdoc/RubyXL/DataConsolidationReferences.html +1 -1
- data/rdoc/RubyXL/DataType.html +1 -1
- data/rdoc/RubyXL/DataValidation.html +1 -1
- data/rdoc/RubyXL/DataValidations.html +1 -1
- data/rdoc/RubyXL/DateGroupItem.html +1 -1
- data/rdoc/RubyXL/DefinedName.html +1 -1
- data/rdoc/RubyXL/DefinedNameExt.html +1 -1
- data/rdoc/RubyXL/DefinedNames.html +1 -1
- data/rdoc/RubyXL/DefinedNamesExt.html +1 -1
- data/rdoc/RubyXL/DocumentPropertiesFile.html +1 -1
- data/rdoc/RubyXL/DrawingFile.html +1 -1
- data/rdoc/RubyXL/DynamicFilter.html +1 -1
- data/rdoc/RubyXL/EmbeddedControl.html +1 -1
- data/rdoc/RubyXL/EmbeddedControls.html +1 -1
- data/rdoc/RubyXL/Extension.html +1 -1
- data/rdoc/RubyXL/ExtensionStorageArea.html +1 -1
- data/rdoc/RubyXL/Extents.html +1 -1
- data/rdoc/RubyXL/ExternalBook.html +1 -1
- data/rdoc/RubyXL/ExternalLinksFile.html +1 -1
- data/rdoc/RubyXL/ExternalReference.html +1 -1
- data/rdoc/RubyXL/ExternalReferences.html +1 -1
- data/rdoc/RubyXL/ExtraColorSchemeList.html +1 -1
- data/rdoc/RubyXL/FieldItem.html +1 -1
- data/rdoc/RubyXL/FileRecoveryProperties.html +1 -1
- data/rdoc/RubyXL/FileSharing.html +1 -1
- data/rdoc/RubyXL/FileVersion.html +1 -1
- data/rdoc/RubyXL/Fill.html +1 -1
- data/rdoc/RubyXL/Fills.html +1 -1
- data/rdoc/RubyXL/FilterContainer.html +1 -1
- data/rdoc/RubyXL/FloatNode.html +1 -1
- data/rdoc/RubyXL/FloatValue.html +1 -1
- data/rdoc/RubyXL/Font.html +1 -1
- data/rdoc/RubyXL/FontScheme.html +1 -1
- data/rdoc/RubyXL/Fonts.html +1 -1
- data/rdoc/RubyXL/Formula.html +1 -1
- data/rdoc/RubyXL/FunctionGroup.html +1 -1
- data/rdoc/RubyXL/FunctionGroups.html +1 -1
- data/rdoc/RubyXL/GenericStorageObject.html +1 -1
- data/rdoc/RubyXL/GradientFill.html +1 -1
- data/rdoc/RubyXL/HeaderFooterSettings.html +1 -1
- data/rdoc/RubyXL/Hyperlink.html +1 -1
- data/rdoc/RubyXL/HyperlinkRelFile.html +1 -1
- data/rdoc/RubyXL/Hyperlinks.html +1 -1
- data/rdoc/RubyXL/IconFilter.html +1 -1
- data/rdoc/RubyXL/IconSet.html +1 -1
- data/rdoc/RubyXL/IgnoredError.html +1 -1
- data/rdoc/RubyXL/IgnoredErrors.html +1 -1
- data/rdoc/RubyXL/IndexedColors.html +1 -1
- data/rdoc/RubyXL/InputCells.html +1 -1
- data/rdoc/RubyXL/IntegerNode.html +1 -1
- data/rdoc/RubyXL/IntegerValue.html +1 -1
- data/rdoc/RubyXL/LegacyCell.html +1 -1
- data/rdoc/RubyXL/LegacyWorksheet.html +1 -1
- data/rdoc/RubyXL/MRUColors.html +1 -1
- data/rdoc/RubyXL/MacrosFile.html +1 -1
- data/rdoc/RubyXL/MergedCell.html +1 -1
- data/rdoc/RubyXL/MergedCells.html +1 -1
- data/rdoc/RubyXL/NumFmt.html +1 -1
- data/rdoc/RubyXL/NumberFormat.html +1 -1
- data/rdoc/RubyXL/NumberFormats.html +1 -1
- data/rdoc/RubyXL/OLEObject.html +1 -1
- data/rdoc/RubyXL/OLEObjectFile.html +1 -1
- data/rdoc/RubyXL/OLEObjects.html +1 -1
- data/rdoc/RubyXL/OLESize.html +1 -1
- data/rdoc/RubyXL/OOXMLContainerObject.html +1 -1
- data/rdoc/RubyXL/OOXMLObject.html +1 -1
- data/rdoc/RubyXL/OOXMLObjectClassMethods.html +1 -1
- data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +1 -1
- data/rdoc/RubyXL/OOXMLRelationshipsFile.html +1 -1
- data/rdoc/RubyXL/OOXMLTopLevelObject.html +7 -4
- data/rdoc/RubyXL/Offset.html +1 -1
- data/rdoc/RubyXL/OutlineProperties.html +1 -1
- data/rdoc/RubyXL/PageMargins.html +1 -1
- data/rdoc/RubyXL/PageSetup.html +1 -1
- data/rdoc/RubyXL/PageSetupProperties.html +1 -1
- data/rdoc/RubyXL/Pane.html +1 -1
- data/rdoc/RubyXL/Parser.html +56 -7
- data/rdoc/RubyXL/PatternFill.html +1 -1
- data/rdoc/RubyXL/PhoneticProperties.html +1 -1
- data/rdoc/RubyXL/PhoneticRun.html +1 -1
- data/rdoc/RubyXL/PivotArea.html +1 -1
- data/rdoc/RubyXL/PivotCache.html +1 -1
- data/rdoc/RubyXL/PivotCacheDefinitionFile.html +1 -1
- data/rdoc/RubyXL/PivotCacheRecordsFile.html +1 -1
- data/rdoc/RubyXL/PivotCaches.html +1 -1
- data/rdoc/RubyXL/PivotReference.html +1 -1
- data/rdoc/RubyXL/PivotReferences.html +1 -1
- data/rdoc/RubyXL/PivotTableFile.html +1 -1
- data/rdoc/RubyXL/PivotTableSelection.html +1 -1
- data/rdoc/RubyXL/PresetGeometry.html +1 -1
- data/rdoc/RubyXL/PrintOptions.html +1 -1
- data/rdoc/RubyXL/PrinterSettingsFile.html +1 -1
- data/rdoc/RubyXL/ProtectedRange.html +1 -1
- data/rdoc/RubyXL/ProtectedRanges.html +1 -1
- data/rdoc/RubyXL/Protection.html +1 -1
- data/rdoc/RubyXL/RID.html +1 -1
- data/rdoc/RubyXL/RawOOXML.html +1 -1
- data/rdoc/RubyXL/Reference.html +1 -1
- data/rdoc/RubyXL/Relationship.html +1 -1
- data/rdoc/RubyXL/RelationshipSupport.html +1 -1
- data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +1 -1
- data/rdoc/RubyXL/RichText.html +1 -1
- data/rdoc/RubyXL/RichTextRun.html +1 -1
- data/rdoc/RubyXL/Row.html +1 -1
- data/rdoc/RubyXL/RowExt.html +1 -1
- data/rdoc/RubyXL/RunProperties.html +1 -1
- data/rdoc/RubyXL/Scenario.html +1 -1
- data/rdoc/RubyXL/Scenarios.html +1 -1
- data/rdoc/RubyXL/Selection.html +1 -1
- data/rdoc/RubyXL/ShapeGuide.html +1 -1
- data/rdoc/RubyXL/ShapeTextRectangle.html +1 -1
- data/rdoc/RubyXL/SharedStringsTable.html +1 -1
- data/rdoc/RubyXL/Sheet.html +1 -1
- data/rdoc/RubyXL/SheetCalculationProperties.html +1 -1
- data/rdoc/RubyXL/SheetData.html +1 -1
- data/rdoc/RubyXL/SheetDataExt.html +1 -1
- data/rdoc/RubyXL/SheetDataSet.html +1 -1
- data/rdoc/RubyXL/SheetName.html +1 -1
- data/rdoc/RubyXL/SheetNames.html +1 -1
- data/rdoc/RubyXL/Sheets.html +1 -1
- data/rdoc/RubyXL/SlicerCacheFile.html +1 -1
- data/rdoc/RubyXL/SlicerFile.html +1 -1
- data/rdoc/RubyXL/SmartTagProperties.html +1 -1
- data/rdoc/RubyXL/SmartTagType.html +1 -1
- data/rdoc/RubyXL/SmartTagTypes.html +1 -1
- data/rdoc/RubyXL/SmartTags.html +1 -1
- data/rdoc/RubyXL/SortCondition.html +1 -1
- data/rdoc/RubyXL/SortState.html +1 -1
- data/rdoc/RubyXL/Sqref.html +1 -1
- data/rdoc/RubyXL/Stop.html +1 -1
- data/rdoc/RubyXL/StringNode.html +1 -1
- data/rdoc/RubyXL/StringNodeW3C.html +1 -1
- data/rdoc/RubyXL/StringValue.html +1 -1
- data/rdoc/RubyXL/Stylesheet.html +1 -1
- data/rdoc/RubyXL/TableFile.html +1 -1
- data/rdoc/RubyXL/TableParts.html +1 -1
- data/rdoc/RubyXL/TableStyle.html +1 -1
- data/rdoc/RubyXL/TableStyles.html +1 -1
- data/rdoc/RubyXL/Text.html +1 -1
- data/rdoc/RubyXL/Theme.html +1 -1
- data/rdoc/RubyXL/ThemeElements.html +1 -1
- data/rdoc/RubyXL/ThumbnailFile.html +1 -1
- data/rdoc/RubyXL/Top10.html +1 -1
- data/rdoc/RubyXL/VMLDrawingFile.html +1 -1
- data/rdoc/RubyXL/Variant.html +1 -1
- data/rdoc/RubyXL/Vector.html +1 -1
- data/rdoc/RubyXL/VectorValue.html +1 -1
- data/rdoc/RubyXL/VisualProperties.html +1 -1
- data/rdoc/RubyXL/WebPublishObject.html +1 -1
- data/rdoc/RubyXL/WebPublishObjects.html +1 -1
- data/rdoc/RubyXL/WebPublishingItem.html +1 -1
- data/rdoc/RubyXL/WebPublishingItems.html +1 -1
- data/rdoc/RubyXL/WebPublishingProperties.html +1 -1
- data/rdoc/RubyXL/Workbook.html +26 -21
- data/rdoc/RubyXL/WorkbookConvenienceMethods.html +1 -1
- data/rdoc/RubyXL/WorkbookProperties.html +1 -1
- data/rdoc/RubyXL/WorkbookProtection.html +1 -1
- data/rdoc/RubyXL/WorkbookRoot.html +29 -36
- data/rdoc/RubyXL/WorkbookView.html +1 -1
- data/rdoc/RubyXL/WorkbookViews.html +1 -1
- data/rdoc/RubyXL/Worksheet.html +1 -1
- data/rdoc/RubyXL/WorksheetConvenienceMethods.html +1 -1
- data/rdoc/RubyXL/WorksheetDimensions.html +1 -1
- data/rdoc/RubyXL/WorksheetFormatProperties.html +1 -1
- data/rdoc/RubyXL/WorksheetProperties.html +1 -1
- data/rdoc/RubyXL/WorksheetProtection.html +1 -1
- data/rdoc/RubyXL/WorksheetView.html +1 -1
- data/rdoc/RubyXL/WorksheetViews.html +1 -1
- data/rdoc/RubyXL/XF.html +1 -1
- data/rdoc/created.rid +9 -9
- data/rdoc/index.html +2 -2
- data/rdoc/js/navigation.js.gz +0 -0
- data/rdoc/js/search_index.js +1 -1
- data/rdoc/js/search_index.js.gz +0 -0
- data/rdoc/js/searcher.js.gz +0 -0
- data/rdoc/table_of_contents.html +173 -170
- data/rubyXL.gemspec +3 -3
- data/spec/lib/parser_spec.rb +24 -4
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6e1c2446da3e82b6cb501d89c16c00779775dad4
|
|
4
|
+
data.tar.gz: 3be7993c63cab52678c22d6e9b8fadcd84d5429b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 497e6a697688a07626a3a8677d39277f5fc77823d57c67fdd34561d81228898c88cfe0f0e94b22d0c498a8f79fe87263f442d9de4c5b75c9a7cf0aea9b623285
|
|
7
|
+
data.tar.gz: 2c679571955146a204105913426632c1e27ad79938eb3122111eb0cbdadf71b5569b0627996b88db5b75fc19fede41bbf01d310117dfb5af9dd486c2872eaa86
|
data/README.rdoc
CHANGED
|
@@ -194,12 +194,14 @@ WARNING: Use of this method WILL break formulas referencing cells which have bee
|
|
|
194
194
|
|
|
195
195
|
== I/O
|
|
196
196
|
|
|
197
|
-
|
|
197
|
+
By default, the gem operates with files on the local filesystem:
|
|
198
|
+
|
|
199
|
+
workbook = RubyXL::Parser.parse("path/to/Excel/file.xlsx")
|
|
198
200
|
workbook.write("path/to/desired/Excel/file.xlsx")
|
|
199
201
|
|
|
200
|
-
|
|
201
|
-
The gem can provide +StringIO+ object containing the resulting +xlsx+ file, eliminating the need to save it to disk first. This capability comes in handy for web servers.
|
|
202
|
+
It can also operate on +StringIO+ objects, thus eliminating the need to save the +xlsx+ file to disk. This capability comes in handy for web servers.
|
|
202
203
|
|
|
204
|
+
workbook = RubyXL::Parser.parse_buffer(buffer)
|
|
203
205
|
workbook.stream
|
|
204
206
|
|
|
205
207
|
== Miscellaneous
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.3.
|
|
1
|
+
3.3.12
|
data/lib/rubyXL.rb
CHANGED
|
@@ -421,10 +421,10 @@ module RubyXL
|
|
|
421
421
|
self.class_variable_set(:@@ooxml_namespaces, namespace_hash)
|
|
422
422
|
end
|
|
423
423
|
|
|
424
|
-
# Generates the top-level OOXML object by parsing its XML file from the
|
|
425
|
-
# directory containing the unzipped contents of <tt>.xslx</tt>
|
|
424
|
+
# Generates the top-level OOXML object by parsing its XML file from the contents of the <tt>.xslx</tt> container.
|
|
426
425
|
# === Parameters
|
|
427
|
-
# * +
|
|
426
|
+
# * +zip_file+ - <tt>.xslx</tt> file as <tt>Zip::File</tt> object
|
|
427
|
+
# * +file_path+ - path to the subject file inside the <tt>.xslx</tt> zip archive
|
|
428
428
|
def self.parse_file(zip_file, file_path)
|
|
429
429
|
entry = zip_file.find_entry(RubyXL::from_root(file_path))
|
|
430
430
|
# Accomodate for Nokogiri Java implementation which is incapable of reading from a stream
|
data/lib/rubyXL/objects/root.rb
CHANGED
|
@@ -9,7 +9,7 @@ module RubyXL
|
|
|
9
9
|
class WorkbookRoot
|
|
10
10
|
@@debug = nil
|
|
11
11
|
|
|
12
|
-
attr_accessor :
|
|
12
|
+
attr_accessor :source_file_path, :content_types, :rels_hash
|
|
13
13
|
|
|
14
14
|
include RubyXL::RelationshipSupport
|
|
15
15
|
|
|
@@ -32,6 +32,7 @@ module RubyXL
|
|
|
32
32
|
obj
|
|
33
33
|
end
|
|
34
34
|
|
|
35
|
+
# Write <tt>.xlsx</tt> to a stream (useful for sending over HTTP)
|
|
35
36
|
def stream
|
|
36
37
|
stream = Zip::OutputStream.write_buffer { |zipstream|
|
|
37
38
|
self.rels_hash = {}
|
|
@@ -59,35 +60,27 @@ module RubyXL
|
|
|
59
60
|
OOXMLTopLevelObject::ROOT
|
|
60
61
|
end
|
|
61
62
|
|
|
62
|
-
def self.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
root.filepath = xl_file_path
|
|
67
|
-
root.content_types = RubyXL::ContentTypes.parse_file(zip_file, ContentTypes::XLSX_PATH)
|
|
68
|
-
root.load_relationships(zip_file, OOXMLTopLevelObject::ROOT)
|
|
63
|
+
def self.parse_zip_file(zip_file)
|
|
64
|
+
root = self.new
|
|
65
|
+
root.content_types = RubyXL::ContentTypes.parse_file(zip_file, ContentTypes::XLSX_PATH)
|
|
66
|
+
root.load_relationships(zip_file, OOXMLTopLevelObject::ROOT)
|
|
69
67
|
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
wb = root.workbook
|
|
69
|
+
wb.root = root
|
|
72
70
|
|
|
73
|
-
|
|
74
|
-
|
|
71
|
+
wb.sheets.each_with_index { |sheet, i|
|
|
72
|
+
sheet_obj = wb.relationship_container.related_files[sheet.r_id]
|
|
75
73
|
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
wb.worksheets[i] = sheet_obj # Must be done first so the sheet becomes aware of its number
|
|
75
|
+
sheet_obj.workbook = wb
|
|
78
76
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
77
|
+
sheet_obj.sheet_name = sheet.name
|
|
78
|
+
sheet_obj.sheet_id = sheet.sheet_id
|
|
79
|
+
sheet_obj.state = sheet.state
|
|
80
|
+
}
|
|
83
81
|
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
rescue ::Zip::Error => e
|
|
87
|
-
raise e, "XLSX file format error: #{e}", e.backtrace
|
|
88
|
-
end
|
|
82
|
+
root
|
|
89
83
|
end
|
|
90
|
-
|
|
91
84
|
end
|
|
92
85
|
|
|
93
86
|
end
|
|
@@ -356,14 +356,19 @@ module RubyXL
|
|
|
356
356
|
attr_accessor :worksheets
|
|
357
357
|
|
|
358
358
|
def before_write_xml
|
|
359
|
+
max_sheet = worksheets.max_by(&:sheet_id)
|
|
360
|
+
max_sheet_id = max_sheet && max_sheet.sheet_id || 0
|
|
361
|
+
|
|
359
362
|
self.sheets = RubyXL::Sheets.new
|
|
360
363
|
|
|
361
|
-
worksheets.
|
|
364
|
+
worksheets.each { |sheet, i|
|
|
362
365
|
rel = relationship_container.find_by_target(sheet.xlsx_path)
|
|
363
|
-
sheets << RubyXL::Sheet.new(:name
|
|
364
|
-
:sheet_id => sheet.sheet_id || (
|
|
365
|
-
:state
|
|
366
|
+
sheets << RubyXL::Sheet.new(:name => sheet.sheet_name[0..30], # Max sheet name length is 31 char
|
|
367
|
+
:sheet_id => sheet.sheet_id || (max_sheet_id += 1),
|
|
368
|
+
:state => sheet.state,
|
|
369
|
+
:r_id => rel.id)
|
|
366
370
|
}
|
|
371
|
+
|
|
367
372
|
true
|
|
368
373
|
end
|
|
369
374
|
|
|
@@ -377,17 +382,17 @@ module RubyXL
|
|
|
377
382
|
end
|
|
378
383
|
|
|
379
384
|
# Save the resulting XLSX file to the specified location
|
|
380
|
-
def save(
|
|
381
|
-
|
|
385
|
+
def save(dst_file_path = nil)
|
|
386
|
+
dst_file_path ||= root.source_file_path
|
|
382
387
|
|
|
383
|
-
extension = File.extname(
|
|
388
|
+
extension = File.extname(dst_file_path)
|
|
384
389
|
unless %w{.xlsx .xlsm}.include?(extension.downcase)
|
|
385
390
|
raise "Unsupported extension: #{extension} (only .xlsx and .xlsm files are supported)."
|
|
386
391
|
end
|
|
387
392
|
|
|
388
|
-
File.open(
|
|
393
|
+
File.open(dst_file_path, "wb") { |output_file| FileUtils.copy_stream(root.stream, output_file) }
|
|
389
394
|
|
|
390
|
-
return
|
|
395
|
+
return dst_file_path
|
|
391
396
|
end
|
|
392
397
|
alias_method :write, :save
|
|
393
398
|
|
|
@@ -421,7 +426,7 @@ module RubyXL
|
|
|
421
426
|
|
|
422
427
|
@@debug = nil
|
|
423
428
|
|
|
424
|
-
def initialize(worksheets = [],
|
|
429
|
+
def initialize(worksheets = [], src_file_path = nil, creator = nil, modifier = nil, created_at = nil,
|
|
425
430
|
company = '', application = APPLICATION, appversion = APPVERSION, date1904 = 0)
|
|
426
431
|
super()
|
|
427
432
|
|
|
@@ -436,7 +441,7 @@ module RubyXL
|
|
|
436
441
|
@relationship_container = RubyXL::OOXMLRelationshipsFile.new
|
|
437
442
|
@root = RubyXL::WorkbookRoot.default
|
|
438
443
|
@root.workbook = self
|
|
439
|
-
@root.
|
|
444
|
+
@root.source_file_path = src_file_path
|
|
440
445
|
|
|
441
446
|
creation_time = DateTime.parse(created_at) rescue DateTime.now
|
|
442
447
|
self.created_at = creation_time
|
data/lib/rubyXL/parser.rb
CHANGED
|
@@ -1,8 +1,29 @@
|
|
|
1
1
|
module RubyXL
|
|
2
2
|
class Parser
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
|
|
4
|
+
# Parse <tt>.xslx</tt> file by reading it from local disk.
|
|
5
|
+
def self.parse(src_file_path)
|
|
6
|
+
begin
|
|
7
|
+
::Zip::File.open(src_file_path) { |zip_file|
|
|
8
|
+
root = RubyXL::WorkbookRoot.parse_zip_file(zip_file)
|
|
9
|
+
root.source_file_path = src_file_path
|
|
10
|
+
root.workbook
|
|
11
|
+
}
|
|
12
|
+
rescue ::Zip::Error => e
|
|
13
|
+
raise e, "XLSX file format error: #{e}", e.backtrace
|
|
14
|
+
end
|
|
6
15
|
end
|
|
16
|
+
|
|
17
|
+
# Parse <tt>.xslx</tt> file contained in a stream (useful for receiving over HTTP).
|
|
18
|
+
def self.parse_buffer(buffer)
|
|
19
|
+
root = nil # Zip::File.open_buffer somehow fails to return the value from the block :(
|
|
20
|
+
begin
|
|
21
|
+
::Zip::File.open_buffer(buffer) { |zip_file| root = RubyXL::WorkbookRoot.parse_zip_file(zip_file) }
|
|
22
|
+
root.workbook
|
|
23
|
+
rescue ::Zip::Error => e
|
|
24
|
+
raise e, "XLSX file format error: #{e}", e.backtrace
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
7
28
|
end
|
|
8
29
|
end
|
data/rdoc/README_rdoc.html
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<head>
|
|
5
5
|
<meta charset="UTF-8">
|
|
6
6
|
|
|
7
|
-
<title>README - rubyXL 3.3.
|
|
7
|
+
<title>README - rubyXL 3.3.12</title>
|
|
8
8
|
|
|
9
9
|
<script type="text/javascript">
|
|
10
10
|
var rdoc_rel_prefix = "./";
|
|
@@ -91,8 +91,6 @@
|
|
|
91
91
|
<li><a href="#label-Delete+Cell">Delete Cell</a>
|
|
92
92
|
<li><a href="#label-Modifying+Cell+Format">Modifying Cell Format</a>
|
|
93
93
|
<li><a href="#label-I-2FO">I/O</a>
|
|
94
|
-
<li><a href="#label-Writing">Writing</a>
|
|
95
|
-
<li><a href="#label-Streaming">Streaming</a>
|
|
96
94
|
<li><a href="#label-Miscellaneous">Miscellaneous</a>
|
|
97
95
|
<li><a href="#label-For+more+information">For more information</a>
|
|
98
96
|
<li><a href="#label-Contributing+to+rubyXL">Contributing to rubyXL</a>
|
|
@@ -408,18 +406,18 @@ have been moved, as the formulas do not adapt to the shifted cells</p>
|
|
|
408
406
|
|
|
409
407
|
<h2 id="label-I-2FO">I/O<span><a href="#label-I-2FO">¶</a> <a href="#top">↑</a></span></h2>
|
|
410
408
|
|
|
411
|
-
<
|
|
409
|
+
<p>By default, the gem operates with files on the local filesystem:</p>
|
|
412
410
|
|
|
413
|
-
<pre class="ruby"><span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">
|
|
411
|
+
<pre class="ruby"><span class="ruby-identifier">workbook</span> = <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-string">"path/to/Excel/file.xlsx"</span>)
|
|
412
|
+
<span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">write</span>(<span class="ruby-string">"path/to/desired/Excel/file.xlsx"</span>)
|
|
414
413
|
</pre>
|
|
415
414
|
|
|
416
|
-
<
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
<code>xlsx</code> file, eliminating the need to save it to disk first. This
|
|
420
|
-
capability comes in handy for web servers.</p>
|
|
415
|
+
<p>It can also operate on <code>StringIO</code> objects, thus eliminating the
|
|
416
|
+
need to save the <code>xlsx</code> file to disk. This capability comes in
|
|
417
|
+
handy for web servers.</p>
|
|
421
418
|
|
|
422
|
-
<pre class="ruby"><span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">
|
|
419
|
+
<pre class="ruby"><span class="ruby-identifier">workbook</span> = <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Parser</span>.<span class="ruby-identifier">parse_buffer</span>(<span class="ruby-identifier">buffer</span>)
|
|
420
|
+
<span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">stream</span>
|
|
423
421
|
</pre>
|
|
424
422
|
|
|
425
423
|
<h2 id="label-Miscellaneous">Miscellaneous<span><a href="#label-Miscellaneous">¶</a> <a href="#top">↑</a></span></h2>
|
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 3.3.
|
|
7
|
+
<title>module RubyXL - rubyXL 3.3.12</title>
|
|
8
8
|
|
|
9
9
|
<script type="text/javascript">
|
|
10
10
|
var rdoc_rel_prefix = "./";
|
|
@@ -556,13 +556,13 @@
|
|
|
556
556
|
|
|
557
557
|
<div class="method-description">
|
|
558
558
|
|
|
559
|
-
|
|
559
|
+
<p>Convert any path passed to absolute path (within the XLSX file).</p>
|
|
560
560
|
|
|
561
561
|
|
|
562
562
|
|
|
563
563
|
|
|
564
564
|
<div class="method-source-code" id="from_root-source">
|
|
565
|
-
<pre><span class="ruby-comment"># File lib/rubyXL.rb, line
|
|
565
|
+
<pre><span class="ruby-comment"># File lib/rubyXL.rb, line 7</span>
|
|
566
566
|
<span class="ruby-keyword">def</span> <span class="ruby-keyword">self</span>.<span class="ruby-identifier">from_root</span>(<span class="ruby-identifier">path</span>)
|
|
567
567
|
<span class="ruby-keyword">return</span> <span class="ruby-identifier">path</span> <span class="ruby-keyword">unless</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">absolute?</span>
|
|
568
568
|
<span class="ruby-identifier">path</span>.<span class="ruby-identifier">relative_path_from</span>(<span class="ruby-constant">OOXMLTopLevelObject</span><span class="ruby-operator">::</span><span class="ruby-constant">ROOT</span>)
|
data/rdoc/RubyXL/AExtension.html
CHANGED
data/rdoc/RubyXL/Alignment.html
CHANGED
data/rdoc/RubyXL/Authors.html
CHANGED
data/rdoc/RubyXL/AutoFilter.html
CHANGED
data/rdoc/RubyXL/Border.html
CHANGED
data/rdoc/RubyXL/BorderEdge.html
CHANGED
data/rdoc/RubyXL/Borders.html
CHANGED