rubyXL 3.4.22 → 3.4.25
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/Gemfile +8 -8
- data/Gemfile.lock +6 -6
- data/README.rdoc +9 -1
- data/Rakefile +24 -25
- data/VERSION +1 -1
- data/lib/rubyXL/cell.rb +2 -4
- data/lib/rubyXL/convenience_methods/cell.rb +26 -27
- data/lib/rubyXL/convenience_methods/color.rb +3 -7
- data/lib/rubyXL/convenience_methods/workbook.rb +2 -5
- data/lib/rubyXL/convenience_methods/worksheet.rb +3 -4
- data/lib/rubyXL/objects/border.rb +0 -3
- data/lib/rubyXL/objects/calculation_chain.rb +2 -2
- data/lib/rubyXL/objects/cell_style.rb +1 -3
- data/lib/rubyXL/objects/chartsheet.rb +5 -9
- data/lib/rubyXL/objects/color.rb +1 -3
- data/lib/rubyXL/objects/column_range.rb +0 -3
- data/lib/rubyXL/objects/comments.rb +1 -4
- data/lib/rubyXL/objects/connection.rb +11 -11
- data/lib/rubyXL/objects/container_nodes.rb +1 -5
- data/lib/rubyXL/objects/content_types.rb +3 -6
- data/lib/rubyXL/objects/data_validation.rb +0 -2
- data/lib/rubyXL/objects/document_properties.rb +9 -13
- data/lib/rubyXL/objects/extensions.rb +0 -2
- data/lib/rubyXL/objects/external_links.rb +4 -6
- data/lib/rubyXL/objects/fill.rb +2 -5
- data/lib/rubyXL/objects/filters.rb +5 -7
- data/lib/rubyXL/objects/font.rb +1 -3
- data/lib/rubyXL/objects/formula.rb +3 -5
- data/lib/rubyXL/objects/ooxml_object.rb +6 -13
- data/lib/rubyXL/objects/query_table.rb +3 -3
- data/lib/rubyXL/objects/reference.rb +5 -4
- data/lib/rubyXL/objects/relationships.rb +5 -10
- data/lib/rubyXL/objects/root.rb +0 -2
- data/lib/rubyXL/objects/shared_strings.rb +3 -6
- data/lib/rubyXL/objects/sheet_common.rb +1 -3
- data/lib/rubyXL/objects/sheet_data.rb +4 -7
- data/lib/rubyXL/objects/simple_types.rb +1 -1
- data/lib/rubyXL/objects/storage.rb +51 -51
- data/lib/rubyXL/objects/stylesheet.rb +8 -15
- data/lib/rubyXL/objects/text.rb +3 -6
- data/lib/rubyXL/objects/theme.rb +4 -7
- data/lib/rubyXL/objects/workbook.rb +25 -27
- data/lib/rubyXL/objects/worksheet.rb +26 -22
- data/lib/rubyXL/parser.rb +1 -3
- data/lib/rubyXL/worksheet.rb +83 -84
- data/lib/rubyXL.rb +0 -1
- data/rdoc/README_rdoc.html +13 -1
- data/rdoc/RubyXL/AExtension.html +1 -1
- data/rdoc/RubyXL/AExtensionStorageArea.html +1 -1
- data/rdoc/RubyXL/ActiveX.html +3 -3
- data/rdoc/RubyXL/ActiveXBinary.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 +5 -5
- data/rdoc/RubyXL/BorderEdge.html +3 -3
- data/rdoc/RubyXL/Borders.html +2 -2
- 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 +16 -16
- data/rdoc/RubyXL/CellConvenienceMethods.html +79 -48
- 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 +2 -2
- data/rdoc/RubyXL/CellStyles.html +2 -2
- 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 +3 -5
- data/rdoc/RubyXL/ChartColorsFile.html +1 -1
- data/rdoc/RubyXL/ChartFile.html +2 -2
- data/rdoc/RubyXL/ChartStyleFile.html +1 -1
- data/rdoc/RubyXL/ChartUserShapesFile.html +1 -1
- data/rdoc/RubyXL/Chartsheet.html +2 -2
- 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 +2 -2
- data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +3 -3
- data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +7 -7
- data/rdoc/RubyXL/ColorConvenienceClasses.html +1 -1
- data/rdoc/RubyXL/ColorConvenienceMethods.html +2 -2
- 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 +4 -4
- data/rdoc/RubyXL/ColumnRanges.html +5 -5
- data/rdoc/RubyXL/Comment.html +1 -1
- data/rdoc/RubyXL/CommentList.html +1 -1
- data/rdoc/RubyXL/CommentsFile.html +2 -2
- data/rdoc/RubyXL/ConditionalFormatValue.html +1 -1
- data/rdoc/RubyXL/ConditionalFormatting.html +1 -1
- data/rdoc/RubyXL/ConditionalFormattingRule.html +1 -1
- data/rdoc/RubyXL/Connection.html +1 -1
- data/rdoc/RubyXL/ConnectionTable.html +1 -1
- data/rdoc/RubyXL/ConnectionTables.html +1 -1
- data/rdoc/RubyXL/ConnectionTextField.html +1 -1
- data/rdoc/RubyXL/ConnectionTextFields.html +1 -1
- data/rdoc/RubyXL/Connections.html +1 -1
- data/rdoc/RubyXL/ContentTypeDefault.html +1 -1
- data/rdoc/RubyXL/ContentTypeOverride.html +1 -1
- data/rdoc/RubyXL/ContentTypes.html +5 -5
- data/rdoc/RubyXL/ControlPropertiesFile.html +1 -1
- data/rdoc/RubyXL/CorePropertiesFile.html +10 -10
- 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/CustomPropertyFile.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 +3 -3
- data/rdoc/RubyXL/DrawingFile.html +2 -2
- 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 +2 -2
- 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 +2 -2
- data/rdoc/RubyXL/Fills.html +2 -2
- 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/FontConvenienceMethods.html +1 -1
- data/rdoc/RubyXL/FontScheme.html +1 -1
- data/rdoc/RubyXL/Fonts.html +2 -2
- 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 +4 -4
- 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 +2 -2
- data/rdoc/RubyXL/LegacyWorksheet.html +2 -2
- 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 +3 -3
- data/rdoc/RubyXL/NumberFormats.html +2 -2
- 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 +7 -7
- data/rdoc/RubyXL/OOXMLIgnored.html +3 -3
- data/rdoc/RubyXL/OOXMLObject.html +1 -1
- data/rdoc/RubyXL/OOXMLObjectClassMethods.html +2 -3
- data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +9 -10
- data/rdoc/RubyXL/OOXMLRelationshipsFile.html +15 -15
- data/rdoc/RubyXL/OOXMLTopLevelObject.html +6 -6
- data/rdoc/RubyXL/OdbcOleDbProperties.html +1 -1
- data/rdoc/RubyXL/Offset.html +1 -1
- data/rdoc/RubyXL/OlapProperties.html +1 -1
- data/rdoc/RubyXL/OleItem.html +1 -1
- data/rdoc/RubyXL/OleItems.html +1 -1
- data/rdoc/RubyXL/OleLink.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 +4 -4
- 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/QueryParameter.html +1 -1
- data/rdoc/RubyXL/QueryParameters.html +1 -1
- data/rdoc/RubyXL/QueryTable.html +1 -1
- data/rdoc/RubyXL/QueryTableDeletedField.html +1 -1
- data/rdoc/RubyXL/QueryTableDeletedFields.html +1 -1
- data/rdoc/RubyXL/QueryTableField.html +1 -1
- data/rdoc/RubyXL/QueryTableFields.html +1 -1
- data/rdoc/RubyXL/QueryTableRefresh.html +1 -1
- data/rdoc/RubyXL/RID.html +1 -1
- data/rdoc/RubyXL/RawOOXML.html +3 -3
- data/rdoc/RubyXL/Reference.html +34 -12
- data/rdoc/RubyXL/Relationship.html +1 -1
- data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +2 -2
- data/rdoc/RubyXL/RelationshipSupport.html +7 -7
- data/rdoc/RubyXL/RevisionPointer.html +1 -1
- data/rdoc/RubyXL/RichText.html +2 -2
- data/rdoc/RubyXL/RichTextRun.html +2 -2
- data/rdoc/RubyXL/Row.html +10 -10
- 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 +2 -2
- data/rdoc/RubyXL/ShapeGuide.html +1 -1
- data/rdoc/RubyXL/ShapeTextRectangle.html +1 -1
- data/rdoc/RubyXL/SharedStringsTable.html +8 -8
- data/rdoc/RubyXL/Sheet.html +1 -1
- data/rdoc/RubyXL/SheetCalculationProperties.html +1 -1
- data/rdoc/RubyXL/SheetData.html +3 -3
- data/rdoc/RubyXL/SheetDataExt.html +1 -1
- data/rdoc/RubyXL/SheetDataSet.html +1 -1
- data/rdoc/RubyXL/SheetMetadata.html +108 -0
- 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 +3 -3
- data/rdoc/RubyXL/Stop.html +1 -1
- data/rdoc/RubyXL/StringNode.html +1 -1
- data/rdoc/RubyXL/StringNodeW3C.html +3 -3
- data/rdoc/RubyXL/StringValue.html +1 -1
- data/rdoc/RubyXL/Stylesheet.html +6 -6
- 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 +5 -5
- data/rdoc/RubyXL/TextImportSettings.html +1 -1
- data/rdoc/RubyXL/Theme.html +4 -4
- 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 +2 -2
- data/rdoc/RubyXL/Variant.html +1 -1
- data/rdoc/RubyXL/Vector.html +2 -2
- 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/WebQueryProperties.html +1 -1
- data/rdoc/RubyXL/Workbook.html +8 -5
- data/rdoc/RubyXL/WorkbookConvenienceMethods.html +21 -21
- data/rdoc/RubyXL/WorkbookProperties.html +1 -1
- data/rdoc/RubyXL/WorkbookProtection.html +1 -1
- data/rdoc/RubyXL/WorkbookRoot.html +6 -6
- data/rdoc/RubyXL/WorkbookView.html +1 -1
- data/rdoc/RubyXL/WorkbookViews.html +1 -1
- data/rdoc/RubyXL/Worksheet.html +31 -7
- data/rdoc/RubyXL/WorksheetConvenienceMethods.html +73 -73
- 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/RubyXL.html +1 -1
- data/rdoc/created.rid +44 -44
- data/rdoc/index.html +3 -2
- data/rdoc/js/search_index.js +1 -1
- data/rdoc/js/search_index.js.gz +0 -0
- data/rdoc/table_of_contents.html +21 -2
- data/rubyXL.gemspec +5 -4
- data/spec/lib/cell_spec.rb +5 -7
- data/spec/lib/color_spec.rb +1 -1
- data/spec/lib/parser_spec.rb +24 -27
- data/spec/lib/reference_spec.rb +9 -3
- data/spec/lib/rgb_color_spec.rb +1 -2
- data/spec/lib/stylesheet_spec.rb +8 -11
- data/spec/lib/text_spec.rb +1 -5
- data/spec/lib/workbook_spec.rb +3 -4
- data/spec/lib/worksheet_spec.rb +577 -535
- data/spec/spec_helper.rb +2 -0
- data/test/test_parse_write.rb +3 -3
- metadata +4 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 69ceee765ae742ca18903f3db0a368782e581e8324941fd9671e6642fb8ba5d9
|
|
4
|
+
data.tar.gz: 0bed16ef2323e2bd91e33d395a66c9a13b902e5e03cad2de415f4bafcbcb8b3b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d30a855437e79b15c975ad5e13148cfb72e4f2956449dcbc95d6ff691e60a668d729432e80909318010d473e75323c3c4f75c17b57f80c59f22f41bac43bfc35
|
|
7
|
+
data.tar.gz: fe740718fd69d6a8131383d8b5b326df918820d67c08c708e8e80959a9a04ad3f0f18c2d0efb02e6e660dc66456578a8008e98781ee094658ac78fee9319d90b
|
data/Gemfile
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
source
|
|
1
|
+
source 'http://rubygems.org'
|
|
2
2
|
|
|
3
3
|
# Dependencies required to run this gem.
|
|
4
|
-
gem
|
|
5
|
-
gem
|
|
4
|
+
gem 'nokogiri', '>= 1.10.8'
|
|
5
|
+
gem 'rubyzip', '>= 1.3.0' , :require => 'zip'
|
|
6
6
|
|
|
7
7
|
# Development dependencies.
|
|
8
8
|
group :development, :test do
|
|
9
|
-
gem
|
|
10
|
-
gem
|
|
11
|
-
gem
|
|
12
|
-
gem
|
|
13
|
-
gem
|
|
9
|
+
gem 'bundler'
|
|
10
|
+
gem 'rake'
|
|
11
|
+
gem 'juwelier'
|
|
12
|
+
gem 'rspec'
|
|
13
|
+
gem 'simplecov'
|
|
14
14
|
|
|
15
15
|
# gem 'stackprof'
|
|
16
16
|
gem 'ruby-prof'
|
data/Gemfile.lock
CHANGED
|
@@ -31,7 +31,7 @@ GEM
|
|
|
31
31
|
faraday-patron (1.0.0)
|
|
32
32
|
faraday-rack (1.0.0)
|
|
33
33
|
faraday-retry (1.0.3)
|
|
34
|
-
git (1.
|
|
34
|
+
git (1.11.0)
|
|
35
35
|
rchardet (~> 1.8)
|
|
36
36
|
github_api (0.19.0)
|
|
37
37
|
addressable (~> 2.4)
|
|
@@ -60,7 +60,7 @@ GEM
|
|
|
60
60
|
multi_json (1.15.0)
|
|
61
61
|
multi_xml (0.6.0)
|
|
62
62
|
multipart-post (2.1.1)
|
|
63
|
-
nokogiri (1.13.
|
|
63
|
+
nokogiri (1.13.6)
|
|
64
64
|
mini_portile2 (~> 2.8.0)
|
|
65
65
|
racc (~> 1.4)
|
|
66
66
|
oauth2 (1.4.9)
|
|
@@ -69,9 +69,9 @@ GEM
|
|
|
69
69
|
multi_json (~> 1.3)
|
|
70
70
|
multi_xml (~> 0.5)
|
|
71
71
|
rack (>= 1.2, < 3)
|
|
72
|
-
psych (4.0.
|
|
72
|
+
psych (4.0.4)
|
|
73
73
|
stringio
|
|
74
|
-
public_suffix (4.0.
|
|
74
|
+
public_suffix (4.0.7)
|
|
75
75
|
racc (1.6.0)
|
|
76
76
|
rack (2.2.3)
|
|
77
77
|
rake (13.0.6)
|
|
@@ -87,7 +87,7 @@ GEM
|
|
|
87
87
|
rspec-expectations (3.11.0)
|
|
88
88
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
89
89
|
rspec-support (~> 3.11.0)
|
|
90
|
-
rspec-mocks (3.11.
|
|
90
|
+
rspec-mocks (3.11.1)
|
|
91
91
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
92
92
|
rspec-support (~> 3.11.0)
|
|
93
93
|
rspec-support (3.11.0)
|
|
@@ -103,7 +103,7 @@ GEM
|
|
|
103
103
|
simplecov_json_formatter (~> 0.1)
|
|
104
104
|
simplecov-html (0.12.3)
|
|
105
105
|
simplecov_json_formatter (0.1.4)
|
|
106
|
-
stringio (3.0.
|
|
106
|
+
stringio (3.0.2)
|
|
107
107
|
thread_safe (0.3.6)
|
|
108
108
|
|
|
109
109
|
PLATFORMS
|
data/README.rdoc
CHANGED
|
@@ -59,6 +59,10 @@ Please note that row is a _sparse_ array of cells. Your code *must* expect that
|
|
|
59
59
|
cell.value # Returns a properly converted value in the cell (if the file claims that the cell
|
|
60
60
|
# is holding a number, returns a respective Integer or Float, and so on).
|
|
61
61
|
|
|
62
|
+
Or, if you prefer Excel-style references (single-cell only!)
|
|
63
|
+
|
|
64
|
+
cell = worksheet.cell_at('B11')
|
|
65
|
+
|
|
62
66
|
==== Wrappers for accessing Cell properties
|
|
63
67
|
cell = workbook[0][0][0]
|
|
64
68
|
cell.is_struckthrough # Returns +true+ if the cell is struckthrough, other boolean properties have same syntax
|
|
@@ -157,7 +161,6 @@ Please note: these methods are being phased out in favor of the OOXML object mod
|
|
|
157
161
|
# * 255 - text is in normal rotation but displayed vertically (one letter under another), line feed starts new line to the right of the previous.
|
|
158
162
|
worksheet.sheet_data[0][0].change_text_rotation(90) # Sets A1 to be rotated by 90 degrees
|
|
159
163
|
|
|
160
|
-
|
|
161
164
|
==== Changing Row Height
|
|
162
165
|
worksheet.change_row_height(0, 30) # Sets first row height to 30
|
|
163
166
|
|
|
@@ -214,6 +217,11 @@ WARNING: Use of this method WILL break formulas referencing cells which have bee
|
|
|
214
217
|
cell.change_shrink_to_fit(true) # Makes the text in the cell to shrink to fit.
|
|
215
218
|
cell.change_text_indent(1) # Indents the text in the cell by 1 level
|
|
216
219
|
|
|
220
|
+
==== Add hyperlink to a Cell
|
|
221
|
+
cell.add_hyperlink('http://example.com')
|
|
222
|
+
cell.add_hyperlink('http://example.com', 'Some tooltip text')
|
|
223
|
+
|
|
224
|
+
|
|
217
225
|
== I/O
|
|
218
226
|
|
|
219
227
|
By default, the gem operates with files on the local filesystem:
|
data/Rakefile
CHANGED
|
@@ -1,29 +1,28 @@
|
|
|
1
|
-
# encoding: utf-8
|
|
2
1
|
require 'rubygems'
|
|
3
2
|
|
|
4
3
|
require 'bundler'
|
|
5
4
|
begin
|
|
6
5
|
Bundler.setup(:default, :development)
|
|
7
6
|
rescue Bundler::BundlerError => e
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
warn e.message
|
|
8
|
+
warn 'Run `bundle install` to install missing gems'
|
|
10
9
|
exit e.status_code
|
|
11
10
|
end
|
|
12
11
|
|
|
13
12
|
require 'juwelier'
|
|
14
13
|
Juwelier::Tasks.new do |gem|
|
|
15
14
|
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
|
16
|
-
gem.name =
|
|
17
|
-
gem.homepage =
|
|
18
|
-
gem.license =
|
|
19
|
-
gem.summary = %
|
|
20
|
-
gem.description = %
|
|
21
|
-
gem.email =
|
|
22
|
-
gem.authors = [
|
|
15
|
+
gem.name = 'rubyXL'
|
|
16
|
+
gem.homepage = 'http://github.com/gilt/rubyXL'
|
|
17
|
+
gem.license = 'MIT'
|
|
18
|
+
gem.summary = %q{rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents}
|
|
19
|
+
gem.description = %q{rubyXL is a gem which allows the parsing, creation, and manipulation of Microsoft Excel (.xlsx/.xlsm) Documents}
|
|
20
|
+
gem.email = 'bhagwat.vivek@gmail.com'
|
|
21
|
+
gem.authors = ['Vivek Bhagwat', 'Wesha']
|
|
23
22
|
# gem.required_ruby_version = '>2.1'
|
|
24
23
|
# dependencies defined in Gemfile
|
|
25
24
|
end
|
|
26
|
-
Juwelier::RubygemsDotOrgTasks.new
|
|
25
|
+
Juwelier::RubygemsDotOrgTasks.new
|
|
27
26
|
|
|
28
27
|
require 'rake/testtask'
|
|
29
28
|
Rake::TestTask.new(:test) do |test|
|
|
@@ -39,7 +38,7 @@ task :default => :rspec
|
|
|
39
38
|
|
|
40
39
|
require 'rdoc/task'
|
|
41
40
|
Rake::RDocTask.new do |rdoc|
|
|
42
|
-
version = File.exist?('VERSION') ? File.read('VERSION') :
|
|
41
|
+
version = File.exist?('VERSION') ? File.read('VERSION') : ''
|
|
43
42
|
|
|
44
43
|
rdoc.rdoc_dir = 'rdoc'
|
|
45
44
|
rdoc.title = "rubyXL #{version}"
|
|
@@ -47,42 +46,42 @@ Rake::RDocTask.new do |rdoc|
|
|
|
47
46
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
48
47
|
end
|
|
49
48
|
|
|
50
|
-
desc
|
|
49
|
+
desc 'Dump profiling data with stackprof'
|
|
51
50
|
task :stackprof do
|
|
52
51
|
require 'benchmark'
|
|
53
52
|
require 'stackprof'
|
|
54
53
|
|
|
55
|
-
|
|
54
|
+
$LOAD_PATH.unshift File.dirname(__FILE__) + '/lib' # Make Ruby aware of load path
|
|
56
55
|
require './lib/rubyXL'
|
|
57
56
|
|
|
58
|
-
spreadsheets = Dir.glob(File.join(
|
|
57
|
+
spreadsheets = Dir.glob(File.join('test', 'input', '*.xls?')).sort!
|
|
59
58
|
|
|
60
59
|
spreadsheets.each { |input|
|
|
61
60
|
puts "<<<--- Profiling parsing of #{input}..."
|
|
62
61
|
doc = nil
|
|
63
|
-
StackProf.run(:mode => :cpu, :interval => 100,
|
|
64
|
-
:out => "tmp/stackprof-cpu-parse-#{File.basename(input)}.dump") {
|
|
62
|
+
StackProf.run(:mode => :cpu, :interval => 100,
|
|
63
|
+
:out => "tmp/stackprof-cpu-parse-#{File.basename(input)}.dump") {
|
|
65
64
|
doc = RubyXL::Parser.parse(input)
|
|
66
65
|
}
|
|
67
66
|
|
|
68
|
-
output = File.join(
|
|
69
|
-
puts
|
|
70
|
-
StackProf.run(:mode => :cpu, :interval => 100,
|
|
67
|
+
output = File.join('test', 'output', File.basename(input))
|
|
68
|
+
puts "--->>> Profiling writing of #{output}..."
|
|
69
|
+
StackProf.run(:mode => :cpu, :interval => 100,
|
|
71
70
|
:out => "tmp/stackprof-cpu-write-#{File.basename(input)}.dump") {
|
|
72
71
|
doc.write(output)
|
|
73
72
|
}
|
|
74
73
|
}
|
|
75
74
|
end
|
|
76
75
|
|
|
77
|
-
desc
|
|
76
|
+
desc 'Dump profiling data with ruby-prof'
|
|
78
77
|
task :rubyprof do
|
|
79
78
|
require 'benchmark'
|
|
80
79
|
require 'ruby-prof'
|
|
81
80
|
|
|
82
|
-
|
|
81
|
+
$LOAD_PATH.unshift File.dirname(__FILE__) + '/lib' # Make Ruby aware of load path
|
|
83
82
|
require './lib/rubyXL'
|
|
84
83
|
|
|
85
|
-
spreadsheets = Dir.glob(File.join(
|
|
84
|
+
spreadsheets = Dir.glob(File.join('test', 'input', '*.xls?')).sort!
|
|
86
85
|
|
|
87
86
|
spreadsheets.each { |input|
|
|
88
87
|
puts "<<<--- Profiling parsing of #{input}..."
|
|
@@ -93,8 +92,8 @@ task :rubyprof do
|
|
|
93
92
|
printer = RubyProf::CallStackPrinter.new(result)
|
|
94
93
|
File.open("tmp/ruby-prof-parse-#{File.basename(input)}.html", 'w') { |f| printer.print(f, {}) }
|
|
95
94
|
|
|
96
|
-
output = File.join(
|
|
97
|
-
puts
|
|
95
|
+
output = File.join('test', 'output', File.basename(input))
|
|
96
|
+
puts "--->>> Profiling writing of #{output}..."
|
|
98
97
|
result = RubyProf.profile {
|
|
99
98
|
doc.write(output)
|
|
100
99
|
}
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.4.
|
|
1
|
+
3.4.25
|
data/lib/rubyXL/cell.rb
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
module RubyXL
|
|
2
|
-
|
|
3
2
|
module LegacyCell
|
|
4
3
|
def workbook
|
|
5
4
|
@worksheet.workbook
|
|
@@ -7,7 +6,7 @@ module RubyXL
|
|
|
7
6
|
|
|
8
7
|
private
|
|
9
8
|
|
|
10
|
-
def validate_workbook
|
|
9
|
+
def validate_workbook
|
|
11
10
|
unless workbook.nil? || workbook.worksheets.nil?
|
|
12
11
|
workbook.worksheets.each { |sheet|
|
|
13
12
|
unless sheet.nil? || sheet.sheet_data.nil? || sheet.sheet_data[row].nil?
|
|
@@ -20,10 +19,9 @@ module RubyXL
|
|
|
20
19
|
raise "This cell #{self} is not in workbook #{workbook}"
|
|
21
20
|
end
|
|
22
21
|
|
|
23
|
-
def validate_worksheet
|
|
22
|
+
def validate_worksheet
|
|
24
23
|
return if @worksheet && @worksheet[row] && @worksheet[row][column].equal?(self)
|
|
25
24
|
raise "Cell #{self} is not in worksheet #{worksheet}"
|
|
26
25
|
end
|
|
27
|
-
|
|
28
26
|
end
|
|
29
27
|
end
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
module RubyXL
|
|
2
2
|
module CellConvenienceMethods
|
|
3
|
-
|
|
4
3
|
def change_contents(data, formula_expression = nil)
|
|
5
4
|
validate_worksheet
|
|
6
5
|
|
|
@@ -80,61 +79,61 @@ module RubyXL
|
|
|
80
79
|
self.style_index = workbook.modify_border_color(self.style_index, direction, color)
|
|
81
80
|
end
|
|
82
81
|
|
|
83
|
-
def is_italicized
|
|
82
|
+
def is_italicized
|
|
84
83
|
validate_worksheet
|
|
85
84
|
get_cell_font.is_italic
|
|
86
85
|
end
|
|
87
86
|
|
|
88
|
-
def is_bolded
|
|
87
|
+
def is_bolded
|
|
89
88
|
validate_worksheet
|
|
90
89
|
get_cell_font.is_bold
|
|
91
90
|
end
|
|
92
91
|
|
|
93
|
-
def is_underlined
|
|
92
|
+
def is_underlined
|
|
94
93
|
validate_worksheet
|
|
95
94
|
get_cell_font.is_underlined
|
|
96
95
|
end
|
|
97
96
|
|
|
98
|
-
def is_struckthrough
|
|
97
|
+
def is_struckthrough
|
|
99
98
|
validate_worksheet
|
|
100
99
|
get_cell_font.is_strikethrough
|
|
101
100
|
end
|
|
102
101
|
|
|
103
|
-
def font_name
|
|
102
|
+
def font_name
|
|
104
103
|
validate_worksheet
|
|
105
104
|
get_cell_font.get_name
|
|
106
105
|
end
|
|
107
106
|
|
|
108
|
-
def font_size
|
|
107
|
+
def font_size
|
|
109
108
|
validate_worksheet
|
|
110
109
|
get_cell_font.get_size
|
|
111
110
|
end
|
|
112
111
|
|
|
113
|
-
def font_color
|
|
112
|
+
def font_color
|
|
114
113
|
validate_worksheet
|
|
115
114
|
get_cell_font.get_rgb_color || '000000'
|
|
116
115
|
end
|
|
117
116
|
|
|
118
|
-
def fill_color
|
|
117
|
+
def fill_color
|
|
119
118
|
validate_worksheet
|
|
120
119
|
return workbook.get_fill_color(get_cell_xf)
|
|
121
120
|
end
|
|
122
121
|
|
|
123
|
-
def horizontal_alignment
|
|
122
|
+
def horizontal_alignment
|
|
124
123
|
validate_worksheet
|
|
125
124
|
xf_obj = get_cell_xf
|
|
126
125
|
return nil if xf_obj.alignment.nil?
|
|
127
126
|
xf_obj.alignment.horizontal
|
|
128
127
|
end
|
|
129
128
|
|
|
130
|
-
def vertical_alignment
|
|
129
|
+
def vertical_alignment
|
|
131
130
|
validate_worksheet
|
|
132
131
|
xf_obj = get_cell_xf
|
|
133
132
|
return nil if xf_obj.alignment.nil?
|
|
134
133
|
xf_obj.alignment.vertical
|
|
135
134
|
end
|
|
136
135
|
|
|
137
|
-
def text_wrap
|
|
136
|
+
def text_wrap
|
|
138
137
|
validate_worksheet
|
|
139
138
|
xf_obj = get_cell_xf
|
|
140
139
|
return nil if xf_obj.alignment.nil?
|
|
@@ -148,7 +147,7 @@ module RubyXL
|
|
|
148
147
|
xf_obj.alignment.text_rotation
|
|
149
148
|
end
|
|
150
149
|
|
|
151
|
-
def text_indent
|
|
150
|
+
def text_indent
|
|
152
151
|
validate_worksheet
|
|
153
152
|
xf_obj = get_cell_xf
|
|
154
153
|
return nil if xf_obj.alignment.nil?
|
|
@@ -254,23 +253,23 @@ module RubyXL
|
|
|
254
253
|
end
|
|
255
254
|
end
|
|
256
255
|
|
|
257
|
-
=
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
# define_attribute(:tooltip, :string)
|
|
264
|
-
# define_attribute(:display, :string)
|
|
256
|
+
def add_hyperlink(url, tooltip = nil)
|
|
257
|
+
worksheet.relationship_container ||= RubyXL::OOXMLRelationshipsFile.new
|
|
258
|
+
relationships = worksheet.relationship_container.relationships
|
|
259
|
+
r_id = "rId#{relationships.size + 1}"
|
|
260
|
+
relationships << RubyXL::Relationship.new(:id => r_id, :target => url, :target_mode => 'External',
|
|
261
|
+
:type => RubyXL::HyperlinkRelFile::REL_TYPE)
|
|
265
262
|
|
|
263
|
+
hyperlink = RubyXL::Hyperlink.new(:ref => self.r, :r_id => r_id)
|
|
264
|
+
hyperlink.tooltip = tooltip if tooltip
|
|
265
|
+
worksheet.hyperlinks ||= RubyXL::Hyperlinks.new
|
|
266
|
+
worksheet.hyperlinks << hyperlink
|
|
266
267
|
end
|
|
267
268
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
=end
|
|
273
|
-
|
|
269
|
+
# def add_shared_string(str)
|
|
270
|
+
# self.datatype = RubyXL::DataType::SHARED_STRING
|
|
271
|
+
# self.raw_value = @workbook.shared_strings_container.add(str)
|
|
272
|
+
# end
|
|
274
273
|
end
|
|
275
274
|
|
|
276
275
|
RubyXL::Cell.send(:include, RubyXL::CellConvenienceMethods) # ruby 2.1 compat
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
module RubyXL
|
|
2
2
|
module ColorConvenienceMethods
|
|
3
|
-
|
|
4
3
|
def get_rgb(workbook)
|
|
5
4
|
if rgb then
|
|
6
5
|
return rgb
|
|
@@ -13,7 +12,6 @@ module RubyXL
|
|
|
13
12
|
RubyXL::RgbColor.parse(color_value).to_hls.apply_tint(tint).to_rgb.to_s
|
|
14
13
|
end
|
|
15
14
|
end
|
|
16
|
-
|
|
17
15
|
end
|
|
18
16
|
|
|
19
17
|
module ColorConvenienceClasses
|
|
@@ -60,7 +58,7 @@ module RubyXL
|
|
|
60
58
|
end
|
|
61
59
|
|
|
62
60
|
def self.parse(str)
|
|
63
|
-
r, g, b, a = str.unpack(
|
|
61
|
+
r, g, b, a = str.unpack('A2A2A2A2')
|
|
64
62
|
|
|
65
63
|
rgb_color = RgbColor.new
|
|
66
64
|
rgb_color.r = r && r.to_i(16)
|
|
@@ -73,12 +71,11 @@ module RubyXL
|
|
|
73
71
|
|
|
74
72
|
def to_s
|
|
75
73
|
if a && a != 0 then
|
|
76
|
-
|
|
74
|
+
format('%02x%02x%02x%02x', r, g, b, a)
|
|
77
75
|
else
|
|
78
|
-
|
|
76
|
+
format('%02x%02x%02x', r, g, b)
|
|
79
77
|
end
|
|
80
78
|
end
|
|
81
|
-
|
|
82
79
|
end
|
|
83
80
|
|
|
84
81
|
class HlsColor
|
|
@@ -151,7 +148,6 @@ module RubyXL
|
|
|
151
148
|
|
|
152
149
|
self
|
|
153
150
|
end
|
|
154
|
-
|
|
155
151
|
end
|
|
156
152
|
end
|
|
157
153
|
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
module RubyXL
|
|
2
|
-
|
|
3
2
|
module WorkbookConvenienceMethods
|
|
4
|
-
|
|
5
3
|
def each
|
|
6
4
|
worksheets.each{ |i| yield i }
|
|
7
5
|
end
|
|
@@ -73,8 +71,8 @@ module RubyXL
|
|
|
73
71
|
def modify_fill(style_index, rgb)
|
|
74
72
|
xf = cell_xfs[style_index || 0].dup
|
|
75
73
|
new_fill = RubyXL::Fill.new(:pattern_fill =>
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
RubyXL::PatternFill.new(:pattern_type => 'solid',
|
|
75
|
+
:fg_color => RubyXL::Color.new(:rgb => rgb)))
|
|
78
76
|
register_new_xf(register_new_fill(new_fill, xf))
|
|
79
77
|
end
|
|
80
78
|
|
|
@@ -137,7 +135,6 @@ module RubyXL
|
|
|
137
135
|
def title=(v)
|
|
138
136
|
self.root.core_properties.dc_title = v && RubyXL::StringNode.new(:value => v)
|
|
139
137
|
end
|
|
140
|
-
|
|
141
138
|
end
|
|
142
139
|
|
|
143
140
|
RubyXL::Workbook.send(:include, RubyXL::WorkbookConvenienceMethods) # ruby 2.1 compat
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
module RubyXL
|
|
2
|
-
|
|
3
2
|
module WorksheetConvenienceMethods
|
|
4
3
|
NAME = 0
|
|
5
4
|
SIZE = 1
|
|
@@ -702,12 +701,12 @@ module RubyXL
|
|
|
702
701
|
# "Any double quote characters in the value should be escaped with another double quote.
|
|
703
702
|
# If the value does not contain a comma, newline or double quote, then the String value should be returned unchanged.
|
|
704
703
|
# If the value contains a comma, newline or double quote, then the String value should be returned enclosed in double quotes."
|
|
705
|
-
expr = '"' + list_arr.collect{|str| str.gsub('"', '""')}.join(',') + '"'
|
|
704
|
+
expr = '"' + list_arr.collect{ |str| str.gsub('"', '""') }.join(',') + '"'
|
|
706
705
|
self.data_validations ||= RubyXL::DataValidations.new
|
|
707
706
|
self.data_validations <<
|
|
708
|
-
RubyXL::DataValidation.new({:sqref
|
|
707
|
+
RubyXL::DataValidation.new({:sqref => RubyXL::Reference.new(ref),
|
|
709
708
|
:formula1 => RubyXL::Formula.new(:expression => expr),
|
|
710
|
-
:type
|
|
709
|
+
:type => 'list'})
|
|
711
710
|
end
|
|
712
711
|
end
|
|
713
712
|
|
|
@@ -2,7 +2,6 @@ require 'rubyXL/objects/ooxml_object'
|
|
|
2
2
|
require 'rubyXL/objects/simple_types'
|
|
3
3
|
|
|
4
4
|
module RubyXL
|
|
5
|
-
|
|
6
5
|
class BorderEdge < OOXMLObject
|
|
7
6
|
define_attribute(:style, RubyXL::ST_BorderStyle, :default => 'none')
|
|
8
7
|
define_child_node(RubyXL::Color)
|
|
@@ -68,7 +67,5 @@ module RubyXL
|
|
|
68
67
|
def self.default
|
|
69
68
|
self.new(:_ => [ RubyXL::Border.new ])
|
|
70
69
|
end
|
|
71
|
-
|
|
72
70
|
end
|
|
73
|
-
|
|
74
71
|
end
|
|
@@ -15,8 +15,8 @@ module RubyXL
|
|
|
15
15
|
|
|
16
16
|
# http://www.datypic.com/sc/ooxml/e-ssml_calcChain.html
|
|
17
17
|
class CalculationChain < OOXMLTopLevelObject
|
|
18
|
-
CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml'
|
|
19
|
-
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain'
|
|
18
|
+
CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml'.freeze
|
|
19
|
+
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/calcChain'.freeze
|
|
20
20
|
|
|
21
21
|
define_child_node(RubyXL::CalculationChainCell, :collection => true, :accessor => :cells)
|
|
22
22
|
define_child_node(RubyXL::ExtensionStorageArea)
|
|
@@ -2,11 +2,10 @@ require 'rubyXL/objects/ooxml_object'
|
|
|
2
2
|
require 'rubyXL/objects/simple_types'
|
|
3
3
|
|
|
4
4
|
module RubyXL
|
|
5
|
-
|
|
6
5
|
# http://www.datypic.com/sc/ooxml/e-ssml_cellStyle-1.html
|
|
7
6
|
class CellStyle < OOXMLObject
|
|
8
7
|
define_attribute(:name, :string)
|
|
9
|
-
define_attribute(:xfId, :int,
|
|
8
|
+
define_attribute(:xfId, :int, :required => true)
|
|
10
9
|
define_attribute(:builtinId, :int)
|
|
11
10
|
define_attribute(:iLevel, :int)
|
|
12
11
|
define_attribute(:hidden, :bool)
|
|
@@ -61,5 +60,4 @@ module RubyXL
|
|
|
61
60
|
define_attribute(:formatCode, :string, :required => true)
|
|
62
61
|
define_element_name 'numFmt'
|
|
63
62
|
end
|
|
64
|
-
|
|
65
63
|
end
|
|
@@ -5,7 +5,6 @@ require 'rubyXL/objects/relationships'
|
|
|
5
5
|
require 'rubyXL/objects/sheet_common'
|
|
6
6
|
|
|
7
7
|
module RubyXL
|
|
8
|
-
|
|
9
8
|
# http://www.datypic.com/sc/ooxml/e-ssml_sheetProtection-4.html
|
|
10
9
|
class ChartsheetProtection < OOXMLObject
|
|
11
10
|
define_attribute(:password, RubyXL::ST_UnsignedShortHex)
|
|
@@ -42,7 +41,7 @@ module RubyXL
|
|
|
42
41
|
class ChartsheetView < OOXMLObject
|
|
43
42
|
define_attribute(:tabSelected, :bool, :default => false)
|
|
44
43
|
define_attribute(:zoomScale, :int, :default => 100)
|
|
45
|
-
define_attribute(:workbookViewId, :int, :required => true, :default => 0
|
|
44
|
+
define_attribute(:workbookViewId, :int, :required => true, :default => 0)
|
|
46
45
|
define_attribute(:zoomToFit, :bool, :default => false)
|
|
47
46
|
define_child_node(RubyXL::ExtensionStorageArea)
|
|
48
47
|
define_element_name 'sheetView'
|
|
@@ -57,14 +56,13 @@ module RubyXL
|
|
|
57
56
|
|
|
58
57
|
# http://www.datypic.com/sc/ooxml/e-ssml_chartsheet.html
|
|
59
58
|
class Chartsheet < OOXMLTopLevelObject
|
|
60
|
-
CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml'
|
|
61
|
-
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet'
|
|
59
|
+
CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml'.freeze
|
|
60
|
+
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet'.freeze
|
|
62
61
|
|
|
63
62
|
include RubyXL::RelationshipSupport
|
|
64
63
|
define_relationship(RubyXL::DrawingFile)
|
|
65
64
|
|
|
66
|
-
attr_accessor :state, :rels
|
|
67
|
-
attr_accessor :workbook, :sheet_name, :sheet_id
|
|
65
|
+
attr_accessor :state, :rels, :workbook, :sheet_name, :sheet_id
|
|
68
66
|
|
|
69
67
|
define_child_node(RubyXL::ChartsheetProperties)
|
|
70
68
|
define_child_node(RubyXL::ChartsheetViews)
|
|
@@ -80,13 +78,11 @@ module RubyXL
|
|
|
80
78
|
define_child_node(RubyXL::WebPublishingItems)
|
|
81
79
|
define_child_node(RubyXL::ExtensionStorageArea)
|
|
82
80
|
define_element_name 'chartsheet'
|
|
83
|
-
set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main'
|
|
81
|
+
set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => nil,
|
|
84
82
|
'http://schemas.openxmlformats.org/officeDocument/2006/relationships' => 'r')
|
|
85
83
|
|
|
86
84
|
def xlsx_path
|
|
87
85
|
ROOT.join('xl', 'chartsheets', "sheet#{file_index}.xml")
|
|
88
86
|
end
|
|
89
|
-
|
|
90
87
|
end
|
|
91
|
-
|
|
92
88
|
end
|
data/lib/rubyXL/objects/color.rb
CHANGED
|
@@ -2,7 +2,6 @@ require 'rubyXL/objects/ooxml_object'
|
|
|
2
2
|
require 'rubyXL/objects/simple_types'
|
|
3
3
|
|
|
4
4
|
module RubyXL
|
|
5
|
-
|
|
6
5
|
# http://www.datypic.com/sc/ooxml/e-ssml_color-4.html
|
|
7
6
|
class Color < OOXMLObject
|
|
8
7
|
COLOR_REGEXP = /\A([a-f]|[A-F]|[0-9]){6}\Z/
|
|
@@ -14,7 +13,7 @@ module RubyXL
|
|
|
14
13
|
define_attribute(:tint, :double, :default => 0.0)
|
|
15
14
|
define_element_name 'color'
|
|
16
15
|
|
|
17
|
-
#validates hex color code, no '#' allowed
|
|
16
|
+
# validates hex color code, no '#' allowed
|
|
18
17
|
def self.validate_color(color)
|
|
19
18
|
if color =~ COLOR_REGEXP
|
|
20
19
|
return true
|
|
@@ -23,5 +22,4 @@ module RubyXL
|
|
|
23
22
|
end
|
|
24
23
|
end
|
|
25
24
|
end
|
|
26
|
-
|
|
27
25
|
end
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
require 'rubyXL/objects/ooxml_object'
|
|
2
2
|
|
|
3
3
|
module RubyXL
|
|
4
|
-
|
|
5
4
|
# http://www.datypic.com/sc/ooxml/e-ssml_col-1.html
|
|
6
5
|
class ColumnRange < OOXMLObject
|
|
7
6
|
define_attribute(:min, :uint, :required => true)
|
|
@@ -86,7 +85,5 @@ module RubyXL
|
|
|
86
85
|
self.sort_by!{ |r| r.min }
|
|
87
86
|
!(self.empty?)
|
|
88
87
|
end
|
|
89
|
-
|
|
90
88
|
end
|
|
91
|
-
|
|
92
89
|
end
|
|
@@ -2,7 +2,6 @@ require 'rubyXL/objects/ooxml_object'
|
|
|
2
2
|
require 'rubyXL/objects/extensions'
|
|
3
3
|
|
|
4
4
|
module RubyXL
|
|
5
|
-
|
|
6
5
|
# http://www.datypic.com/sc/ooxml/e-ssml_comment-1.html
|
|
7
6
|
class Comment < OOXMLObject
|
|
8
7
|
define_child_node(RubyXL::RichText, :node_name => 'text')
|
|
@@ -28,7 +27,7 @@ module RubyXL
|
|
|
28
27
|
# http://www.datypic.com/sc/ooxml/e-ssml_comments.html
|
|
29
28
|
class CommentsFile < OOXMLTopLevelObject
|
|
30
29
|
CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml'
|
|
31
|
-
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments'
|
|
30
|
+
REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments'.freeze
|
|
32
31
|
|
|
33
32
|
define_child_node(RubyXL::Authors)
|
|
34
33
|
define_child_node(RubyXL::CommentList)
|
|
@@ -41,7 +40,5 @@ module RubyXL
|
|
|
41
40
|
def xlsx_path
|
|
42
41
|
ROOT.join('xl', "comments#{file_index}.xml")
|
|
43
42
|
end
|
|
44
|
-
|
|
45
43
|
end
|
|
46
|
-
|
|
47
44
|
end
|