rubyXL 3.1.2 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/VERSION +1 -1
- data/lib/rubyXL/cell.rb +1 -1
- data/lib/rubyXL/objects/calculation_chain.rb +1 -1
- data/lib/rubyXL/objects/chartsheet.rb +1 -2
- data/lib/rubyXL/objects/column_range.rb +1 -1
- data/lib/rubyXL/objects/comments.rb +1 -1
- data/lib/rubyXL/objects/content_types.rb +41 -26
- data/lib/rubyXL/objects/document_properties.rb +21 -11
- data/lib/rubyXL/objects/filters.rb +2 -2
- data/lib/rubyXL/objects/font.rb +1 -1
- data/lib/rubyXL/objects/ooxml_object.rb +22 -18
- data/lib/rubyXL/objects/reference.rb +3 -3
- data/lib/rubyXL/objects/relationships.rb +34 -70
- data/lib/rubyXL/objects/root.rb +7 -8
- data/lib/rubyXL/objects/shared_strings.rb +4 -4
- data/lib/rubyXL/objects/sheet_data.rb +2 -2
- data/lib/rubyXL/objects/simple_types.rb +2 -2
- data/lib/rubyXL/objects/storage.rb +9 -10
- data/lib/rubyXL/objects/stylesheet.rb +3 -3
- data/lib/rubyXL/objects/theme.rb +2 -2
- data/lib/rubyXL/objects/workbook.rb +2 -4
- data/lib/rubyXL/objects/worksheet.rb +6 -6
- data/lib/rubyXL/workbook.rb +4 -4
- data/lib/rubyXL/worksheet.rb +8 -8
- data/rdoc/README_rdoc.html +28 -28
- data/rdoc/RubyXL.html +1 -1
- 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 +2 -2
- data/rdoc/RubyXL/CalculationChainCell.html +1 -1
- data/rdoc/RubyXL/CalculationProperties.html +1 -1
- data/rdoc/RubyXL/Cell.html +2 -2
- 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 +2 -2
- 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 +3 -3
- 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 +2 -2
- 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 +42 -76
- 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/DefinedNames.html +1 -1
- data/rdoc/RubyXL/DocumentPropertiesFile.html +21 -46
- data/rdoc/RubyXL/DrawingFile.html +2 -7
- 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/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 +3 -3
- 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 +10 -24
- 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 +24 -24
- data/rdoc/RubyXL/LegacyWorkbook.html +10 -10
- data/rdoc/RubyXL/LegacyWorksheet.html +32 -32
- 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 +2 -2
- data/rdoc/RubyXL/NumberFormats.html +1 -1
- data/rdoc/RubyXL/OLEObject.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 +18 -18
- data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +1 -1
- data/rdoc/RubyXL/OOXMLRelationshipsFile.html +119 -23
- data/rdoc/RubyXL/OOXMLTopLevelObject.html +1 -1
- 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 +1 -1
- 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/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 +6 -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 +7 -7
- 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/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 +5 -5
- data/rdoc/RubyXL/Sheet.html +1 -1
- data/rdoc/RubyXL/SheetCalculationProperties.html +1 -1
- data/rdoc/RubyXL/SheetData.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 +2 -2
- 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 +2 -2
- 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 +1 -1
- data/rdoc/RubyXL/WorkbookProperties.html +1 -1
- data/rdoc/RubyXL/WorkbookProtection.html +1 -1
- data/rdoc/RubyXL/WorkbookRoot.html +43 -25
- data/rdoc/RubyXL/WorkbookView.html +1 -1
- data/rdoc/RubyXL/WorkbookViews.html +1 -1
- data/rdoc/RubyXL/Worksheet.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 +37 -37
- data/rdoc/index.html +2 -2
- data/rdoc/js/search_index.js +1 -1
- data/rdoc/table_of_contents.html +68 -63
- data/rubyXL.gemspec +6 -11
- metadata +92 -86
- data/rdoc/RubyXL/ChartRelationshipsFile.html +0 -105
- data/rdoc/RubyXL/DrawingRelationshipsFile.html +0 -105
- data/rdoc/RubyXL/REL_CLASS.html +0 -105
- data/rdoc/RubyXL/RootRelationships.html +0 -105
- data/rdoc/RubyXL/SheetRelationshipsFile.html +0 -105
- data/rdoc/RubyXL/WorkbookRelationships.html +0 -105
data/lib/rubyXL/objects/root.rb
CHANGED
|
@@ -13,8 +13,6 @@ module RubyXL
|
|
|
13
13
|
attr_accessor :thumbnail, :core_properties, :document_properties, :custom_properties, :workbook
|
|
14
14
|
attr_accessor :content_types, :rels_hash
|
|
15
15
|
|
|
16
|
-
REL_CLASS = RubyXL::RootRelationships
|
|
17
|
-
|
|
18
16
|
include RubyXL::RelationshipSupport
|
|
19
17
|
|
|
20
18
|
define_relationship(RubyXL::ThumbnailFile, :thumbnail)
|
|
@@ -31,7 +29,7 @@ module RubyXL
|
|
|
31
29
|
obj = self.new
|
|
32
30
|
obj.document_properties = RubyXL::DocumentPropertiesFile.new
|
|
33
31
|
obj.core_properties = RubyXL::CorePropertiesFile.new
|
|
34
|
-
obj.relationship_container = RubyXL::
|
|
32
|
+
obj.relationship_container = RubyXL::OOXMLRelationshipsFile.new
|
|
35
33
|
obj.content_types = RubyXL::ContentTypes.new
|
|
36
34
|
obj
|
|
37
35
|
end
|
|
@@ -40,10 +38,9 @@ module RubyXL
|
|
|
40
38
|
stream = Zip::OutputStream.write_buffer { |zipstream|
|
|
41
39
|
self.rels_hash = {}
|
|
42
40
|
self.relationship_container.owner = self
|
|
43
|
-
self.content_types.overrides = []
|
|
44
|
-
self.content_types.owner = self
|
|
45
41
|
collect_related_objects.compact.each { |obj|
|
|
46
42
|
puts "<-- DEBUG: adding relationship to #{obj.class}" if @@debug
|
|
43
|
+
obj.root = self if obj.respond_to?(:root=)
|
|
47
44
|
self.rels_hash[obj.class] ||= []
|
|
48
45
|
self.rels_hash[obj.class] << obj
|
|
49
46
|
}
|
|
@@ -51,9 +48,7 @@ module RubyXL
|
|
|
51
48
|
self.rels_hash.keys.sort_by{ |c| c::SAVE_ORDER }.each { |klass|
|
|
52
49
|
puts "<-- DEBUG: saving related #{klass} files" if @@debug
|
|
53
50
|
self.rels_hash[klass].each { |obj|
|
|
54
|
-
obj.workbook = workbook if obj.respond_to?(:workbook=)
|
|
55
51
|
puts "<-- DEBUG: > #{obj.xlsx_path}" if @@debug
|
|
56
|
-
self.content_types.add_override(obj)
|
|
57
52
|
obj.add_to_zip(zipstream)
|
|
58
53
|
}
|
|
59
54
|
}
|
|
@@ -62,13 +57,17 @@ module RubyXL
|
|
|
62
57
|
stream
|
|
63
58
|
end
|
|
64
59
|
|
|
60
|
+
def xlsx_path
|
|
61
|
+
OOXMLTopLevelObject::ROOT
|
|
62
|
+
end
|
|
63
|
+
|
|
65
64
|
def self.parse_file(xl_file_path, opts)
|
|
66
65
|
begin
|
|
67
66
|
::Zip::File.open(xl_file_path) { |zip_file|
|
|
68
67
|
root = self.new
|
|
69
68
|
root.filepath = xl_file_path
|
|
70
69
|
root.content_types = RubyXL::ContentTypes.parse_file(zip_file)
|
|
71
|
-
root.load_relationships(zip_file)
|
|
70
|
+
root.load_relationships(zip_file, OOXMLTopLevelObject::ROOT)
|
|
72
71
|
root.workbook.root = root
|
|
73
72
|
root
|
|
74
73
|
}
|
|
@@ -19,8 +19,8 @@ module RubyXL
|
|
|
19
19
|
|
|
20
20
|
def initialize(*params)
|
|
21
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,
|
|
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
24
|
# we will be able to transparrently change it later if needs be.
|
|
25
25
|
@index_by_content = {}
|
|
26
26
|
end
|
|
@@ -48,11 +48,11 @@ module RubyXL
|
|
|
48
48
|
def get_index(str, add_if_missing = false)
|
|
49
49
|
index = @index_by_content[str]
|
|
50
50
|
index = add(str) if index.nil? && add_if_missing
|
|
51
|
-
index
|
|
51
|
+
index
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
def xlsx_path
|
|
55
|
-
|
|
55
|
+
ROOT.join('xl', 'sharedStrings.xml')
|
|
56
56
|
end
|
|
57
57
|
|
|
58
58
|
end
|
|
@@ -27,7 +27,7 @@ module RubyXL
|
|
|
27
27
|
define_attribute(:vm, :int, :default => 0)
|
|
28
28
|
define_attribute(:ph, :bool, :default => false)
|
|
29
29
|
define_child_node(RubyXL::Formula, :accessor => :formula)
|
|
30
|
-
define_child_node(RubyXL::CellValue, :accessor => :value_container)
|
|
30
|
+
define_child_node(RubyXL::CellValue, :accessor => :value_container)
|
|
31
31
|
define_child_node(RubyXL::RichText) # is
|
|
32
32
|
define_element_name 'c'
|
|
33
33
|
|
|
@@ -77,7 +77,7 @@ module RubyXL
|
|
|
77
77
|
case datatype
|
|
78
78
|
when RubyXL::DataType::SHARED_STRING then
|
|
79
79
|
workbook.shared_strings_container[raw_value.to_i].to_s
|
|
80
|
-
else
|
|
80
|
+
else
|
|
81
81
|
if is_date? then workbook.num_to_date(raw_value.to_f)
|
|
82
82
|
elsif raw_value.is_a?(String) && (raw_value =~ /\A-?\d+(\.\d+(?:e[+-]\d+)?)?\Z/i) # Numeric
|
|
83
83
|
if $1 then raw_value.to_f
|
|
@@ -190,11 +190,11 @@ module RubyXL
|
|
|
190
190
|
isometricOffAxis3Left isometricOffAxis3Right isometricOffAxis3Bottom
|
|
191
191
|
isometricOffAxis4Left isometricOffAxis4Right isometricOffAxis4Bottom
|
|
192
192
|
obliqueTopLeft obliqueTop obliqueTopRight obliqueLeft obliqueRight obliqueBottomLeft
|
|
193
|
-
obliqueBottom obliqueBottomRight perspectiveFront perspectiveLeft perspectiveRight
|
|
193
|
+
obliqueBottom obliqueBottomRight perspectiveFront perspectiveLeft perspectiveRight
|
|
194
194
|
perspectiveAbove perspectiveBelow perspectiveAboveLeftFacing perspectiveAboveRightFacing
|
|
195
195
|
perspectiveContrastingLeftFacing perspectiveContrastingRightFacing
|
|
196
196
|
perspectiveHeroicLeftFacing perspectiveHeroicRightFacing
|
|
197
|
-
perspectiveHeroicExtremeLeftFacing perspectiveHeroicExtremeRightFacing
|
|
197
|
+
perspectiveHeroicExtremeLeftFacing perspectiveHeroicExtremeRightFacing
|
|
198
198
|
perspectiveRelaxed perspectiveRelaxedModerately }
|
|
199
199
|
ST_LightRigType = %w{ legacyFlat1 legacyFlat2 legacyFlat3 legacyFlat4 legacyNormal1 legacyNormal2
|
|
200
200
|
legacyNormal3 legacyNormal4 legacyHarsh1 legacyHarsh2 legacyHarsh3 legacyHarsh4
|
|
@@ -3,18 +3,17 @@ module RubyXL
|
|
|
3
3
|
class GenericStorageObject
|
|
4
4
|
SAVE_ORDER = 0
|
|
5
5
|
|
|
6
|
-
attr_accessor :xlsx_path, :data, :
|
|
6
|
+
attr_accessor :xlsx_path, :data, :generic_storage
|
|
7
7
|
|
|
8
|
-
def initialize
|
|
9
|
-
@
|
|
10
|
-
@xlsx_path = nil
|
|
8
|
+
def initialize(file_path)
|
|
9
|
+
@xlsx_path = file_path
|
|
11
10
|
@data = nil
|
|
12
11
|
@generic_storage = []
|
|
13
12
|
end
|
|
14
13
|
|
|
15
14
|
def self.parse_file(dirpath, file_path = nil)
|
|
16
15
|
file_path ||= self.xlsx_path
|
|
17
|
-
obj = self.new
|
|
16
|
+
obj = self.new(file_path)
|
|
18
17
|
|
|
19
18
|
case dirpath
|
|
20
19
|
when String then
|
|
@@ -22,12 +21,12 @@ module RubyXL
|
|
|
22
21
|
return nil unless File.exist?(full_path)
|
|
23
22
|
obj.data = File.open(full_path, 'r') { |f| f.read }
|
|
24
23
|
when Zip::File then
|
|
24
|
+
file_path = file_path.relative_path_from(::Pathname.new("/")) if file_path.absolute? # Zip doesn't like absolute paths.
|
|
25
25
|
entry = dirpath.find_entry(file_path)
|
|
26
26
|
return nil if entry.nil?
|
|
27
27
|
obj.data = entry.get_input_stream { |f| f.read }
|
|
28
28
|
end
|
|
29
29
|
|
|
30
|
-
obj.xlsx_path = file_path
|
|
31
30
|
obj
|
|
32
31
|
end
|
|
33
32
|
|
|
@@ -41,13 +40,13 @@ module RubyXL
|
|
|
41
40
|
end
|
|
42
41
|
|
|
43
42
|
class PrinterSettingsFile < GenericStorageObject
|
|
43
|
+
CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings'
|
|
44
44
|
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/printerSettings'
|
|
45
45
|
end
|
|
46
46
|
|
|
47
47
|
class DrawingFile < GenericStorageObject
|
|
48
48
|
CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.drawing+xml'
|
|
49
49
|
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing'
|
|
50
|
-
REL_CLASS = RubyXL::DrawingRelationshipsFile
|
|
51
50
|
|
|
52
51
|
include RubyXL::RelationshipSupport
|
|
53
52
|
|
|
@@ -64,7 +63,6 @@ module RubyXL
|
|
|
64
63
|
class ChartFile < GenericStorageObject
|
|
65
64
|
CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.drawingml.chart+xml'
|
|
66
65
|
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart'
|
|
67
|
-
REL_CLASS = RubyXL::ChartRelationshipsFile
|
|
68
66
|
|
|
69
67
|
include RubyXL::RelationshipSupport
|
|
70
68
|
|
|
@@ -80,9 +78,9 @@ module RubyXL
|
|
|
80
78
|
end
|
|
81
79
|
|
|
82
80
|
class VMLDrawingFile < GenericStorageObject
|
|
81
|
+
CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.vmlDrawing'
|
|
83
82
|
# CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.drawingml.chart+xml'
|
|
84
83
|
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing'
|
|
85
|
-
|
|
86
84
|
end
|
|
87
85
|
|
|
88
86
|
class ChartColorsFile < GenericStorageObject
|
|
@@ -112,7 +110,7 @@ module RubyXL
|
|
|
112
110
|
end
|
|
113
111
|
|
|
114
112
|
class BinaryImageFile < GenericStorageObject
|
|
115
|
-
|
|
113
|
+
CONTENT_TYPE = 'image/jpeg'
|
|
116
114
|
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/image'
|
|
117
115
|
end
|
|
118
116
|
|
|
@@ -122,6 +120,7 @@ module RubyXL
|
|
|
122
120
|
|
|
123
121
|
class ThumbnailFile < GenericStorageObject
|
|
124
122
|
REL_TYPE = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/thumbnail'
|
|
123
|
+
CONTENT_TYPE = 'image/x-wmf'
|
|
125
124
|
end
|
|
126
125
|
|
|
127
126
|
class ChartUserShapesFile < GenericStorageObject
|
|
@@ -81,7 +81,7 @@ module RubyXL
|
|
|
81
81
|
define_element_name 'cellXfs'
|
|
82
82
|
|
|
83
83
|
def self.defaults
|
|
84
|
-
self.new(:_ => [
|
|
84
|
+
self.new(:_ => [
|
|
85
85
|
RubyXL::XF.new(
|
|
86
86
|
:num_fmt_id => 0, :font_id => 0, :fill_id => 0, :border_id => 0, :xfId => 0
|
|
87
87
|
)
|
|
@@ -187,7 +187,7 @@ module RubyXL
|
|
|
187
187
|
end
|
|
188
188
|
|
|
189
189
|
def xlsx_path
|
|
190
|
-
|
|
190
|
+
ROOT.join('xl', 'styles.xml')
|
|
191
191
|
end
|
|
192
192
|
|
|
193
193
|
def self.default
|
|
@@ -201,7 +201,7 @@ module RubyXL
|
|
|
201
201
|
|
|
202
202
|
def get_number_format_by_id(format_id)
|
|
203
203
|
@format_hash ||= {}
|
|
204
|
-
|
|
204
|
+
|
|
205
205
|
if @format_hash[format_id].nil? then
|
|
206
206
|
@format_hash[format_id] = NumberFormats::DEFAULT_NUMBER_FORMATS.find_by_format_id(format_id) ||
|
|
207
207
|
(number_formats && number_formats.find_by_format_id(format_id))
|
data/lib/rubyXL/objects/theme.rb
CHANGED
|
@@ -1358,7 +1358,7 @@ module RubyXL
|
|
|
1358
1358
|
define_child_node(RubyXL::CT_ColorSchemeAndMapping, :collection => [0..-1])
|
|
1359
1359
|
define_element_name 'a:extraClrSchemeLst'
|
|
1360
1360
|
end
|
|
1361
|
-
|
|
1361
|
+
|
|
1362
1362
|
# http://www.schemacentral.com/sc/ooxml/e-a_custClr-1.html
|
|
1363
1363
|
class CustomColor < OOXMLObject
|
|
1364
1364
|
define_child_node(RubyXL::CT_ScRgbColor)
|
|
@@ -1394,7 +1394,7 @@ module RubyXL
|
|
|
1394
1394
|
set_namespaces('http://schemas.openxmlformats.org/drawingml/2006/main' => 'a')
|
|
1395
1395
|
|
|
1396
1396
|
def xlsx_path
|
|
1397
|
-
|
|
1397
|
+
ROOT.join('xl', 'theme', 'theme1.xml')
|
|
1398
1398
|
end
|
|
1399
1399
|
|
|
1400
1400
|
def self.defaults
|
|
@@ -297,7 +297,6 @@ module RubyXL
|
|
|
297
297
|
class Workbook < OOXMLTopLevelObject
|
|
298
298
|
CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml'
|
|
299
299
|
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument'
|
|
300
|
-
REL_CLASS = RubyXL::WorkbookRelationships
|
|
301
300
|
|
|
302
301
|
include RubyXL::RelationshipSupport
|
|
303
302
|
|
|
@@ -345,14 +344,13 @@ module RubyXL
|
|
|
345
344
|
'http://schemas.openxmlformats.org/markup-compatibility/2006' => 'mc',
|
|
346
345
|
'http://schemas.microsoft.com/office/spreadsheetml/2010/11/main' => 'x15')
|
|
347
346
|
|
|
348
|
-
attr_accessor :root
|
|
349
347
|
attr_accessor :calculation_chain, :theme, :stylesheet, :shared_strings_container, :worksheets
|
|
350
348
|
|
|
351
349
|
def before_write_xml
|
|
352
350
|
self.sheets = RubyXL::Sheets.new
|
|
353
351
|
|
|
354
352
|
worksheets.each_with_index { |sheet, i|
|
|
355
|
-
rel = relationship_container.find_by_target(sheet.xlsx_path
|
|
353
|
+
rel = relationship_container.find_by_target(sheet.xlsx_path)
|
|
356
354
|
sheets << RubyXL::Sheet.new(:name => sheet.sheet_name[0..30], # Max sheet name length is 31 char
|
|
357
355
|
:sheet_id => sheet.sheet_id || (i + 1),
|
|
358
356
|
:state => sheet.state, :r_id => rel.id)
|
|
@@ -429,7 +427,7 @@ module RubyXL
|
|
|
429
427
|
end
|
|
430
428
|
|
|
431
429
|
def xlsx_path
|
|
432
|
-
|
|
430
|
+
ROOT.join('xl', 'workbook.xml')
|
|
433
431
|
end
|
|
434
432
|
|
|
435
433
|
include LegacyWorkbook
|
|
@@ -323,13 +323,13 @@ module RubyXL
|
|
|
323
323
|
define_attribute(:shapeId, :int, :required => true)
|
|
324
324
|
define_attribute(:'r:id', :string)
|
|
325
325
|
define_element_name 'oleObject'
|
|
326
|
-
end
|
|
326
|
+
end
|
|
327
327
|
|
|
328
328
|
# http://www.schemacentral.com/sc/ooxml/e-ssml_oleObjects-1.html
|
|
329
329
|
class OLEObjects < OOXMLContainerObject
|
|
330
330
|
define_child_node(RubyXL::OLEObject, :collection => true)
|
|
331
331
|
define_element_name 'oleObjects'
|
|
332
|
-
end
|
|
332
|
+
end
|
|
333
333
|
|
|
334
334
|
# http://www.schemacentral.com/sc/ooxml/e-ssml_dataRef-1.html
|
|
335
335
|
class DataConsolidationReference < OOXMLObject
|
|
@@ -381,7 +381,7 @@ module RubyXL
|
|
|
381
381
|
# But, things can be more complex:
|
|
382
382
|
# <selection activeCell="E8" activeCellId="2" sqref="A4:B4 C6:D6 E8:F8"/>
|
|
383
383
|
# Not using .reverse.each here to avoid memory reallocation.
|
|
384
|
-
@sqref.each_with_index { |ref, ind| @active_cell_id = ind if ref.cover?(@active_cell) }
|
|
384
|
+
@sqref.each_with_index { |ref, ind| @active_cell_id = ind if ref.cover?(@active_cell) }
|
|
385
385
|
end
|
|
386
386
|
true
|
|
387
387
|
end
|
|
@@ -611,7 +611,6 @@ module RubyXL
|
|
|
611
611
|
class Worksheet < OOXMLTopLevelObject
|
|
612
612
|
CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml'
|
|
613
613
|
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet'
|
|
614
|
-
REL_CLASS = RubyXL::SheetRelationshipsFile
|
|
615
614
|
|
|
616
615
|
include RubyXL::RelationshipSupport
|
|
617
616
|
|
|
@@ -675,7 +674,7 @@ module RubyXL
|
|
|
675
674
|
'http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac' => 'x14ac',
|
|
676
675
|
'urn:schemas-microsoft-com:mac:vml' => 'mv')
|
|
677
676
|
|
|
678
|
-
attr_accessor :workbook, :state, :sheet_name, :sheet_id, :rels
|
|
677
|
+
attr_accessor :workbook, :state, :sheet_name, :sheet_id, :rels
|
|
679
678
|
|
|
680
679
|
def before_write_xml # This method may need to be moved higher in the hierarchy
|
|
681
680
|
first_nonempty_row = nil
|
|
@@ -723,8 +722,9 @@ module RubyXL
|
|
|
723
722
|
end
|
|
724
723
|
|
|
725
724
|
def xlsx_path
|
|
726
|
-
|
|
725
|
+
ROOT.join('xl', 'worksheets', "sheet#{file_index}.xml")
|
|
727
726
|
end
|
|
727
|
+
|
|
728
728
|
def self.parse(param)
|
|
729
729
|
sheet_obj = super
|
|
730
730
|
sheet_obj.sheet_data.rows.each { |r|
|
data/lib/rubyXL/workbook.rb
CHANGED
|
@@ -29,7 +29,7 @@ module RubyXL
|
|
|
29
29
|
@theme = RubyXL::Theme.defaults
|
|
30
30
|
@shared_strings_container = RubyXL::SharedStringsTable.new
|
|
31
31
|
@stylesheet = RubyXL::Stylesheet.default
|
|
32
|
-
@relationship_container = RubyXL::
|
|
32
|
+
@relationship_container = RubyXL::OOXMLRelationshipsFile.new
|
|
33
33
|
@root = RubyXL::WorkbookRoot.default
|
|
34
34
|
@root.workbook = self
|
|
35
35
|
@root.filepath = filepath
|
|
@@ -97,7 +97,7 @@ module RubyXL
|
|
|
97
97
|
alias_method :write, :save
|
|
98
98
|
|
|
99
99
|
def base_date
|
|
100
|
-
if date1904 then
|
|
100
|
+
if date1904 then
|
|
101
101
|
DateTime.new(1904, 1, 1)
|
|
102
102
|
else
|
|
103
103
|
# Subtracting one day to accomodate for erroneous 1900 leap year compatibility only for 1900 based dates
|
|
@@ -155,14 +155,14 @@ module RubyXL
|
|
|
155
155
|
def modify_alignment(style_index, is_horizontal, alignment)
|
|
156
156
|
xf = cell_xfs[style_index].dup
|
|
157
157
|
xf.apply_alignment = true
|
|
158
|
-
xf.alignment = RubyXL::Alignment.new(:horizontal => is_horizontal ? alignment : nil,
|
|
158
|
+
xf.alignment = RubyXL::Alignment.new(:horizontal => is_horizontal ? alignment : nil,
|
|
159
159
|
:vertical => is_horizontal ? nil : alignment)
|
|
160
160
|
register_new_xf(xf, style_index)
|
|
161
161
|
end
|
|
162
162
|
|
|
163
163
|
def modify_fill(style_index, rgb)
|
|
164
164
|
xf = cell_xfs[style_index].dup
|
|
165
|
-
new_fill = RubyXL::Fill.new(:pattern_fill =>
|
|
165
|
+
new_fill = RubyXL::Fill.new(:pattern_fill =>
|
|
166
166
|
RubyXL::PatternFill.new(:pattern_type => 'solid',
|
|
167
167
|
:fg_color => RubyXL::Color.new(:rgb => rgb)))
|
|
168
168
|
new_xf = register_new_fill(new_fill, xf)
|
data/lib/rubyXL/worksheet.rb
CHANGED
|
@@ -25,7 +25,7 @@ module LegacyWorksheet
|
|
|
25
25
|
|
|
26
26
|
#returns 2d array of just the cell values (without style or formula information)
|
|
27
27
|
def extract_data(args = {})
|
|
28
|
-
sheet_data.rows.map { |row|
|
|
28
|
+
sheet_data.rows.map { |row|
|
|
29
29
|
row.cells.map { |c| c && c.value(args) } unless row.nil?
|
|
30
30
|
}
|
|
31
31
|
end
|
|
@@ -66,7 +66,7 @@ module LegacyWorksheet
|
|
|
66
66
|
|
|
67
67
|
if cell_test then
|
|
68
68
|
table_hash[:table][table_index] ||= {}
|
|
69
|
-
table_hash[:table][table_index][header] = cell.value
|
|
69
|
+
table_hash[:table][table_index][header] = cell.value
|
|
70
70
|
end
|
|
71
71
|
|
|
72
72
|
current_row += 1
|
|
@@ -369,7 +369,7 @@ module LegacyWorksheet
|
|
|
369
369
|
c.raw_value = data
|
|
370
370
|
c.datatype = RubyXL::DataType::RAW_STRING unless formula || data.is_a?(Numeric)
|
|
371
371
|
c.formula = RubyXL::Formula.new(:expression => formula) if formula
|
|
372
|
-
|
|
372
|
+
|
|
373
373
|
range = cols && cols.find(column)
|
|
374
374
|
c.style_index = sheet_data.rows[row].style_index || (range && range.style_index) || 0
|
|
375
375
|
|
|
@@ -406,7 +406,7 @@ module LegacyWorksheet
|
|
|
406
406
|
if row_index > 0 then
|
|
407
407
|
old_row = sheet_data.rows[row_index - 1]
|
|
408
408
|
if old_row then
|
|
409
|
-
new_cells = old_row.cells.collect { |c|
|
|
409
|
+
new_cells = old_row.cells.collect { |c|
|
|
410
410
|
if c.nil? then nil
|
|
411
411
|
else RubyXL::Cell.new(:style_index => c.style_index)
|
|
412
412
|
end }
|
|
@@ -581,7 +581,7 @@ module LegacyWorksheet
|
|
|
581
581
|
|
|
582
582
|
def get_row_border_left(row = 0)
|
|
583
583
|
return get_row_border(row, :left)
|
|
584
|
-
end
|
|
584
|
+
end
|
|
585
585
|
|
|
586
586
|
def get_row_border_right(row = 0)
|
|
587
587
|
return get_row_border(row, :right)
|
|
@@ -817,10 +817,10 @@ module LegacyWorksheet
|
|
|
817
817
|
# is less than +size+, then +.downto()+ will not execute, and if it equals +size+,
|
|
818
818
|
# then the block will be invoked exactly once, which takes care of the case when
|
|
819
819
|
# +row_index+ is greater than the current max index by exactly 1.
|
|
820
|
-
row_index.downto(existing_row_count) { |r|
|
|
820
|
+
row_index.downto(existing_row_count) { |r|
|
|
821
821
|
add_row(r, :cells => Array.new(col_size))
|
|
822
|
-
}
|
|
823
|
-
end
|
|
822
|
+
}
|
|
823
|
+
end
|
|
824
824
|
|
|
825
825
|
# Helper method to get the style index for a column
|
|
826
826
|
def get_col_style(column_index)
|
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.
|
|
7
|
+
<title>README - rubyXL 3.2.0</title>
|
|
8
8
|
|
|
9
9
|
<link href="./fonts.css" rel="stylesheet">
|
|
10
10
|
<link href="./rdoc.css" rel="stylesheet">
|
|
@@ -128,7 +128,7 @@ src="https://codeclimate.com/github/weshatheleopard/rubyXL.png"></a></p>
|
|
|
128
128
|
|
|
129
129
|
<h2 id="label-To+Use%3A">To Use:<span><a href="#label-To+Use%3A">¶</a> <a href="#documentation">↑</a></span></h2>
|
|
130
130
|
|
|
131
|
-
<pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string"
|
|
131
|
+
<pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">'rubyXL'</span> <span class="ruby-comment"># Assuming rubygems is already required</span>
|
|
132
132
|
</pre>
|
|
133
133
|
|
|
134
134
|
<h3 id="label-Parsing+an+existing+workbook">Parsing an existing workbook<span><a href="#label-Parsing+an+existing+workbook">¶</a> <a href="#documentation">↑</a></span></h3>
|
|
@@ -145,7 +145,7 @@ src="https://codeclimate.com/github/weshatheleopard/rubyXL.png"></a></p>
|
|
|
145
145
|
|
|
146
146
|
<pre>workbook.worksheets[0] # Returns first worksheet
|
|
147
147
|
workbook[0] # Returns first worksheet
|
|
148
|
-
workbook[
|
|
148
|
+
workbook['Sheet1'] # Finds and returns worksheet titled "Sheet1"</pre>
|
|
149
149
|
|
|
150
150
|
<h4 id="label-Accessing+just+the+values">Accessing just the values<span><a href="#label-Accessing+just+the+values">¶</a> <a href="#documentation">↑</a></span></h4>
|
|
151
151
|
|
|
@@ -229,16 +229,16 @@ worksheet.get_column_border_right(0)</pre>
|
|
|
229
229
|
|
|
230
230
|
<h4 id="label-Adding+Worksheets">Adding Worksheets<span><a href="#label-Adding+Worksheets">¶</a> <a href="#documentation">↑</a></span></h4>
|
|
231
231
|
|
|
232
|
-
<pre>worksheet = workbook.add_worksheet(
|
|
232
|
+
<pre>worksheet = workbook.add_worksheet('Sheet2')</pre>
|
|
233
233
|
|
|
234
234
|
<h4 id="label-Renaming+Worksheets">Renaming Worksheets<span><a href="#label-Renaming+Worksheets">¶</a> <a href="#documentation">↑</a></span></h4>
|
|
235
235
|
|
|
236
|
-
<pre>worksheet.sheet_name =
|
|
236
|
+
<pre>worksheet.sheet_name = 'Cool New Name'</pre>
|
|
237
237
|
|
|
238
238
|
<h4 id="label-Adding+Cells">Adding Cells<span><a href="#label-Adding+Cells">¶</a> <a href="#documentation">↑</a></span></h4>
|
|
239
239
|
|
|
240
|
-
<pre>worksheet.add_cell(0, 0,
|
|
241
|
-
worksheet.add_cell(0, 1,
|
|
240
|
+
<pre>worksheet.add_cell(0, 0, 'A1') # Sets cell A1 to string "A1"
|
|
241
|
+
worksheet.add_cell(0, 1, '', 'A1') # Sets formula in the cell B1 to '=A1'</pre>
|
|
242
242
|
|
|
243
243
|
<h4 id="label-Changing+Cells">Changing Cells<span><a href="#label-Changing+Cells">¶</a> <a href="#documentation">↑</a></span></h4>
|
|
244
244
|
|
|
@@ -248,21 +248,21 @@ worksheet.add_cell(0, 1, '', 'A1') # Sets formula in the cell B1 to '=A1'</pre>
|
|
|
248
248
|
|
|
249
249
|
<pre>worksheet.sheet_data[0][0].change_font_bold(true) # Makes A1 bold
|
|
250
250
|
worksheet.change_row_italics(0,true) # Makes first row italicized
|
|
251
|
-
worksheet.change_column_font_name(0,
|
|
251
|
+
worksheet.change_column_font_name(0, 'Courier') # Makes first column have font Courier</pre>
|
|
252
252
|
|
|
253
253
|
<h4 id="label-Changing+Fills+++++">Changing Fills <span><a href="#label-Changing+Fills+++++">¶</a> <a href="#documentation">↑</a></span></h4>
|
|
254
254
|
|
|
255
|
-
<pre>worksheet.sheet_data[0][0].change_fill(
|
|
256
|
-
worksheet.change_row_fill(0,
|
|
257
|
-
worksheet.change_column_fill(0,
|
|
255
|
+
<pre>worksheet.sheet_data[0][0].change_fill('0ba53d') # Sets A1 to have fill #0ba53d
|
|
256
|
+
worksheet.change_row_fill(0, '0ba53d') # Sets first row to have fill #0ba53d
|
|
257
|
+
worksheet.change_column_fill(0, '0ba53d') # Sets first column to have fill #0ba53d</pre>
|
|
258
258
|
|
|
259
259
|
<h4 id="label-Changing+Borders">Changing Borders<span><a href="#label-Changing+Borders">¶</a> <a href="#documentation">↑</a></span></h4>
|
|
260
260
|
|
|
261
261
|
<pre># Possible weights: hairline, thin, medium, thick
|
|
262
262
|
# Possible "directions": top, bottom, left, right, diagonal
|
|
263
|
-
worksheet.sheet_data[0][0].change_border(:top,
|
|
264
|
-
worksheet.change_row_border(0, :left,
|
|
265
|
-
worksheet.change_column_border(0, :diagonal,
|
|
263
|
+
worksheet.sheet_data[0][0].change_border(:top, 'thin') # Sets A1 to have a top, thin border
|
|
264
|
+
worksheet.change_row_border(0, :left, 'hairline') # Sets first row to have a left, hairline border
|
|
265
|
+
worksheet.change_column_border(0, :diagonal, 'medium') # Sets first column to have diagonal, medium border</pre>
|
|
266
266
|
|
|
267
267
|
<h4 id="label-Changing+Alignment">Changing Alignment<span><a href="#label-Changing+Alignment">¶</a> <a href="#documentation">↑</a></span></h4>
|
|
268
268
|
|
|
@@ -270,17 +270,17 @@ worksheet.change_column_border(0, :diagonal, 'medium') # Sets first column to h
|
|
|
270
270
|
|
|
271
271
|
<p>center, distributed, justify, left, right</p>
|
|
272
272
|
|
|
273
|
-
<pre>worksheet.sheet_data[0][0].change_horizontal_alignment(
|
|
274
|
-
worksheet.change_row_horizontal_alignment(0,
|
|
275
|
-
worksheet.change_column_horizontal_alignment(0,
|
|
273
|
+
<pre>worksheet.sheet_data[0][0].change_horizontal_alignment('center') # Sets A1 to be centered
|
|
274
|
+
worksheet.change_row_horizontal_alignment(0, 'justify') # Sets first row to be justified
|
|
275
|
+
worksheet.change_column_horizontal_alignment(0, 'right') # Sets first column to be right-aligned</pre>
|
|
276
276
|
|
|
277
277
|
<h5 id="label-Vertical">Vertical<span><a href="#label-Vertical">¶</a> <a href="#documentation">↑</a></span></h5>
|
|
278
278
|
|
|
279
279
|
<p>bottom, center, distributed, top</p>
|
|
280
280
|
|
|
281
|
-
<pre>worksheet.sheet_data[0][0].change_vertical_alignment(
|
|
282
|
-
worksheet.change_row_vertical_alignment(0,
|
|
283
|
-
worksheet.change_column_vertical_alignment(0,
|
|
281
|
+
<pre>worksheet.sheet_data[0][0].change_vertical_alignment('bottom') # Sets A1 to be bottom aligned
|
|
282
|
+
worksheet.change_row_vertical_alignment(0, 'distributed') # Sets first row to be distributed vertically
|
|
283
|
+
worksheet.change_column_vertical_alignment(0, 'top') # Sets first column to be top aligned</pre>
|
|
284
284
|
|
|
285
285
|
<h4 id="label-Changing+Row+Height">Changing Row Height<span><a href="#label-Changing+Row+Height">¶</a> <a href="#documentation">↑</a></span></h4>
|
|
286
286
|
|
|
@@ -367,8 +367,8 @@ worksheet.delete_cell(0, 0) # Deletes A1, does not shift cells</pre>
|
|
|
367
367
|
|
|
368
368
|
<h3 id="label-Miscellaneous">Miscellaneous<span><a href="#label-Miscellaneous">¶</a> <a href="#documentation">↑</a></span></h3>
|
|
369
369
|
|
|
370
|
-
<pre>Reference.ind2ref(0,0) ==
|
|
371
|
-
Reference.ref2ind(
|
|
370
|
+
<pre>Reference.ind2ref(0,0) == 'A1' # Converts row and column index to Excel-style cell reference
|
|
371
|
+
Reference.ref2ind('A1') == [0, 0] # Converts Excel-style cell reference to row and column index</pre>
|
|
372
372
|
|
|
373
373
|
<h2 id="label-For+more+information">For more information<span><a href="#label-For+more+information">¶</a> <a href="#documentation">↑</a></span></h2>
|
|
374
374
|
|
|
@@ -376,11 +376,11 @@ Reference.ref2ind('A1') == [0, 0] # Converts Excel-style cell reference to row a
|
|
|
376
376
|
|
|
377
377
|
<h2 id="label-Contributing+to+rubyXL">Contributing to rubyXL<span><a href="#label-Contributing+to+rubyXL">¶</a> <a href="#documentation">↑</a></span></h2>
|
|
378
378
|
<ul><li>
|
|
379
|
-
<p>Check out the latest master to make sure the feature hasn
|
|
380
|
-
implemented or the bug hasn
|
|
379
|
+
<p>Check out the latest master to make sure the feature hasn't been
|
|
380
|
+
implemented or the bug hasn't been fixed yet</p>
|
|
381
381
|
</li><li>
|
|
382
|
-
<p>Check out the issue tracker to make sure someone already hasn
|
|
383
|
-
it and/or contributed it</p>
|
|
382
|
+
<p>Check out the issue tracker to make sure someone already hasn't
|
|
383
|
+
requested it and/or contributed it</p>
|
|
384
384
|
</li><li>
|
|
385
385
|
<p>Fork the project</p>
|
|
386
386
|
</li><li>
|
|
@@ -388,8 +388,8 @@ it and/or contributed it</p>
|
|
|
388
388
|
</li><li>
|
|
389
389
|
<p>Commit and push until you are happy with your contribution</p>
|
|
390
390
|
</li><li>
|
|
391
|
-
<p>Make sure to add tests for it. This is important so I don
|
|
392
|
-
future version unintentionally.</p>
|
|
391
|
+
<p>Make sure to add tests for it. This is important so I don't break it in
|
|
392
|
+
a future version unintentionally.</p>
|
|
393
393
|
</li><li>
|
|
394
394
|
<p>Please try not to mess with the Rakefile, version, or history. If you want
|
|
395
395
|
to have your own version, or is otherwise necessary, that is fine, but
|