rubyXL 3.2.3 → 3.2.4
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 +8 -1
- data/VERSION +1 -1
- data/lib/rubyXL/{workbook.rb → convenience_methods.rb} +73 -103
- data/lib/rubyXL/objects/document_properties.rb +4 -4
- data/lib/rubyXL/objects/workbook.rb +62 -57
- data/rdoc/README_rdoc.html +12 -3
- data/rdoc/RubyXL.html +2 -2
- data/rdoc/RubyXL/AExtension.html +2 -2
- data/rdoc/RubyXL/AExtensionStorageArea.html +2 -2
- data/rdoc/RubyXL/AdjustHandleList.html +2 -2
- data/rdoc/RubyXL/Alignment.html +2 -2
- data/rdoc/RubyXL/AlternateContent.html +2 -2
- data/rdoc/RubyXL/Authors.html +2 -2
- data/rdoc/RubyXL/AutoFilter.html +2 -2
- data/rdoc/RubyXL/AutoFilterColumn.html +2 -2
- data/rdoc/RubyXL/BinaryImageFile.html +2 -2
- data/rdoc/RubyXL/BodyProperties.html +2 -2
- data/rdoc/RubyXL/BooleanNode.html +2 -2
- data/rdoc/RubyXL/BooleanValue.html +2 -2
- data/rdoc/RubyXL/Border.html +2 -2
- data/rdoc/RubyXL/BorderEdge.html +2 -2
- data/rdoc/RubyXL/Borders.html +2 -2
- data/rdoc/RubyXL/Break.html +2 -2
- data/rdoc/RubyXL/BreakList.html +2 -2
- data/rdoc/RubyXL/CT_AdjPoint2D.html +2 -2
- data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +2 -2
- data/rdoc/RubyXL/CT_AlphaModulateEffect.html +2 -2
- data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +2 -2
- data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +2 -2
- data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +2 -2
- data/rdoc/RubyXL/CT_Backdrop.html +2 -2
- data/rdoc/RubyXL/CT_Bevel.html +2 -2
- data/rdoc/RubyXL/CT_BiLevelEffect.html +2 -2
- data/rdoc/RubyXL/CT_BlendEffect.html +2 -2
- data/rdoc/RubyXL/CT_Blip.html +2 -2
- data/rdoc/RubyXL/CT_BlipFillProperties.html +2 -2
- data/rdoc/RubyXL/CT_BlurEffect.html +2 -2
- data/rdoc/RubyXL/CT_Camera.html +2 -2
- data/rdoc/RubyXL/CT_Color.html +2 -2
- data/rdoc/RubyXL/CT_ColorChangeEffect.html +2 -2
- data/rdoc/RubyXL/CT_ColorMapping.html +2 -2
- data/rdoc/RubyXL/CT_ColorScheme.html +2 -2
- data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +2 -2
- data/rdoc/RubyXL/CT_ConnectionSite.html +2 -2
- data/rdoc/RubyXL/CT_ConnectionSiteList.html +2 -2
- data/rdoc/RubyXL/CT_DashStop.html +2 -2
- data/rdoc/RubyXL/CT_DashStopList.html +2 -2
- data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +2 -2
- data/rdoc/RubyXL/CT_DuotoneEffect.html +2 -2
- data/rdoc/RubyXL/CT_EffectContainer.html +2 -2
- data/rdoc/RubyXL/CT_EffectList.html +2 -2
- data/rdoc/RubyXL/CT_EffectReference.html +2 -2
- data/rdoc/RubyXL/CT_EffectStyleItem.html +2 -2
- data/rdoc/RubyXL/CT_EffectStyleList.html +2 -2
- data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +2 -2
- data/rdoc/RubyXL/CT_FillEffect.html +2 -2
- data/rdoc/RubyXL/CT_FillOverlayEffect.html +2 -2
- data/rdoc/RubyXL/CT_FillStyleList.html +2 -2
- data/rdoc/RubyXL/CT_FlatText.html +2 -2
- data/rdoc/RubyXL/CT_FontCollection.html +2 -2
- data/rdoc/RubyXL/CT_FontReference.html +2 -2
- data/rdoc/RubyXL/CT_GeomGuideList.html +2 -2
- data/rdoc/RubyXL/CT_GlowEffect.html +2 -2
- data/rdoc/RubyXL/CT_GradientFillProperties.html +2 -2
- data/rdoc/RubyXL/CT_GradientStop.html +2 -2
- data/rdoc/RubyXL/CT_GradientStopList.html +2 -2
- data/rdoc/RubyXL/CT_HSLEffect.html +2 -2
- data/rdoc/RubyXL/CT_HslColor.html +2 -2
- data/rdoc/RubyXL/CT_Hyperlink.html +2 -2
- data/rdoc/RubyXL/CT_InnerShadowEffect.html +2 -2
- data/rdoc/RubyXL/CT_LightRig.html +2 -2
- data/rdoc/RubyXL/CT_LineEndProperties.html +2 -2
- data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +2 -2
- data/rdoc/RubyXL/CT_LineProperties.html +2 -2
- data/rdoc/RubyXL/CT_LineStyleList.html +2 -2
- data/rdoc/RubyXL/CT_LinearShadeProperties.html +2 -2
- data/rdoc/RubyXL/CT_LuminanceEffect.html +2 -2
- data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +2 -2
- data/rdoc/RubyXL/CT_OuterShadowEffect.html +2 -2
- data/rdoc/RubyXL/CT_Path2D.html +2 -2
- data/rdoc/RubyXL/CT_Path2DArcTo.html +2 -2
- data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +2 -2
- data/rdoc/RubyXL/CT_Path2DList.html +2 -2
- data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +2 -2
- data/rdoc/RubyXL/CT_Path2DTo.html +2 -2
- data/rdoc/RubyXL/CT_PathShadeProperties.html +2 -2
- data/rdoc/RubyXL/CT_PatternFillProperties.html +2 -2
- data/rdoc/RubyXL/CT_Point3D.html +2 -2
- data/rdoc/RubyXL/CT_PolarAdjustHandle.html +2 -2
- data/rdoc/RubyXL/CT_PresetColor.html +2 -2
- data/rdoc/RubyXL/CT_PresetLineDashProperties.html +2 -2
- data/rdoc/RubyXL/CT_PresetShadowEffect.html +2 -2
- data/rdoc/RubyXL/CT_PresetTextShape.html +2 -2
- data/rdoc/RubyXL/CT_ReflectionEffect.html +2 -2
- data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +2 -2
- data/rdoc/RubyXL/CT_RelativeRect.html +2 -2
- data/rdoc/RubyXL/CT_SRgbColor.html +2 -2
- data/rdoc/RubyXL/CT_ScRgbColor.html +2 -2
- data/rdoc/RubyXL/CT_Scene3D.html +2 -2
- data/rdoc/RubyXL/CT_SchemeColor.html +2 -2
- data/rdoc/RubyXL/CT_Shape3D.html +2 -2
- data/rdoc/RubyXL/CT_ShapeStyle.html +2 -2
- data/rdoc/RubyXL/CT_SoftEdgesEffect.html +2 -2
- data/rdoc/RubyXL/CT_SphereCoords.html +2 -2
- data/rdoc/RubyXL/CT_StretchInfoProperties.html +2 -2
- data/rdoc/RubyXL/CT_StyleMatrix.html +2 -2
- data/rdoc/RubyXL/CT_StyleMatrixReference.html +2 -2
- data/rdoc/RubyXL/CT_SupplementalFont.html +2 -2
- data/rdoc/RubyXL/CT_SystemColor.html +2 -2
- data/rdoc/RubyXL/CT_TextAutonumberBullet.html +2 -2
- data/rdoc/RubyXL/CT_TextBlipBullet.html +2 -2
- data/rdoc/RubyXL/CT_TextCharBullet.html +2 -2
- data/rdoc/RubyXL/CT_TextCharacterProperties.html +2 -2
- data/rdoc/RubyXL/CT_TextFont.html +2 -2
- data/rdoc/RubyXL/CT_TextListStyle.html +2 -2
- data/rdoc/RubyXL/CT_TextNormalAutofit.html +2 -2
- data/rdoc/RubyXL/CT_TextParagraphProperties.html +2 -2
- data/rdoc/RubyXL/CT_TextSpacing.html +2 -2
- data/rdoc/RubyXL/CT_TextTabStop.html +2 -2
- data/rdoc/RubyXL/CT_TextTabStopList.html +2 -2
- data/rdoc/RubyXL/CT_TileInfoProperties.html +2 -2
- data/rdoc/RubyXL/CT_TintEffect.html +2 -2
- data/rdoc/RubyXL/CT_Transform2D.html +2 -2
- data/rdoc/RubyXL/CT_TransformEffect.html +2 -2
- data/rdoc/RubyXL/CT_Vector3D.html +2 -2
- data/rdoc/RubyXL/CT_XYAdjustHandle.html +2 -2
- data/rdoc/RubyXL/CalculationChain.html +2 -2
- data/rdoc/RubyXL/CalculationChainCell.html +2 -2
- data/rdoc/RubyXL/CalculationProperties.html +2 -2
- data/rdoc/RubyXL/Cell.html +2 -2
- data/rdoc/RubyXL/CellSmartTag.html +2 -2
- data/rdoc/RubyXL/CellSmartTagProperty.html +2 -2
- data/rdoc/RubyXL/CellSmartTags.html +2 -2
- data/rdoc/RubyXL/CellStyle.html +2 -2
- data/rdoc/RubyXL/CellStyleXFs.html +2 -2
- data/rdoc/RubyXL/CellStyles.html +2 -2
- data/rdoc/RubyXL/CellValue.html +2 -2
- data/rdoc/RubyXL/CellWatch.html +2 -2
- data/rdoc/RubyXL/CellWatches.html +2 -2
- data/rdoc/RubyXL/CellXFs.html +2 -2
- data/rdoc/RubyXL/ChartColorsFile.html +2 -2
- data/rdoc/RubyXL/ChartFile.html +2 -2
- data/rdoc/RubyXL/ChartStyleFile.html +2 -2
- data/rdoc/RubyXL/ChartUserShapesFile.html +2 -2
- data/rdoc/RubyXL/Chartsheet.html +2 -2
- data/rdoc/RubyXL/ChartsheetPageSetup.html +2 -2
- data/rdoc/RubyXL/ChartsheetProperties.html +2 -2
- data/rdoc/RubyXL/ChartsheetProtection.html +2 -2
- data/rdoc/RubyXL/ChartsheetView.html +2 -2
- data/rdoc/RubyXL/ChartsheetViews.html +2 -2
- data/rdoc/RubyXL/Color.html +2 -2
- data/rdoc/RubyXL/ColorFilter.html +2 -2
- data/rdoc/RubyXL/ColorScale.html +2 -2
- data/rdoc/RubyXL/ColorSet.html +2 -2
- data/rdoc/RubyXL/Colors.html +2 -2
- data/rdoc/RubyXL/ColumnRange.html +2 -2
- data/rdoc/RubyXL/ColumnRanges.html +2 -2
- data/rdoc/RubyXL/Comment.html +2 -2
- data/rdoc/RubyXL/CommentList.html +2 -2
- data/rdoc/RubyXL/CommentsFile.html +2 -2
- data/rdoc/RubyXL/ConditionalFormatValue.html +2 -2
- data/rdoc/RubyXL/ConditionalFormatting.html +2 -2
- data/rdoc/RubyXL/ConditionalFormattingRule.html +2 -2
- data/rdoc/RubyXL/ContentTypeDefault.html +2 -2
- data/rdoc/RubyXL/ContentTypeOverride.html +2 -2
- data/rdoc/RubyXL/ContentTypes.html +2 -2
- data/rdoc/RubyXL/ControlPropertiesFile.html +2 -2
- data/rdoc/RubyXL/CorePropertiesFile.html +2 -2
- data/rdoc/RubyXL/CustomColor.html +2 -2
- data/rdoc/RubyXL/CustomColorList.html +2 -2
- data/rdoc/RubyXL/CustomFilter.html +2 -2
- data/rdoc/RubyXL/CustomFilters.html +2 -2
- data/rdoc/RubyXL/CustomGeometry.html +2 -2
- data/rdoc/RubyXL/CustomProperties.html +2 -2
- data/rdoc/RubyXL/CustomPropertiesFile.html +2 -2
- data/rdoc/RubyXL/CustomProperty.html +2 -2
- data/rdoc/RubyXL/CustomSheetView.html +2 -2
- data/rdoc/RubyXL/CustomSheetViews.html +2 -2
- data/rdoc/RubyXL/CustomWorkbookView.html +2 -2
- data/rdoc/RubyXL/CustomWorkbookViews.html +2 -2
- data/rdoc/RubyXL/CustomXMLFile.html +2 -2
- data/rdoc/RubyXL/DXF.html +2 -2
- data/rdoc/RubyXL/DXFs.html +2 -2
- data/rdoc/RubyXL/DataBar.html +2 -2
- data/rdoc/RubyXL/DataConsolidate.html +2 -2
- data/rdoc/RubyXL/DataConsolidationReference.html +2 -2
- data/rdoc/RubyXL/DataConsolidationReferences.html +2 -2
- data/rdoc/RubyXL/DataType.html +2 -2
- data/rdoc/RubyXL/DataValidation.html +2 -2
- data/rdoc/RubyXL/DataValidations.html +2 -2
- data/rdoc/RubyXL/DateGroupItem.html +2 -2
- data/rdoc/RubyXL/DefinedName.html +2 -2
- data/rdoc/RubyXL/DefinedNames.html +2 -2
- data/rdoc/RubyXL/DocumentPropertiesFile.html +2 -2
- data/rdoc/RubyXL/DrawingFile.html +2 -2
- data/rdoc/RubyXL/DynamicFilter.html +2 -2
- data/rdoc/RubyXL/EmbeddedControl.html +2 -2
- data/rdoc/RubyXL/EmbeddedControls.html +2 -2
- data/rdoc/RubyXL/Extension.html +2 -2
- data/rdoc/RubyXL/ExtensionStorageArea.html +2 -2
- data/rdoc/RubyXL/Extents.html +2 -2
- data/rdoc/RubyXL/ExternalLinksFile.html +2 -2
- data/rdoc/RubyXL/ExternalReference.html +2 -2
- data/rdoc/RubyXL/ExternalReferences.html +2 -2
- data/rdoc/RubyXL/ExtraColorSchemeList.html +2 -2
- data/rdoc/RubyXL/FieldItem.html +2 -2
- data/rdoc/RubyXL/FileRecoveryProperties.html +2 -2
- data/rdoc/RubyXL/FileSharing.html +2 -2
- data/rdoc/RubyXL/FileVersion.html +2 -2
- data/rdoc/RubyXL/Fill.html +2 -2
- data/rdoc/RubyXL/Fills.html +2 -2
- data/rdoc/RubyXL/FilterContainer.html +2 -2
- data/rdoc/RubyXL/FloatNode.html +2 -2
- data/rdoc/RubyXL/FloatValue.html +2 -2
- data/rdoc/RubyXL/Font.html +2 -2
- data/rdoc/RubyXL/FontScheme.html +2 -2
- data/rdoc/RubyXL/Fonts.html +2 -2
- data/rdoc/RubyXL/Formula.html +2 -2
- data/rdoc/RubyXL/FunctionGroup.html +2 -2
- data/rdoc/RubyXL/FunctionGroups.html +2 -2
- data/rdoc/RubyXL/GenericStorageObject.html +2 -2
- data/rdoc/RubyXL/GradientFill.html +2 -2
- data/rdoc/RubyXL/HeaderFooterSettings.html +2 -2
- data/rdoc/RubyXL/Hyperlink.html +2 -2
- data/rdoc/RubyXL/HyperlinkRelFile.html +2 -2
- data/rdoc/RubyXL/Hyperlinks.html +2 -2
- data/rdoc/RubyXL/IconFilter.html +2 -2
- data/rdoc/RubyXL/IconSet.html +2 -2
- data/rdoc/RubyXL/IgnoredError.html +2 -2
- data/rdoc/RubyXL/IgnoredErrors.html +2 -2
- data/rdoc/RubyXL/IndexedColors.html +2 -2
- data/rdoc/RubyXL/InputCells.html +2 -2
- data/rdoc/RubyXL/IntegerNode.html +2 -2
- data/rdoc/RubyXL/IntegerValue.html +2 -2
- data/rdoc/RubyXL/LegacyCell.html +2 -2
- data/rdoc/RubyXL/LegacyWorksheet.html +2 -2
- data/rdoc/RubyXL/MRUColors.html +2 -2
- data/rdoc/RubyXL/MacrosFile.html +2 -2
- data/rdoc/RubyXL/MergedCell.html +2 -2
- data/rdoc/RubyXL/MergedCells.html +2 -2
- data/rdoc/RubyXL/NumFmt.html +2 -2
- data/rdoc/RubyXL/NumberFormat.html +2 -2
- data/rdoc/RubyXL/NumberFormats.html +2 -2
- data/rdoc/RubyXL/OLEObject.html +2 -2
- data/rdoc/RubyXL/OLEObjects.html +2 -2
- data/rdoc/RubyXL/OLESize.html +2 -2
- data/rdoc/RubyXL/OOXMLContainerObject.html +2 -2
- data/rdoc/RubyXL/OOXMLObject.html +2 -2
- data/rdoc/RubyXL/OOXMLObjectClassMethods.html +2 -2
- data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +2 -2
- data/rdoc/RubyXL/OOXMLRelationshipsFile.html +2 -2
- data/rdoc/RubyXL/OOXMLTopLevelObject.html +2 -2
- data/rdoc/RubyXL/Offset.html +2 -2
- data/rdoc/RubyXL/OutlineProperties.html +2 -2
- data/rdoc/RubyXL/PageMargins.html +2 -2
- data/rdoc/RubyXL/PageSetup.html +2 -2
- data/rdoc/RubyXL/PageSetupProperties.html +2 -2
- data/rdoc/RubyXL/Pane.html +2 -2
- data/rdoc/RubyXL/Parser.html +2 -2
- data/rdoc/RubyXL/PatternFill.html +2 -2
- data/rdoc/RubyXL/PhoneticProperties.html +2 -2
- data/rdoc/RubyXL/PhoneticRun.html +2 -2
- data/rdoc/RubyXL/PivotArea.html +2 -2
- data/rdoc/RubyXL/PivotCache.html +2 -2
- data/rdoc/RubyXL/PivotCacheDefinitionFile.html +2 -2
- data/rdoc/RubyXL/PivotCaches.html +2 -2
- data/rdoc/RubyXL/PivotReference.html +2 -2
- data/rdoc/RubyXL/PivotReferences.html +2 -2
- data/rdoc/RubyXL/PivotTableFile.html +2 -2
- data/rdoc/RubyXL/PivotTableSelection.html +2 -2
- data/rdoc/RubyXL/PresetGeometry.html +2 -2
- data/rdoc/RubyXL/PrintOptions.html +2 -2
- data/rdoc/RubyXL/PrinterSettingsFile.html +2 -2
- data/rdoc/RubyXL/ProtectedRange.html +2 -2
- data/rdoc/RubyXL/ProtectedRanges.html +2 -2
- data/rdoc/RubyXL/Protection.html +2 -2
- data/rdoc/RubyXL/RID.html +2 -2
- data/rdoc/RubyXL/RawOOXML.html +2 -2
- data/rdoc/RubyXL/Reference.html +2 -2
- data/rdoc/RubyXL/Relationship.html +2 -2
- data/rdoc/RubyXL/RelationshipSupport.html +2 -2
- data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +2 -2
- data/rdoc/RubyXL/RichText.html +2 -2
- data/rdoc/RubyXL/RichTextRun.html +2 -2
- data/rdoc/RubyXL/Row.html +2 -2
- data/rdoc/RubyXL/RunProperties.html +2 -2
- data/rdoc/RubyXL/Scenario.html +2 -2
- data/rdoc/RubyXL/Scenarios.html +2 -2
- data/rdoc/RubyXL/Selection.html +2 -2
- data/rdoc/RubyXL/ShapeGuide.html +2 -2
- data/rdoc/RubyXL/ShapeTextRectangle.html +2 -2
- data/rdoc/RubyXL/SharedStringsTable.html +2 -2
- data/rdoc/RubyXL/Sheet.html +2 -2
- data/rdoc/RubyXL/SheetCalculationProperties.html +2 -2
- data/rdoc/RubyXL/SheetData.html +2 -2
- data/rdoc/RubyXL/Sheets.html +2 -2
- data/rdoc/RubyXL/SlicerCacheFile.html +2 -2
- data/rdoc/RubyXL/SlicerFile.html +2 -2
- data/rdoc/RubyXL/SmartTagProperties.html +2 -2
- data/rdoc/RubyXL/SmartTagType.html +2 -2
- data/rdoc/RubyXL/SmartTagTypes.html +2 -2
- data/rdoc/RubyXL/SmartTags.html +2 -2
- data/rdoc/RubyXL/SortCondition.html +2 -2
- data/rdoc/RubyXL/SortState.html +2 -2
- data/rdoc/RubyXL/Sqref.html +2 -2
- data/rdoc/RubyXL/Stop.html +2 -2
- data/rdoc/RubyXL/StringNode.html +2 -2
- data/rdoc/RubyXL/StringNodeW3C.html +2 -2
- data/rdoc/RubyXL/StringValue.html +2 -2
- data/rdoc/RubyXL/Stylesheet.html +2 -2
- data/rdoc/RubyXL/TableFile.html +2 -2
- data/rdoc/RubyXL/TableParts.html +2 -2
- data/rdoc/RubyXL/TableStyle.html +2 -2
- data/rdoc/RubyXL/TableStyles.html +2 -2
- data/rdoc/RubyXL/Text.html +2 -2
- data/rdoc/RubyXL/Theme.html +2 -2
- data/rdoc/RubyXL/ThemeElements.html +2 -2
- data/rdoc/RubyXL/ThumbnailFile.html +2 -2
- data/rdoc/RubyXL/Top10.html +2 -2
- data/rdoc/RubyXL/VMLDrawingFile.html +2 -2
- data/rdoc/RubyXL/Variant.html +2 -2
- data/rdoc/RubyXL/Vector.html +2 -2
- data/rdoc/RubyXL/VectorValue.html +2 -2
- data/rdoc/RubyXL/VisualProperties.html +2 -2
- data/rdoc/RubyXL/WebPublishObject.html +2 -2
- data/rdoc/RubyXL/WebPublishObjects.html +2 -2
- data/rdoc/RubyXL/WebPublishingItem.html +2 -2
- data/rdoc/RubyXL/WebPublishingItems.html +2 -2
- data/rdoc/RubyXL/WebPublishingProperties.html +2 -2
- data/rdoc/RubyXL/Workbook.html +2 -2
- data/rdoc/RubyXL/{LegacyWorkbook.html → WorkbookConvenienceMethods.html} +571 -290
- data/rdoc/RubyXL/WorkbookProperties.html +2 -2
- data/rdoc/RubyXL/WorkbookProtection.html +2 -2
- data/rdoc/RubyXL/WorkbookRoot.html +2 -2
- data/rdoc/RubyXL/WorkbookView.html +2 -2
- data/rdoc/RubyXL/WorkbookViews.html +2 -2
- data/rdoc/RubyXL/Worksheet.html +2 -2
- data/rdoc/RubyXL/WorksheetDimensions.html +2 -2
- data/rdoc/RubyXL/WorksheetFormatProperties.html +2 -2
- data/rdoc/RubyXL/WorksheetProperties.html +2 -2
- data/rdoc/RubyXL/WorksheetProtection.html +2 -2
- data/rdoc/RubyXL/WorksheetView.html +2 -2
- data/rdoc/RubyXL/WorksheetViews.html +2 -2
- data/rdoc/RubyXL/XF.html +2 -2
- data/rdoc/created.rid +15 -15
- data/rdoc/index.html +5 -5
- data/rdoc/js/jquery.js +4 -18
- data/rdoc/js/search_index.js +1 -1
- data/rdoc/table_of_contents.html +162 -112
- data/rubyXL.gemspec +5 -5
- data/spec/lib/workbook_spec.rb +79 -0
- metadata +4 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e450c70daabe201ccf2e0f987f4f14c3273bb037
|
|
4
|
+
data.tar.gz: bd023be77266276fa8b29bda8166ead733ba23aa
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ee7372a66f9b8aaa7a3ffd0f3b6104de0d2775360bcc142192036b854cd9ed522bfa70475b70aabce510a6e249221eeebe4db3835fb723b2a6102f733455b068
|
|
7
|
+
data.tar.gz: 6ac2cb780df29ad9fa26e5e6368062279dfb9f8fb516a0f9a677c5468faa198145f8a6f0a6011178dbc301f7410e929c6754aba09795b3bd4ad58d6e4e77f64f
|
data/README.rdoc
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
{<img src="https://badge.fury.io/rb/rubyXL.svg" alt="Gem Version" />}[http://badge.fury.io/rb/rubyXL]
|
|
3
3
|
{<img src="https://codeclimate.com/github/weshatheleopard/rubyXL.png" alt="Code Climate" />}[https://codeclimate.com/github/weshatheleopard/rubyXL]
|
|
4
4
|
|
|
5
|
+
This gem supports operating on +xlsx+ files (Open XML format). While it is capable
|
|
6
|
+
of properly parsing the entire OOXML structure, its current main emphasis is on
|
|
7
|
+
reading files produced by MS Excel, making minor modifications to them and saving
|
|
8
|
+
them to be opened again, while preserving as much of the structure as possible.
|
|
9
|
+
|
|
10
|
+
Please note that proprietary binary +xls+ format is *not* supported.
|
|
11
|
+
|
|
5
12
|
== To Install:
|
|
6
13
|
gem install rubyXL
|
|
7
14
|
|
|
@@ -67,7 +74,7 @@ Please note: these methods are being phased out in favor of the OOXML object mod
|
|
|
67
74
|
worksheet.get_column_font_size(0)
|
|
68
75
|
worksheet.get_column_font_color(0)
|
|
69
76
|
worksheet.is_column_underlined(0)
|
|
70
|
-
worksheet.
|
|
77
|
+
worksheet.get_column_width(0)
|
|
71
78
|
worksheet.get_column_horizontal_alignment(0)
|
|
72
79
|
worksheet.get_column_vertical_alignment(0)
|
|
73
80
|
worksheet.get_column_border_right(0)
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.2.
|
|
1
|
+
3.2.4
|
|
@@ -1,50 +1,6 @@
|
|
|
1
|
-
require 'tmpdir'
|
|
2
|
-
require 'date'
|
|
3
|
-
|
|
4
1
|
module RubyXL
|
|
5
|
-
module
|
|
6
|
-
include Enumerable
|
|
7
|
-
|
|
2
|
+
module WorkbookConvenienceMethods
|
|
8
3
|
SHEET_NAME_TEMPLATE = 'Sheet%d'
|
|
9
|
-
APPLICATION = 'Microsoft Macintosh Excel'
|
|
10
|
-
APPVERSION = '12.0000'
|
|
11
|
-
|
|
12
|
-
@@debug = nil
|
|
13
|
-
|
|
14
|
-
def initialize(worksheets=[], filepath=nil, creator=nil, modifier=nil, created_at=nil,
|
|
15
|
-
company='', application=APPLICATION,
|
|
16
|
-
appversion=APPVERSION, date1904=0)
|
|
17
|
-
super()
|
|
18
|
-
|
|
19
|
-
# Order of sheets in the +worksheets+ array corresponds to the order of pages in Excel UI.
|
|
20
|
-
# SheetId's, rId's, etc. are completely unrelated to ordering.
|
|
21
|
-
@worksheets = worksheets
|
|
22
|
-
add_worksheet if @worksheets.empty?
|
|
23
|
-
|
|
24
|
-
@creator = creator
|
|
25
|
-
@modifier = modifier
|
|
26
|
-
self.date1904 = date1904 > 0
|
|
27
|
-
|
|
28
|
-
@theme = RubyXL::Theme.defaults
|
|
29
|
-
@shared_strings_container = RubyXL::SharedStringsTable.new
|
|
30
|
-
@stylesheet = RubyXL::Stylesheet.default
|
|
31
|
-
@relationship_container = RubyXL::OOXMLRelationshipsFile.new
|
|
32
|
-
@root = RubyXL::WorkbookRoot.default
|
|
33
|
-
@root.workbook = self
|
|
34
|
-
@root.filepath = filepath
|
|
35
|
-
@comments = []
|
|
36
|
-
|
|
37
|
-
self.company = company
|
|
38
|
-
self.application = application
|
|
39
|
-
self.appversion = appversion
|
|
40
|
-
|
|
41
|
-
begin
|
|
42
|
-
@created_at = DateTime.parse(created_at).strftime('%Y-%m-%dT%TZ')
|
|
43
|
-
rescue
|
|
44
|
-
@created_at = Time.now.strftime('%Y-%m-%dT%TZ')
|
|
45
|
-
end
|
|
46
|
-
@modified_at = @created_at
|
|
47
|
-
end
|
|
48
4
|
|
|
49
5
|
# Finds worksheet by its name or numerical index
|
|
50
6
|
def [](ind)
|
|
@@ -75,42 +31,88 @@ module RubyXL
|
|
|
75
31
|
worksheets.each{ |i| yield i }
|
|
76
32
|
end
|
|
77
33
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
root.stream
|
|
34
|
+
def date1904
|
|
35
|
+
workbook_properties && workbook_properties.date1904
|
|
81
36
|
end
|
|
82
37
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
38
|
+
def date1904=(v)
|
|
39
|
+
self.workbook_properties ||= RubyXL::WorkbookProperties.new
|
|
40
|
+
workbook_properties.date1904 = v
|
|
41
|
+
end
|
|
86
42
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
43
|
+
def company
|
|
44
|
+
root.document_properties.company && root.document_properties.company.value
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def company=(v)
|
|
48
|
+
root.document_properties.company ||= StringNode.new
|
|
49
|
+
root.document_properties.company.value = v
|
|
50
|
+
end
|
|
91
51
|
|
|
92
|
-
|
|
52
|
+
def application
|
|
53
|
+
root.document_properties.application && root.document_properties.application.value
|
|
54
|
+
end
|
|
93
55
|
|
|
94
|
-
|
|
56
|
+
def application=(v)
|
|
57
|
+
root.document_properties.application ||= StringNode.new
|
|
58
|
+
root.document_properties.application.value = v
|
|
95
59
|
end
|
|
96
|
-
alias_method :write, :save
|
|
97
60
|
|
|
98
|
-
def
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
61
|
+
def appversion
|
|
62
|
+
root.document_properties.app_version && root.document_properties.app_version.value
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def appversion=(v)
|
|
66
|
+
root.document_properties.app_version ||= StringNode.new
|
|
67
|
+
root.document_properties.app_version.value = v
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
def creator
|
|
71
|
+
root.core_properties.creator
|
|
105
72
|
end
|
|
106
|
-
private :base_date
|
|
107
73
|
|
|
108
|
-
def
|
|
109
|
-
|
|
74
|
+
def creator=(v)
|
|
75
|
+
root.core_properties.creator = v
|
|
110
76
|
end
|
|
111
77
|
|
|
112
|
-
def
|
|
113
|
-
|
|
78
|
+
def modifier
|
|
79
|
+
root.core_properties.modifier
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
def modifier=(v)
|
|
83
|
+
root.core_properties.modifier = v
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def created_at
|
|
87
|
+
root.core_properties.created_at
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def created_at=(v)
|
|
91
|
+
root.core_properties.created_at = v
|
|
92
|
+
end
|
|
93
|
+
|
|
94
|
+
def modified_at
|
|
95
|
+
root.core_properties.modified_at
|
|
96
|
+
end
|
|
97
|
+
|
|
98
|
+
def modified_at=(v)
|
|
99
|
+
root.core_properties.modified_at = v
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def cell_xfs # Stylesheet should be pre-filled with defaults on initialize()
|
|
103
|
+
stylesheet.cell_xfs
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def fonts # Stylesheet should be pre-filled with defaults on initialize()
|
|
107
|
+
stylesheet.fonts
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def fills # Stylesheet should be pre-filled with defaults on initialize()
|
|
111
|
+
stylesheet.fills
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
def borders # Stylesheet should be pre-filled with defaults on initialize()
|
|
115
|
+
stylesheet.borders
|
|
114
116
|
end
|
|
115
117
|
|
|
116
118
|
def get_fill_color(xf)
|
|
@@ -183,38 +185,6 @@ module RubyXL
|
|
|
183
185
|
register_new_xf(new_xf, style_index)
|
|
184
186
|
end
|
|
185
187
|
|
|
186
|
-
def cell_xfs # Stylesheet should be pre-filled with defaults on initialize()
|
|
187
|
-
stylesheet.cell_xfs
|
|
188
|
-
end
|
|
189
|
-
|
|
190
|
-
def fonts # Stylesheet should be pre-filled with defaults on initialize()
|
|
191
|
-
stylesheet.fonts
|
|
192
|
-
end
|
|
193
|
-
|
|
194
|
-
def fills # Stylesheet should be pre-filled with defaults on initialize()
|
|
195
|
-
stylesheet.fills
|
|
196
|
-
end
|
|
197
|
-
|
|
198
|
-
def borders # Stylesheet should be pre-filled with defaults on initialize()
|
|
199
|
-
stylesheet.borders
|
|
200
|
-
end
|
|
201
|
-
|
|
202
|
-
private
|
|
203
|
-
|
|
204
|
-
=begin
|
|
205
|
-
#fills shared strings hash, contains each unique string
|
|
206
|
-
def fill_shared_strings()
|
|
207
|
-
@worksheets.compact.each { |sheet|
|
|
208
|
-
sheet.sheet_data.rows.each { |row|
|
|
209
|
-
row.cells.each { |cell|
|
|
210
|
-
if cell && cell.value && cell.datatype == RubyXL::DataType::SHARED_STRING then
|
|
211
|
-
get_index(cell.value.to_s, :add_if_missing)
|
|
212
|
-
end
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
end
|
|
217
|
-
=end
|
|
218
|
-
|
|
219
188
|
end
|
|
189
|
+
|
|
220
190
|
end
|
|
@@ -140,20 +140,20 @@ module RubyXL
|
|
|
140
140
|
|
|
141
141
|
def created_at
|
|
142
142
|
val = dcterms_created && dcterms_created.value
|
|
143
|
-
val && (val.strip.empty? ? nil :
|
|
143
|
+
val && (val.strip.empty? ? nil : DateTime.parse(val).to_time)
|
|
144
144
|
end
|
|
145
145
|
|
|
146
146
|
def created_at=(v)
|
|
147
|
-
self.dcterms_created = RubyXL::StringNodeW3C.new(:value => v.iso8601)
|
|
147
|
+
self.dcterms_created = RubyXL::StringNodeW3C.new(:value => v.to_datetime.iso8601)
|
|
148
148
|
end
|
|
149
149
|
|
|
150
150
|
def modified_at
|
|
151
151
|
val = dcterms_modified && dcterms_modified.value
|
|
152
|
-
val && (val.strip.empty? ? nil :
|
|
152
|
+
val && (val.strip.empty? ? nil : DateTime.parse(val).to_time)
|
|
153
153
|
end
|
|
154
154
|
|
|
155
155
|
def modified_at=(v)
|
|
156
|
-
self.dcterms_modified = RubyXL::StringNodeW3C.new(:value => v.iso8601)
|
|
156
|
+
self.dcterms_modified = RubyXL::StringNodeW3C.new(:value => v.to_datetime.iso8601)
|
|
157
157
|
end
|
|
158
158
|
|
|
159
159
|
end
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
#require 'tmpdir'
|
|
2
|
+
require 'date'
|
|
1
3
|
require 'rubyXL/objects/ooxml_object'
|
|
2
4
|
require 'rubyXL/objects/shared_strings'
|
|
3
5
|
require 'rubyXL/objects/stylesheet'
|
|
@@ -8,7 +10,7 @@ require 'rubyXL/objects/chartsheet'
|
|
|
8
10
|
require 'rubyXL/objects/relationships'
|
|
9
11
|
require 'rubyXL/objects/simple_types'
|
|
10
12
|
require 'rubyXL/objects/extensions'
|
|
11
|
-
require 'rubyXL/
|
|
13
|
+
require 'rubyXL/convenience_methods'
|
|
12
14
|
|
|
13
15
|
module RubyXL
|
|
14
16
|
|
|
@@ -357,80 +359,83 @@ module RubyXL
|
|
|
357
359
|
true
|
|
358
360
|
end
|
|
359
361
|
|
|
360
|
-
def
|
|
361
|
-
|
|
362
|
-
end
|
|
363
|
-
|
|
364
|
-
def date1904=(v)
|
|
365
|
-
self.workbook_properties ||= RubyXL::WorkbookProperties.new
|
|
366
|
-
workbook_properties.date1904 = v
|
|
367
|
-
end
|
|
368
|
-
|
|
369
|
-
def company
|
|
370
|
-
self.document_properties.company && self.document_properties.company.value
|
|
371
|
-
end
|
|
372
|
-
|
|
373
|
-
def company=(v)
|
|
374
|
-
root.document_properties.company ||= StringNode.new
|
|
375
|
-
root.document_properties.company.value = v
|
|
376
|
-
end
|
|
377
|
-
|
|
378
|
-
def application
|
|
379
|
-
root.document_properties.application && self.document_properties.application.value
|
|
380
|
-
end
|
|
381
|
-
|
|
382
|
-
def application=(v)
|
|
383
|
-
root.document_properties.application ||= StringNode.new
|
|
384
|
-
root.document_properties.application.value = v
|
|
385
|
-
end
|
|
386
|
-
|
|
387
|
-
def appversion
|
|
388
|
-
root.document_properties.app_version && root.document_properties.app_version.value
|
|
362
|
+
def xlsx_path
|
|
363
|
+
ROOT.join('xl', 'workbook.xml')
|
|
389
364
|
end
|
|
390
365
|
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
root.
|
|
366
|
+
# Return the resulting XLSX file in a stream (useful for sending over HTTP)
|
|
367
|
+
def stream
|
|
368
|
+
root.stream
|
|
394
369
|
end
|
|
395
370
|
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
371
|
+
# Save the resulting XLSX file to the specified location
|
|
372
|
+
def save(filepath = nil)
|
|
373
|
+
filepath ||= root.filepath
|
|
399
374
|
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
375
|
+
extension = File.extname(filepath)
|
|
376
|
+
unless %w{.xlsx .xlsm}.include?(extension.downcase)
|
|
377
|
+
raise "Unsupported extension: #{extension} (only .xlsx and .xlsm files are supported)."
|
|
378
|
+
end
|
|
403
379
|
|
|
404
|
-
|
|
405
|
-
root.core_properties.modifier
|
|
406
|
-
end
|
|
380
|
+
File.open(filepath, "wb") { |output_file| FileUtils.copy_stream(root.stream, output_file) }
|
|
407
381
|
|
|
408
|
-
|
|
409
|
-
root.core_properties.modifier = v
|
|
382
|
+
return filepath
|
|
410
383
|
end
|
|
384
|
+
alias_method :write, :save
|
|
411
385
|
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
386
|
+
DATE1904 = DateTime.new(1904, 1, 1)
|
|
387
|
+
# Subtracting one day to accomodate for erroneous 1900 leap year compatibility only for 1900 based dates
|
|
388
|
+
DATE1899 = DateTime.new(1899, 12, 31) - 1
|
|
415
389
|
|
|
416
|
-
def
|
|
417
|
-
|
|
390
|
+
def base_date
|
|
391
|
+
(workbook_properties && workbook_properties.date1904) ? DATE1904 : DATE1899
|
|
418
392
|
end
|
|
393
|
+
private :base_date
|
|
419
394
|
|
|
420
|
-
def
|
|
421
|
-
|
|
395
|
+
def date_to_num(date)
|
|
396
|
+
date && (date.ajd - base_date().ajd).to_f
|
|
422
397
|
end
|
|
423
398
|
|
|
424
|
-
def
|
|
425
|
-
|
|
399
|
+
def num_to_date(num)
|
|
400
|
+
num && (base_date + num)
|
|
426
401
|
end
|
|
427
402
|
|
|
428
|
-
|
|
429
|
-
|
|
403
|
+
include Enumerable
|
|
404
|
+
|
|
405
|
+
APPLICATION = 'Microsoft Macintosh Excel'
|
|
406
|
+
APPVERSION = '12.0000'
|
|
407
|
+
|
|
408
|
+
@@debug = nil
|
|
409
|
+
|
|
410
|
+
def initialize(worksheets = [], filepath = nil, creator = nil, modifier = nil, created_at = nil,
|
|
411
|
+
company = '', application = APPLICATION, appversion = APPVERSION, date1904 = 0)
|
|
412
|
+
super()
|
|
413
|
+
|
|
414
|
+
# Order of sheets in the +worksheets+ array corresponds to the order of pages in Excel UI.
|
|
415
|
+
# SheetId's, rId's, etc. are completely unrelated to ordering.
|
|
416
|
+
@worksheets = worksheets
|
|
417
|
+
add_worksheet if @worksheets.empty?
|
|
418
|
+
|
|
419
|
+
@theme = RubyXL::Theme.defaults
|
|
420
|
+
@shared_strings_container = RubyXL::SharedStringsTable.new
|
|
421
|
+
@stylesheet = RubyXL::Stylesheet.default
|
|
422
|
+
@relationship_container = RubyXL::OOXMLRelationshipsFile.new
|
|
423
|
+
@root = RubyXL::WorkbookRoot.default
|
|
424
|
+
@root.workbook = self
|
|
425
|
+
@root.filepath = filepath
|
|
426
|
+
|
|
427
|
+
creation_time = DateTime.parse(created_at) rescue DateTime.now
|
|
428
|
+
self.created_at = creation_time
|
|
429
|
+
self.modified_at = creation_time
|
|
430
|
+
self.company = company
|
|
431
|
+
self.application = application
|
|
432
|
+
self.appversion = appversion
|
|
433
|
+
self.creator = creator
|
|
434
|
+
self.modifier = modifier
|
|
435
|
+
self.date1904 = date1904 > 0
|
|
430
436
|
end
|
|
431
437
|
|
|
432
|
-
include
|
|
433
|
-
|
|
438
|
+
include WorkbookConvenienceMethods
|
|
434
439
|
end
|
|
435
440
|
|
|
436
441
|
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.2.
|
|
7
|
+
<title>README - rubyXL 3.2.4</title>
|
|
8
8
|
|
|
9
9
|
<link href="./fonts.css" rel="stylesheet">
|
|
10
10
|
<link href="./rdoc.css" rel="stylesheet">
|
|
@@ -125,6 +125,15 @@ href="https://codeclimate.com/github/weshatheleopard/rubyXL"><img
|
|
|
125
125
|
src="https://codeclimate.com/github/weshatheleopard/rubyXL.png" alt="Code
|
|
126
126
|
Climate" /></a></p>
|
|
127
127
|
|
|
128
|
+
<p>This gem supports operating on <code>xlsx</code> files (Open XML format).
|
|
129
|
+
While it is capable of properly parsing the entire OOXML structure, its
|
|
130
|
+
current main emphasis is on reading files produced by MS Excel, making
|
|
131
|
+
minor modifications to them and saving them to be opened again, while
|
|
132
|
+
preserving as much of the structure as possible.</p>
|
|
133
|
+
|
|
134
|
+
<p>Please note that proprietary binary <code>xls</code> format is
|
|
135
|
+
<strong>not</strong> supported.</p>
|
|
136
|
+
|
|
128
137
|
<h2 id="label-To+Install%3A">To Install:<span><a href="#label-To+Install%3A">¶</a> <a href="#documentation">↑</a></span></h2>
|
|
129
138
|
|
|
130
139
|
<pre>gem install rubyXL</pre>
|
|
@@ -206,7 +215,7 @@ worksheet.get_column_font_name(0)
|
|
|
206
215
|
worksheet.get_column_font_size(0)
|
|
207
216
|
worksheet.get_column_font_color(0)
|
|
208
217
|
worksheet.is_column_underlined(0)
|
|
209
|
-
worksheet.
|
|
218
|
+
worksheet.get_column_width(0)
|
|
210
219
|
worksheet.get_column_horizontal_alignment(0)
|
|
211
220
|
worksheet.get_column_vertical_alignment(0)
|
|
212
221
|
worksheet.get_column_border_right(0)</pre>
|
|
@@ -409,7 +418,7 @@ further details.</p>
|
|
|
409
418
|
|
|
410
419
|
<footer id="validator-badges" role="contentinfo">
|
|
411
420
|
<p><a href="http://validator.w3.org/check/referer">Validate</a>
|
|
412
|
-
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.
|
|
421
|
+
<p>Generated by <a href="http://rdoc.rubyforge.org">RDoc</a> 4.1.2.
|
|
413
422
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
|
414
423
|
</footer>
|
|
415
424
|
|