rubyXL 3.3.29 → 3.4.33
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 +5 -5
- data/.circleci/config.yml +60 -0
- data/.rubocop.yml +124 -0
- data/CHANGELOG.md +12 -0
- data/Gemfile +11 -8
- data/LICENSE.txt +1 -1
- data/README.rdoc +57 -19
- data/Rakefile +29 -29
- data/VERSION +1 -1
- data/lib/rubyXL/cell.rb +2 -29
- data/lib/rubyXL/convenience_methods/cell.rb +276 -0
- data/lib/rubyXL/convenience_methods/color.rb +156 -0
- data/lib/rubyXL/convenience_methods/font.rb +63 -0
- data/lib/rubyXL/convenience_methods/workbook.rb +137 -0
- data/lib/rubyXL/convenience_methods/worksheet.rb +734 -0
- data/lib/rubyXL/convenience_methods.rb +5 -1122
- data/lib/rubyXL/objects/border.rb +0 -3
- data/lib/rubyXL/objects/calculation_chain.rb +2 -2
- data/lib/rubyXL/objects/cell_style.rb +4 -6
- data/lib/rubyXL/objects/chartsheet.rb +8 -12
- data/lib/rubyXL/objects/color.rb +4 -6
- data/lib/rubyXL/objects/column_range.rb +16 -15
- data/lib/rubyXL/objects/comments.rb +1 -4
- data/lib/rubyXL/objects/connection.rb +175 -0
- 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 +2 -2
- data/lib/rubyXL/objects/document_properties.rb +12 -15
- data/lib/rubyXL/objects/extensions.rb +0 -2
- data/lib/rubyXL/objects/external_links.rb +38 -8
- data/lib/rubyXL/objects/fill.rb +2 -5
- data/lib/rubyXL/objects/filters.rb +5 -7
- data/lib/rubyXL/objects/font.rb +2 -7
- data/lib/rubyXL/objects/formula.rb +3 -5
- data/lib/rubyXL/objects/ooxml_object.rb +40 -31
- data/lib/rubyXL/objects/query_table.rb +106 -0
- data/lib/rubyXL/objects/reference.rb +26 -17
- data/lib/rubyXL/objects/relationships.rb +14 -14
- data/lib/rubyXL/objects/root.rb +0 -2
- data/lib/rubyXL/objects/shared_strings.rb +4 -7
- data/lib/rubyXL/objects/sheet_common.rb +1 -3
- data/lib/rubyXL/objects/sheet_data.rb +44 -17
- data/lib/rubyXL/objects/simple_types.rb +19 -2
- data/lib/rubyXL/objects/storage.rb +60 -49
- data/lib/rubyXL/objects/stylesheet.rb +9 -17
- data/lib/rubyXL/objects/text.rb +6 -8
- data/lib/rubyXL/objects/theme.rb +23 -9
- data/lib/rubyXL/objects/workbook.rb +144 -36
- data/lib/rubyXL/objects/worksheet.rb +48 -34
- data/lib/rubyXL/parser.rb +1 -3
- data/lib/rubyXL/worksheet.rb +86 -86
- data/lib/rubyXL.rb +1 -1
- data/rdoc/README_rdoc.html +212 -153
- data/rdoc/RubyXL/AExtension.html +33 -69
- data/rdoc/RubyXL/AExtensionStorageArea.html +12 -18
- data/rdoc/RubyXL/ActiveX.html +26 -52
- data/rdoc/RubyXL/ActiveXBinary.html +12 -23
- data/rdoc/RubyXL/AdjustHandleList.html +13 -20
- data/rdoc/RubyXL/Alignment.html +13 -20
- data/rdoc/RubyXL/AlternateContent.html +12 -18
- data/rdoc/RubyXL/AlternateUrls.html +99 -0
- data/rdoc/RubyXL/Authors.html +13 -20
- data/rdoc/RubyXL/AutoFilter.html +13 -20
- data/rdoc/RubyXL/AutoFilterColumn.html +13 -20
- data/rdoc/RubyXL/BinaryImageFile.html +12 -26
- data/rdoc/RubyXL/BodyProperties.html +13 -20
- data/rdoc/RubyXL/BooleanNode.html +12 -18
- data/rdoc/RubyXL/BooleanValue.html +12 -18
- data/rdoc/RubyXL/Border.html +49 -101
- data/rdoc/RubyXL/BorderEdge.html +32 -61
- data/rdoc/RubyXL/Borders.html +25 -44
- data/rdoc/RubyXL/Break.html +13 -20
- data/rdoc/RubyXL/BreakList.html +13 -20
- data/rdoc/RubyXL/CT_AdjPoint2D.html +13 -20
- data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +13 -20
- data/rdoc/RubyXL/CT_AlphaModulateEffect.html +13 -20
- data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +13 -20
- data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +13 -20
- data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +13 -20
- data/rdoc/RubyXL/CT_Backdrop.html +13 -20
- data/rdoc/RubyXL/CT_Bevel.html +13 -20
- data/rdoc/RubyXL/CT_BiLevelEffect.html +13 -20
- data/rdoc/RubyXL/CT_BlendEffect.html +13 -20
- data/rdoc/RubyXL/CT_Blip.html +13 -20
- data/rdoc/RubyXL/CT_BlipFillProperties.html +13 -20
- data/rdoc/RubyXL/CT_BlurEffect.html +13 -20
- data/rdoc/RubyXL/CT_Camera.html +13 -20
- data/rdoc/RubyXL/CT_Color.html +13 -20
- data/rdoc/RubyXL/CT_ColorChangeEffect.html +13 -20
- data/rdoc/RubyXL/CT_ColorMapping.html +13 -20
- data/rdoc/RubyXL/CT_ColorScheme.html +13 -20
- data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +13 -20
- data/rdoc/RubyXL/CT_ConnectionSite.html +13 -20
- data/rdoc/RubyXL/CT_ConnectionSiteList.html +13 -20
- data/rdoc/RubyXL/CT_DashStop.html +13 -20
- data/rdoc/RubyXL/CT_DashStopList.html +13 -20
- data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +13 -20
- data/rdoc/RubyXL/CT_DuotoneEffect.html +13 -20
- data/rdoc/RubyXL/CT_EffectContainer.html +13 -20
- data/rdoc/RubyXL/CT_EffectList.html +13 -20
- data/rdoc/RubyXL/CT_EffectReference.html +13 -20
- data/rdoc/RubyXL/CT_EffectStyleItem.html +13 -20
- data/rdoc/RubyXL/CT_EffectStyleList.html +13 -20
- data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +13 -20
- data/rdoc/RubyXL/CT_FillEffect.html +13 -20
- data/rdoc/RubyXL/CT_FillOverlayEffect.html +13 -20
- data/rdoc/RubyXL/CT_FillStyleList.html +13 -20
- data/rdoc/RubyXL/CT_FlatText.html +13 -20
- data/rdoc/RubyXL/CT_FontCollection.html +13 -20
- data/rdoc/RubyXL/CT_FontReference.html +13 -20
- data/rdoc/RubyXL/CT_GeomGuideList.html +13 -20
- data/rdoc/RubyXL/CT_GlowEffect.html +13 -20
- data/rdoc/RubyXL/CT_GradientFillProperties.html +13 -20
- data/rdoc/RubyXL/CT_GradientStop.html +13 -20
- data/rdoc/RubyXL/CT_GradientStopList.html +13 -20
- data/rdoc/RubyXL/CT_HSLEffect.html +13 -20
- data/rdoc/RubyXL/CT_HslColor.html +13 -20
- data/rdoc/RubyXL/CT_Hyperlink.html +13 -20
- data/rdoc/RubyXL/CT_InnerShadowEffect.html +13 -20
- data/rdoc/RubyXL/CT_LightRig.html +13 -20
- data/rdoc/RubyXL/CT_LineEndProperties.html +13 -20
- data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +13 -20
- data/rdoc/RubyXL/CT_LineProperties.html +13 -20
- data/rdoc/RubyXL/CT_LineStyleList.html +13 -20
- data/rdoc/RubyXL/CT_LinearShadeProperties.html +13 -20
- data/rdoc/RubyXL/CT_LuminanceEffect.html +13 -20
- data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +13 -20
- data/rdoc/RubyXL/CT_OuterShadowEffect.html +13 -20
- data/rdoc/RubyXL/CT_Path2D.html +13 -20
- data/rdoc/RubyXL/CT_Path2DArcTo.html +13 -20
- data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +13 -20
- data/rdoc/RubyXL/CT_Path2DList.html +13 -20
- data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +13 -20
- data/rdoc/RubyXL/CT_Path2DTo.html +13 -20
- data/rdoc/RubyXL/CT_PathShadeProperties.html +13 -20
- data/rdoc/RubyXL/CT_PatternFillProperties.html +13 -20
- data/rdoc/RubyXL/CT_Point3D.html +13 -20
- data/rdoc/RubyXL/CT_PolarAdjustHandle.html +13 -20
- data/rdoc/RubyXL/CT_PresetColor.html +13 -20
- data/rdoc/RubyXL/CT_PresetLineDashProperties.html +13 -20
- data/rdoc/RubyXL/CT_PresetShadowEffect.html +13 -20
- data/rdoc/RubyXL/CT_PresetTextShape.html +13 -20
- data/rdoc/RubyXL/CT_ReflectionEffect.html +13 -20
- data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +13 -20
- data/rdoc/RubyXL/CT_RelativeRect.html +13 -20
- data/rdoc/RubyXL/CT_SRgbColor.html +13 -20
- data/rdoc/RubyXL/CT_ScRgbColor.html +13 -20
- data/rdoc/RubyXL/CT_Scene3D.html +13 -20
- data/rdoc/RubyXL/CT_SchemeColor.html +13 -20
- data/rdoc/RubyXL/CT_Shape3D.html +13 -20
- data/rdoc/RubyXL/CT_ShapeStyle.html +13 -20
- data/rdoc/RubyXL/CT_SoftEdgesEffect.html +13 -20
- data/rdoc/RubyXL/CT_SphereCoords.html +13 -20
- data/rdoc/RubyXL/CT_StretchInfoProperties.html +13 -20
- data/rdoc/RubyXL/CT_StyleMatrix.html +13 -20
- data/rdoc/RubyXL/CT_StyleMatrixReference.html +13 -20
- data/rdoc/RubyXL/CT_SupplementalFont.html +13 -20
- data/rdoc/RubyXL/CT_SystemColor.html +13 -20
- data/rdoc/RubyXL/CT_TextAutonumberBullet.html +13 -20
- data/rdoc/RubyXL/CT_TextBlipBullet.html +13 -20
- data/rdoc/RubyXL/CT_TextCharBullet.html +13 -20
- data/rdoc/RubyXL/CT_TextCharacterProperties.html +13 -20
- data/rdoc/RubyXL/CT_TextFont.html +13 -20
- data/rdoc/RubyXL/CT_TextListStyle.html +13 -20
- data/rdoc/RubyXL/CT_TextNormalAutofit.html +13 -20
- data/rdoc/RubyXL/CT_TextParagraphProperties.html +13 -20
- data/rdoc/RubyXL/CT_TextSpacing.html +13 -20
- data/rdoc/RubyXL/CT_TextTabStop.html +13 -20
- data/rdoc/RubyXL/CT_TextTabStopList.html +13 -20
- data/rdoc/RubyXL/CT_TileInfoProperties.html +13 -20
- data/rdoc/RubyXL/CT_TintEffect.html +13 -20
- data/rdoc/RubyXL/CT_Transform2D.html +13 -20
- data/rdoc/RubyXL/CT_TransformEffect.html +13 -20
- data/rdoc/RubyXL/CT_Vector3D.html +13 -20
- data/rdoc/RubyXL/CT_XYAdjustHandle.html +13 -20
- data/rdoc/RubyXL/CalculationChain.html +23 -50
- data/rdoc/RubyXL/CalculationChainCell.html +13 -20
- data/rdoc/RubyXL/CalculationProperties.html +13 -20
- data/rdoc/RubyXL/Cell.html +210 -258
- data/rdoc/RubyXL/CellConvenienceMethods.html +438 -572
- data/rdoc/RubyXL/CellExt.html +13 -20
- data/rdoc/RubyXL/CellSmartTag.html +13 -20
- data/rdoc/RubyXL/CellSmartTagProperty.html +13 -20
- data/rdoc/RubyXL/CellSmartTags.html +13 -20
- data/rdoc/RubyXL/CellStyle.html +13 -20
- data/rdoc/RubyXL/CellStyleXFs.html +25 -44
- data/rdoc/RubyXL/CellStyles.html +25 -44
- data/rdoc/RubyXL/CellValue.html +24 -43
- data/rdoc/RubyXL/CellWatch.html +13 -20
- data/rdoc/RubyXL/CellWatches.html +13 -20
- data/rdoc/RubyXL/CellXFs.html +26 -48
- data/rdoc/RubyXL/ChartColorsFile.html +12 -26
- data/rdoc/RubyXL/ChartFile.html +25 -54
- data/rdoc/RubyXL/ChartStyleFile.html +12 -26
- data/rdoc/RubyXL/ChartUserShapesFile.html +12 -26
- data/rdoc/RubyXL/Chartsheet.html +26 -73
- data/rdoc/RubyXL/ChartsheetPageSetup.html +13 -20
- data/rdoc/RubyXL/ChartsheetProperties.html +13 -20
- data/rdoc/RubyXL/ChartsheetProtection.html +13 -20
- data/rdoc/RubyXL/ChartsheetView.html +13 -20
- data/rdoc/RubyXL/ChartsheetViews.html +13 -20
- data/rdoc/RubyXL/Color.html +24 -48
- data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +246 -0
- data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +285 -0
- data/rdoc/RubyXL/ColorConvenienceClasses.html +91 -0
- data/rdoc/RubyXL/ColorConvenienceMethods.html +139 -0
- data/rdoc/RubyXL/ColorFilter.html +13 -20
- data/rdoc/RubyXL/ColorScale.html +13 -20
- data/rdoc/RubyXL/ColorSet.html +13 -20
- data/rdoc/RubyXL/Colors.html +13 -20
- data/rdoc/RubyXL/ColumnRange.html +76 -91
- data/rdoc/RubyXL/ColumnRanges.html +54 -106
- data/rdoc/RubyXL/Comment.html +13 -20
- data/rdoc/RubyXL/CommentList.html +13 -20
- data/rdoc/RubyXL/CommentsFile.html +24 -56
- data/rdoc/RubyXL/ConditionalFormatValue.html +13 -20
- data/rdoc/RubyXL/ConditionalFormatting.html +13 -20
- data/rdoc/RubyXL/ConditionalFormattingRule.html +13 -20
- data/rdoc/RubyXL/Connection.html +99 -0
- data/rdoc/RubyXL/ConnectionTable.html +99 -0
- data/rdoc/RubyXL/ConnectionTables.html +99 -0
- data/rdoc/RubyXL/ConnectionTextField.html +99 -0
- data/rdoc/RubyXL/ConnectionTextFields.html +99 -0
- data/rdoc/RubyXL/Connections.html +149 -0
- data/rdoc/RubyXL/ContentTypeDefault.html +12 -18
- data/rdoc/RubyXL/ContentTypeOverride.html +12 -18
- data/rdoc/RubyXL/ContentTypes.html +35 -72
- data/rdoc/RubyXL/ControlPropertiesFile.html +14 -23
- data/rdoc/RubyXL/CorePropertiesFile.html +89 -208
- data/rdoc/RubyXL/CustomColor.html +13 -20
- data/rdoc/RubyXL/CustomColorList.html +13 -20
- data/rdoc/RubyXL/CustomFilter.html +13 -20
- data/rdoc/RubyXL/CustomFilters.html +13 -20
- data/rdoc/RubyXL/CustomGeometry.html +13 -20
- data/rdoc/RubyXL/CustomProperties.html +13 -20
- data/rdoc/RubyXL/CustomPropertiesFile.html +12 -26
- data/rdoc/RubyXL/CustomProperty.html +13 -20
- data/rdoc/RubyXL/CustomPropertyFile.html +108 -0
- data/rdoc/RubyXL/CustomSheetView.html +13 -20
- data/rdoc/RubyXL/CustomSheetViews.html +13 -20
- data/rdoc/RubyXL/CustomWorkbookView.html +13 -20
- data/rdoc/RubyXL/CustomWorkbookViews.html +13 -20
- data/rdoc/RubyXL/CustomXMLFile.html +12 -23
- data/rdoc/RubyXL/DXF.html +13 -20
- data/rdoc/RubyXL/DXFs.html +13 -20
- data/rdoc/RubyXL/DataBar.html +13 -20
- data/rdoc/RubyXL/DataConsolidate.html +13 -20
- data/rdoc/RubyXL/DataConsolidationReference.html +13 -20
- data/rdoc/RubyXL/DataConsolidationReferences.html +13 -20
- data/rdoc/RubyXL/DataType.html +11 -40
- data/rdoc/RubyXL/DataValidation.html +13 -20
- data/rdoc/RubyXL/DataValidations.html +13 -20
- data/rdoc/RubyXL/DateGroupItem.html +13 -20
- data/rdoc/RubyXL/DefinedName.html +13 -20
- data/rdoc/RubyXL/DefinedNameExt.html +13 -20
- data/rdoc/RubyXL/DefinedNames.html +13 -20
- data/rdoc/RubyXL/DefinedNamesExt.html +13 -20
- data/rdoc/RubyXL/DocumentPropertiesFile.html +34 -76
- data/rdoc/RubyXL/DrawingFile.html +25 -54
- data/rdoc/RubyXL/DynamicFilter.html +13 -20
- data/rdoc/RubyXL/EmbeddedControl.html +13 -20
- data/rdoc/RubyXL/EmbeddedControls.html +13 -20
- data/rdoc/RubyXL/Extension.html +13 -20
- data/rdoc/RubyXL/ExtensionStorageArea.html +13 -20
- data/rdoc/RubyXL/Extents.html +13 -20
- data/rdoc/RubyXL/ExternalBook.html +13 -20
- data/rdoc/RubyXL/ExternalLinksFile.html +25 -54
- data/rdoc/RubyXL/ExternalReference.html +13 -20
- data/rdoc/RubyXL/ExternalReferences.html +13 -20
- data/rdoc/RubyXL/ExtraColorSchemeList.html +13 -20
- data/rdoc/RubyXL/FieldItem.html +13 -20
- data/rdoc/RubyXL/FileRecoveryProperties.html +13 -20
- data/rdoc/RubyXL/FileSharing.html +13 -20
- data/rdoc/RubyXL/FileVersion.html +13 -20
- data/rdoc/RubyXL/Fill.html +25 -44
- data/rdoc/RubyXL/Fills.html +25 -44
- data/rdoc/RubyXL/FilterContainer.html +13 -20
- data/rdoc/RubyXL/FloatNode.html +12 -18
- data/rdoc/RubyXL/FloatValue.html +12 -18
- data/rdoc/RubyXL/Font.html +28 -64
- data/rdoc/RubyXL/FontConvenienceMethods.html +133 -294
- data/rdoc/RubyXL/FontScheme.html +13 -20
- data/rdoc/RubyXL/Fonts.html +25 -44
- data/rdoc/RubyXL/Formula.html +13 -20
- data/rdoc/RubyXL/FunctionGroup.html +13 -20
- data/rdoc/RubyXL/FunctionGroups.html +13 -20
- data/rdoc/RubyXL/GenericStorageObject.html +41 -98
- data/rdoc/RubyXL/GradientFill.html +13 -20
- data/rdoc/RubyXL/HeaderFooterSettings.html +13 -20
- data/rdoc/RubyXL/Hyperlink.html +13 -20
- data/rdoc/RubyXL/HyperlinkRelFile.html +12 -23
- data/rdoc/RubyXL/Hyperlinks.html +13 -20
- data/rdoc/RubyXL/IconFilter.html +13 -20
- data/rdoc/RubyXL/IconSet.html +13 -20
- data/rdoc/RubyXL/IgnoredError.html +13 -20
- data/rdoc/RubyXL/IgnoredErrors.html +13 -20
- data/rdoc/RubyXL/IndexedColors.html +13 -20
- data/rdoc/RubyXL/InputCells.html +13 -20
- data/rdoc/RubyXL/IntegerNode.html +12 -18
- data/rdoc/RubyXL/IntegerValue.html +12 -18
- data/rdoc/RubyXL/LegacyCell.html +20 -71
- data/rdoc/RubyXL/LegacyWorksheet.html +77 -126
- data/rdoc/RubyXL/MRUColors.html +13 -20
- data/rdoc/RubyXL/MacrosFile.html +12 -26
- data/rdoc/RubyXL/MergedCell.html +13 -20
- data/rdoc/RubyXL/MergedCells.html +13 -20
- data/rdoc/RubyXL/NumFmt.html +13 -20
- data/rdoc/RubyXL/NumberFormat.html +25 -44
- data/rdoc/RubyXL/NumberFormats.html +25 -50
- data/rdoc/RubyXL/OLEObject.html +13 -20
- data/rdoc/RubyXL/OLEObjectFile.html +12 -26
- data/rdoc/RubyXL/OLEObjects.html +13 -20
- data/rdoc/RubyXL/OLESize.html +13 -20
- data/rdoc/RubyXL/OOXMLContainerObject.html +72 -157
- data/rdoc/RubyXL/OOXMLIgnored.html +32 -62
- data/rdoc/RubyXL/OOXMLObject.html +15 -26
- data/rdoc/RubyXL/OOXMLObjectClassMethods.html +126 -203
- data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +104 -226
- data/rdoc/RubyXL/OOXMLRelationshipsFile.html +109 -242
- data/rdoc/RubyXL/OOXMLTopLevelObject.html +67 -154
- data/rdoc/RubyXL/OdbcOleDbProperties.html +99 -0
- data/rdoc/RubyXL/Offset.html +13 -20
- data/rdoc/RubyXL/OlapProperties.html +99 -0
- data/rdoc/RubyXL/OleItem.html +99 -0
- data/rdoc/RubyXL/OleItems.html +99 -0
- data/rdoc/RubyXL/OleLink.html +99 -0
- data/rdoc/RubyXL/OutlineProperties.html +13 -20
- data/rdoc/RubyXL/PageMargins.html +13 -20
- data/rdoc/RubyXL/PageSetup.html +13 -20
- data/rdoc/RubyXL/PageSetupProperties.html +13 -20
- data/rdoc/RubyXL/Pane.html +13 -20
- data/rdoc/RubyXL/Parser.html +35 -65
- data/rdoc/RubyXL/PatternFill.html +13 -20
- data/rdoc/RubyXL/PersonMetadata.html +108 -0
- data/rdoc/RubyXL/PhoneticProperties.html +13 -20
- data/rdoc/RubyXL/PhoneticRun.html +13 -20
- data/rdoc/RubyXL/PivotArea.html +13 -20
- data/rdoc/RubyXL/PivotCache.html +13 -20
- data/rdoc/RubyXL/PivotCacheDefinitionFile.html +14 -31
- data/rdoc/RubyXL/PivotCacheRecordsFile.html +12 -26
- data/rdoc/RubyXL/PivotCaches.html +13 -20
- data/rdoc/RubyXL/PivotReference.html +13 -20
- data/rdoc/RubyXL/PivotReferences.html +13 -20
- data/rdoc/RubyXL/PivotTableFile.html +14 -31
- data/rdoc/RubyXL/PivotTableSelection.html +13 -20
- data/rdoc/RubyXL/PresetGeometry.html +13 -20
- data/rdoc/RubyXL/PrintOptions.html +13 -20
- data/rdoc/RubyXL/PrinterSettingsFile.html +12 -26
- data/rdoc/RubyXL/ProtectedRange.html +13 -20
- data/rdoc/RubyXL/ProtectedRanges.html +13 -20
- data/rdoc/RubyXL/Protection.html +13 -20
- data/rdoc/RubyXL/QueryParameter.html +99 -0
- data/rdoc/RubyXL/QueryParameters.html +99 -0
- data/rdoc/RubyXL/QueryTable.html +157 -0
- data/rdoc/RubyXL/QueryTableDeletedField.html +99 -0
- data/rdoc/RubyXL/QueryTableDeletedFields.html +99 -0
- data/rdoc/RubyXL/QueryTableField.html +99 -0
- data/rdoc/RubyXL/QueryTableFields.html +99 -0
- data/rdoc/RubyXL/QueryTableRefresh.html +99 -0
- data/rdoc/RubyXL/RID.html +12 -18
- data/rdoc/RubyXL/RawOOXML.html +33 -69
- data/rdoc/RubyXL/Reference.html +156 -286
- data/rdoc/RubyXL/Relationship.html +12 -18
- data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +20 -37
- data/rdoc/RubyXL/RelationshipSupport.html +62 -145
- data/rdoc/RubyXL/RevisionPointer.html +13 -23
- data/rdoc/RubyXL/RichText.html +27 -45
- data/rdoc/RubyXL/RichTextRun.html +24 -43
- data/rdoc/RubyXL/Row.html +88 -205
- data/rdoc/RubyXL/RowExt.html +13 -20
- data/rdoc/RubyXL/RunProperties.html +13 -20
- data/rdoc/RubyXL/Scenario.html +13 -20
- data/rdoc/RubyXL/Scenarios.html +13 -20
- data/rdoc/RubyXL/Selection.html +23 -42
- data/rdoc/RubyXL/ShapeGuide.html +13 -20
- data/rdoc/RubyXL/ShapeTextRectangle.html +13 -20
- data/rdoc/RubyXL/SharedStringsTable.html +81 -177
- data/rdoc/RubyXL/Sheet.html +13 -20
- data/rdoc/RubyXL/SheetCalculationProperties.html +13 -20
- data/rdoc/RubyXL/SheetData.html +32 -62
- data/rdoc/RubyXL/SheetDataExt.html +13 -20
- data/rdoc/RubyXL/SheetDataSet.html +13 -20
- data/rdoc/RubyXL/SheetMetadata.html +108 -0
- data/rdoc/RubyXL/SheetName.html +13 -20
- data/rdoc/RubyXL/SheetNames.html +13 -20
- data/rdoc/RubyXL/Sheets.html +13 -20
- data/rdoc/RubyXL/SlicerCacheFile.html +12 -26
- data/rdoc/RubyXL/SlicerFile.html +12 -26
- data/rdoc/RubyXL/SmartTagProperties.html +13 -20
- data/rdoc/RubyXL/SmartTagType.html +13 -20
- data/rdoc/RubyXL/SmartTagTypes.html +13 -20
- data/rdoc/RubyXL/SmartTags.html +13 -20
- data/rdoc/RubyXL/SortCondition.html +13 -20
- data/rdoc/RubyXL/SortState.html +13 -20
- data/rdoc/RubyXL/Sqref.html +33 -63
- data/rdoc/RubyXL/Stop.html +13 -20
- data/rdoc/RubyXL/StringNode.html +12 -18
- data/rdoc/RubyXL/StringNodeW3C.html +33 -63
- data/rdoc/RubyXL/StringValue.html +12 -18
- data/rdoc/RubyXL/Stylesheet.html +65 -138
- data/rdoc/RubyXL/TableFile.html +12 -26
- data/rdoc/RubyXL/TableParts.html +12 -18
- data/rdoc/RubyXL/TableStyle.html +13 -20
- data/rdoc/RubyXL/TableStyles.html +13 -20
- data/rdoc/RubyXL/Text.html +35 -76
- data/rdoc/RubyXL/TextImportSettings.html +99 -0
- data/rdoc/RubyXL/Theme.html +72 -72
- data/rdoc/RubyXL/ThemeElements.html +13 -20
- data/rdoc/RubyXL/ThumbnailFile.html +12 -26
- data/rdoc/RubyXL/Top10.html +13 -20
- data/rdoc/RubyXL/VMLDrawingFile.html +15 -33
- data/rdoc/RubyXL/Variant.html +13 -20
- data/rdoc/RubyXL/Vector.html +24 -43
- data/rdoc/RubyXL/VectorValue.html +12 -18
- data/rdoc/RubyXL/VisualProperties.html +13 -20
- data/rdoc/RubyXL/WebPublishObject.html +13 -20
- data/rdoc/RubyXL/WebPublishObjects.html +13 -20
- data/rdoc/RubyXL/WebPublishingItem.html +13 -20
- data/rdoc/RubyXL/WebPublishingItems.html +13 -20
- data/rdoc/RubyXL/WebPublishingProperties.html +13 -20
- data/rdoc/RubyXL/WebQueryProperties.html +99 -0
- data/rdoc/RubyXL/Workbook.html +581 -266
- data/rdoc/RubyXL/WorkbookConvenienceMethods.html +226 -951
- data/rdoc/RubyXL/WorkbookProperties.html +13 -20
- data/rdoc/RubyXL/WorkbookProtection.html +13 -20
- data/rdoc/RubyXL/WorkbookRoot.html +58 -135
- data/rdoc/RubyXL/WorkbookView.html +13 -20
- data/rdoc/RubyXL/WorkbookViews.html +13 -20
- data/rdoc/RubyXL/Worksheet.html +122 -137
- data/rdoc/RubyXL/WorksheetConvenienceMethods.html +717 -1373
- data/rdoc/RubyXL/WorksheetDimensions.html +13 -20
- data/rdoc/RubyXL/WorksheetFormatProperties.html +12 -18
- data/rdoc/RubyXL/WorksheetProperties.html +13 -20
- data/rdoc/RubyXL/WorksheetProtection.html +13 -20
- data/rdoc/RubyXL/WorksheetView.html +13 -20
- data/rdoc/RubyXL/WorksheetViews.html +13 -20
- data/rdoc/RubyXL/XF.html +13 -20
- data/rdoc/RubyXL.html +46 -306
- data/rdoc/created.rid +45 -38
- data/rdoc/css/rdoc.css +109 -12
- data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/rdoc/index.html +403 -726
- data/rdoc/js/darkfish.js +33 -97
- data/rdoc/js/navigation.js +12 -49
- data/rdoc/js/navigation.js.gz +0 -0
- data/rdoc/js/search.js +35 -34
- data/rdoc/js/search_index.js +1 -1
- data/rdoc/js/search_index.js.gz +0 -0
- data/rdoc/js/searcher.js +6 -6
- data/rdoc/js/searcher.js.gz +0 -0
- data/rdoc/table_of_contents.html +287 -45
- data/rubyXL.gemspec +77 -43
- data/spec/lib/cell_spec.rb +119 -6
- data/spec/lib/color_spec.rb +9 -1
- data/spec/lib/parser_spec.rb +28 -28
- data/spec/lib/reference_spec.rb +41 -5
- data/spec/lib/rgb_color_spec.rb +29 -0
- data/spec/lib/stylesheet_spec.rb +10 -11
- data/spec/lib/text_spec.rb +4 -6
- data/spec/lib/workbook_spec.rb +31 -8
- data/spec/lib/worksheet_spec.rb +886 -480
- data/spec/spec_helper.rb +2 -0
- data/test/test_parse_write.rb +15 -15
- metadata +76 -10
- data/rdoc/js/jquery.js +0 -4
data/rdoc/README_rdoc.html
CHANGED
@@ -4,21 +4,23 @@
|
|
4
4
|
<head>
|
5
5
|
<meta charset="UTF-8">
|
6
6
|
|
7
|
-
<title>README - rubyXL 3.
|
7
|
+
<title>README - rubyXL 3.4.33</title>
|
8
8
|
|
9
9
|
<script type="text/javascript">
|
10
10
|
var rdoc_rel_prefix = "./";
|
11
11
|
var index_rel_prefix = "./";
|
12
12
|
</script>
|
13
13
|
|
14
|
-
<script src="./js/
|
15
|
-
<script src="./js/
|
14
|
+
<script src="./js/navigation.js" defer></script>
|
15
|
+
<script src="./js/search.js" defer></script>
|
16
|
+
<script src="./js/search_index.js" defer></script>
|
17
|
+
<script src="./js/searcher.js" defer></script>
|
18
|
+
<script src="./js/darkfish.js" defer></script>
|
16
19
|
|
17
20
|
<link href="./css/fonts.css" rel="stylesheet">
|
18
21
|
<link href="./css/rdoc.css" rel="stylesheet">
|
19
22
|
|
20
23
|
|
21
|
-
|
22
24
|
<body id="top" role="document" class="file">
|
23
25
|
<nav role="navigation">
|
24
26
|
<div id="project-navigation">
|
@@ -39,7 +41,7 @@
|
|
39
41
|
<div id="search-field-wrapper">
|
40
42
|
<input id="search-field" role="combobox" aria-label="Search"
|
41
43
|
aria-autocomplete="list" aria-controls="search-results"
|
42
|
-
type="text" name="search" placeholder="Search" spellcheck="false"
|
44
|
+
type="text" name="search" placeholder="Search (/) for a class, method, ..." spellcheck="false"
|
43
45
|
title="Type to search, Up and Down to navigate, Enter to load">
|
44
46
|
</div>
|
45
47
|
|
@@ -55,58 +57,112 @@
|
|
55
57
|
<div class="nav-section">
|
56
58
|
<h3>Table of Contents</h3>
|
57
59
|
|
60
|
+
|
61
|
+
|
58
62
|
<ul class="link-list" role="directory">
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
63
|
+
<li>
|
64
|
+
<details open>
|
65
|
+
<summary> <a href="#label-rubyXL">rubyXL</a>
|
66
|
+
</summary>
|
67
|
+
<ul class="link-list" role="directory">
|
68
|
+
<li> <a href="#label-To+Install-3A">To Install:</a>
|
69
|
+
<li>
|
70
|
+
<details open>
|
71
|
+
<summary> <a href="#label-To+Use-3A">To Use:</a>
|
72
|
+
</summary>
|
73
|
+
<ul class="link-list" role="directory">
|
74
|
+
<li> <a href="#label-Convenience+methods">Convenience methods</a>
|
75
|
+
<li> <a href="#label-Parsing+an+existing+workbook">Parsing an existing workbook</a>
|
76
|
+
<li> <a href="#label-Creating+a+new+Workbook">Creating a new Workbook</a>
|
77
|
+
<li>
|
78
|
+
<details open>
|
79
|
+
<summary> <a href="#label-Accessing">Accessing</a>
|
80
|
+
</summary>
|
81
|
+
<ul class="link-list" role="directory">
|
82
|
+
<li> <a href="#label-Accessing+a+Worksheet">Accessing a Worksheet</a>
|
83
|
+
<li> <a href="#label-Accessing+a+Row+-28Array+of+Cells-29">Accessing a Row (Array of Cells)</a>
|
84
|
+
<li> <a href="#label-Accessing+a+Cell+object">Accessing a Cell object</a>
|
85
|
+
<li> <a href="#label-Wrappers+for+accessing+Cell+properties">Wrappers for accessing Cell properties</a>
|
86
|
+
<li> <a href="#label-Wrappers+for+accessing+Row+properties+">Wrappers for accessing Row properties </a>
|
87
|
+
<li> <a href="#label-Accessing+column+properties">Accessing column properties</a>
|
88
|
+
|
89
|
+
</ul>
|
90
|
+
</details>
|
91
|
+
</li>
|
92
|
+
<li>
|
93
|
+
<details open>
|
94
|
+
<summary> <a href="#label-Modifying">Modifying</a>
|
95
|
+
</summary>
|
96
|
+
<ul class="link-list" role="directory">
|
97
|
+
<li> <a href="#label-Adding+Worksheets">Adding Worksheets</a>
|
98
|
+
<li> <a href="#label-Renaming+Worksheets">Renaming Worksheets</a>
|
99
|
+
<li> <a href="#label-Adding+Cells">Adding Cells</a>
|
100
|
+
<li> <a href="#label-Changing+Cells">Changing Cells</a>
|
101
|
+
<li> <a href="#label-Changing+Fonts">Changing Fonts</a>
|
102
|
+
<li> <a href="#label-Changing+Fills+++++">Changing Fills </a>
|
103
|
+
<li> <a href="#label-Changing+Borders">Changing Borders</a>
|
104
|
+
<li>
|
105
|
+
<details open>
|
106
|
+
<summary> <a href="#label-Changing+Alignment">Changing Alignment</a>
|
107
|
+
</summary>
|
108
|
+
<ul class="link-list" role="directory">
|
109
|
+
<li> <a href="#label-Horizontal">Horizontal</a>
|
110
|
+
<li> <a href="#label-Vertical">Vertical</a>
|
111
|
+
<li> <a href="#label-Rotation">Rotation</a>
|
112
|
+
|
113
|
+
</ul>
|
114
|
+
</details>
|
115
|
+
</li>
|
116
|
+
<li> <a href="#label-Changing+Row+Height">Changing Row Height</a>
|
117
|
+
<li> <a href="#label-Changing+Column+Width">Changing Column Width</a>
|
118
|
+
<li> <a href="#label-Merging+Cells">Merging Cells</a>
|
119
|
+
<li> <a href="#label-Insert+Row">Insert Row</a>
|
120
|
+
<li> <a href="#label-Insert+Column">Insert Column</a>
|
121
|
+
<li> <a href="#label-Delete+Row">Delete Row</a>
|
122
|
+
<li> <a href="#label-Delete+Column">Delete Column</a>
|
123
|
+
<li> <a href="#label-Insert+Cell">Insert Cell</a>
|
124
|
+
<li> <a href="#label-Delete+Cell">Delete Cell</a>
|
125
|
+
<li> <a href="#label-Modifying+Cell+Format">Modifying Cell Format</a>
|
126
|
+
<li> <a href="#label-Add+hyperlink+to+a+Cell">Add hyperlink to a Cell</a>
|
127
|
+
|
128
|
+
</ul>
|
129
|
+
</details>
|
130
|
+
</li>
|
131
|
+
|
132
|
+
</ul>
|
133
|
+
</details>
|
134
|
+
</li>
|
135
|
+
<li> <a href="#label-I-2FO">I/O</a>
|
136
|
+
<li>
|
137
|
+
<details open>
|
138
|
+
<summary> <a href="#label-Miscellaneous">Miscellaneous</a>
|
139
|
+
</summary>
|
140
|
+
<ul class="link-list" role="directory">
|
141
|
+
<li> <a href="#label-Suppress+warnings+about+malformed+input+files">Suppress warnings about malformed input files</a>
|
142
|
+
|
143
|
+
</ul>
|
144
|
+
</details>
|
145
|
+
</li>
|
146
|
+
<li> <a href="#label-Data+validation+-28colloquially+referred+to+as+-22dropdown+list-22-29">Data validation (colloquially referred to as “dropdown list”)</a>
|
147
|
+
<li> <a href="#label-For+more+information">For more information</a>
|
148
|
+
<li> <a href="#label-Contributing+to+rubyXL">Contributing to rubyXL</a>
|
149
|
+
<li> <a href="#label-Copyright">Copyright</a>
|
150
|
+
|
151
|
+
</ul>
|
152
|
+
</details>
|
153
|
+
</li>
|
154
|
+
|
98
155
|
</ul>
|
99
156
|
</div>
|
100
157
|
|
101
158
|
|
102
159
|
<div id="project-metadata">
|
103
|
-
|
160
|
+
|
161
|
+
<div id="fileindex-section" class="nav-section">
|
104
162
|
<h3>Pages</h3>
|
105
163
|
|
106
164
|
<ul class="link-list">
|
107
|
-
|
108
165
|
<li><a href="./README_rdoc.html">README</a>
|
109
|
-
|
110
166
|
</ul>
|
111
167
|
</div>
|
112
168
|
|
@@ -117,20 +173,11 @@
|
|
117
173
|
|
118
174
|
<h1 id="label-rubyXL">rubyXL<span><a href="#label-rubyXL">¶</a> <a href="#top">↑</a></span></h1>
|
119
175
|
|
120
|
-
<p><a href="http://badge.fury.io/rb/rubyXL"><img
|
121
|
-
src="https://badge.fury.io/rb/rubyXL.svg" alt="Gem Version" /></a> <a
|
122
|
-
href="https://codeclimate.com/github/weshatheleopard/rubyXL"><img
|
123
|
-
src="https://codeclimate.com/github/weshatheleopard/rubyXL.png" alt="Code
|
124
|
-
Climate" /></a></p>
|
176
|
+
<p><a href="http://badge.fury.io/rb/rubyXL"><img src="https://badge.fury.io/rb/rubyXL.svg"></a> <a href="https://codeclimate.com/github/weshatheleopard/rubyXL"><img src="https://codeclimate.com/github/weshatheleopard/rubyXL.png"></a> <a href="https://circleci.com/gh/weshatheleopard/rubyXL"><img src="https://circleci.com/gh/weshatheleopard/rubyXL.svg?style=svg"></a></p>
|
125
177
|
|
126
|
-
<p>This gem supports operating on <code>xlsx</code> files (Open XML format).
|
127
|
-
While it is capable of properly parsing the entire OOXML structure, its
|
128
|
-
current main emphasis is on reading files produced by MS Excel, making
|
129
|
-
minor modifications to them and saving them to be opened again, while
|
130
|
-
preserving as much of the structure as possible.</p>
|
178
|
+
<p>This gem supports operating on <code>xlsx</code> files (Open XML format). While it is capable of properly parsing the entire OOXML structure, its current main emphasis is on reading files produced by MS Excel, making minor modifications to them and saving them to be opened again, while preserving as much of the structure as possible.</p>
|
131
179
|
|
132
|
-
<p>Please note that proprietary binary <code>xls</code> format is
|
133
|
-
<strong>not</strong> supported.</p>
|
180
|
+
<p>Please note that proprietary binary <code>xls</code> format is <strong>not</strong> supported by this gem. If you need to parse those files, try <a href="https://github.com/zdavatz/spreadsheet">spreadsheet</a> gem.</p>
|
134
181
|
|
135
182
|
<h2 id="label-To+Install-3A">To Install:<span><a href="#label-To+Install-3A">¶</a> <a href="#top">↑</a></span></h2>
|
136
183
|
|
@@ -142,6 +189,22 @@ preserving as much of the structure as possible.</p>
|
|
142
189
|
<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>
|
143
190
|
</pre>
|
144
191
|
|
192
|
+
<h3 id="label-Convenience+methods">Convenience methods<span><a href="#label-Convenience+methods">¶</a> <a href="#top">↑</a></span></h3>
|
193
|
+
|
194
|
+
<p>Starting with version 3.4.0, the main data structure has been separated from the convenience methods that provide access to individual features of the <code>xlsx</code> format, in order to decrease the memory footprint. If you intend to use these features, you will need to additionally include the respective files:</p>
|
195
|
+
|
196
|
+
<pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">'rubyXL/convenience_methods/cell'</span>
|
197
|
+
<span class="ruby-identifier">require</span> <span class="ruby-string">'rubyXL/convenience_methods/color'</span>
|
198
|
+
<span class="ruby-identifier">require</span> <span class="ruby-string">'rubyXL/convenience_methods/font'</span>
|
199
|
+
<span class="ruby-identifier">require</span> <span class="ruby-string">'rubyXL/convenience_methods/workbook'</span>
|
200
|
+
<span class="ruby-identifier">require</span> <span class="ruby-string">'rubyXL/convenience_methods/worksheet'</span>
|
201
|
+
</pre>
|
202
|
+
|
203
|
+
<p>If you do not care about your RAM usage, just include them all at once by adding the following line to your code so it can continue operating just as before:</p>
|
204
|
+
|
205
|
+
<pre class="ruby"><span class="ruby-identifier">require</span> <span class="ruby-string">'rubyXL/convenience_methods'</span>
|
206
|
+
</pre>
|
207
|
+
|
145
208
|
<h3 id="label-Parsing+an+existing+workbook">Parsing an existing workbook<span><a href="#label-Parsing+an+existing+workbook">¶</a> <a href="#top">↑</a></span></h3>
|
146
209
|
|
147
210
|
<pre class="ruby"><span class="ruby-identifier">workbook</span> = <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Parser</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-string">"path/to/Excel/file.xlsx"</span>)
|
@@ -158,14 +221,12 @@ preserving as much of the structure as possible.</p>
|
|
158
221
|
|
159
222
|
<pre class="ruby"><span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">worksheets</span>[<span class="ruby-value">0</span>] <span class="ruby-comment"># Returns first worksheet</span>
|
160
223
|
<span class="ruby-identifier">workbook</span>[<span class="ruby-value">0</span>] <span class="ruby-comment"># Returns first worksheet</span>
|
161
|
-
<span class="ruby-identifier">workbook</span>[<span class="ruby-string">'Sheet1'</span>] <span class="ruby-comment"># Finds and returns worksheet titled "Sheet1"
|
224
|
+
<span class="ruby-identifier">workbook</span>[<span class="ruby-string">'Sheet1'</span>] <span class="ruby-comment"># Finds and returns worksheet titled "Sheet1". Note that sheet names in Excel are limited to 31 character.</span>
|
162
225
|
</pre>
|
163
226
|
|
164
227
|
<h4 id="label-Accessing+a+Row+-28Array+of+Cells-29">Accessing a Row (Array of Cells)<span><a href="#label-Accessing+a+Row+-28Array+of+Cells-29">¶</a> <a href="#top">↑</a></span></h4>
|
165
228
|
|
166
|
-
<p>Please note that worksheet is a <em>sparse</em> array of rows. Your code
|
167
|
-
<strong>must</strong> expect that any row it plucks from the array may be
|
168
|
-
<code>nil</code>.</p>
|
229
|
+
<p>Please note that worksheet is a <em>sparse</em> array of rows. Your code <strong>must</strong> expect that any row it plucks from the array may be <code>nil</code>.</p>
|
169
230
|
|
170
231
|
<pre class="ruby"><span class="ruby-identifier">worksheet</span> = <span class="ruby-identifier">workbook</span>[<span class="ruby-value">0</span>]
|
171
232
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_data</span>[<span class="ruby-value">0</span>] <span class="ruby-comment"># Returns first row of the worksheet</span>
|
@@ -174,13 +235,20 @@ preserving as much of the structure as possible.</p>
|
|
174
235
|
|
175
236
|
<h4 id="label-Accessing+a+Cell+object">Accessing a Cell object<span><a href="#label-Accessing+a+Cell+object">¶</a> <a href="#top">↑</a></span></h4>
|
176
237
|
|
177
|
-
<p>Please note that row is a <em>sparse</em> array of cells. Your code
|
178
|
-
<strong>must</strong> expect that any cell it plucks from the array may be
|
179
|
-
<code>nil</code>.</p>
|
238
|
+
<p>Please note that row is a <em>sparse</em> array of cells. Your code <strong>must</strong> expect that any cell it plucks from the array may be <code>nil</code>.</p>
|
180
239
|
|
181
240
|
<pre class="ruby"><span class="ruby-identifier">worksheet</span> = <span class="ruby-identifier">workbook</span>[<span class="ruby-value">0</span>]
|
182
241
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_data</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>] <span class="ruby-comment"># Returns cell A1 in the worksheet</span>
|
183
242
|
<span class="ruby-identifier">worksheet</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>] <span class="ruby-comment"># Returns cell A1 in the worksheet</span>
|
243
|
+
|
244
|
+
<span class="ruby-identifier">cell</span> = <span class="ruby-identifier">worksheet</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>]
|
245
|
+
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">value</span> <span class="ruby-comment"># Returns a properly converted value in the cell (if the file claims that the cell</span>
|
246
|
+
<span class="ruby-comment"># is holding a number, returns a respective Integer or Float, and so on).</span>
|
247
|
+
</pre>
|
248
|
+
|
249
|
+
<p>Or, if you prefer Excel-style references (single-cell only!)</p>
|
250
|
+
|
251
|
+
<pre class="ruby"><span class="ruby-identifier">cell</span> = <span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">cell_at</span>(<span class="ruby-string">'B11'</span>)
|
184
252
|
</pre>
|
185
253
|
|
186
254
|
<h4 id="label-Wrappers+for+accessing+Cell+properties">Wrappers for accessing Cell properties<span><a href="#label-Wrappers+for+accessing+Cell+properties">¶</a> <a href="#top">↑</a></span></h4>
|
@@ -193,14 +261,14 @@ preserving as much of the structure as possible.</p>
|
|
193
261
|
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">fill_color</span>
|
194
262
|
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">horizontal_alignment</span>
|
195
263
|
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">vertical_alignment</span>
|
196
|
-
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">get_border</span>(
|
197
|
-
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">get_border_color</span>(
|
264
|
+
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">get_border</span>(<span class="ruby-value">:top</span>)
|
265
|
+
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">get_border_color</span>(<span class="ruby-value">:top</span>)
|
266
|
+
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">text_rotation</span>
|
198
267
|
</pre>
|
199
268
|
|
200
269
|
<h4 id="label-Wrappers+for+accessing+Row+properties+">Wrappers for accessing Row properties <span><a href="#label-Wrappers+for+accessing+Row+properties+">¶</a> <a href="#top">↑</a></span></h4>
|
201
270
|
|
202
|
-
<p>Please note: these methods are being phased out in favor of the OOXML
|
203
|
-
object model.</p>
|
271
|
+
<p>Please note: these methods are being phased out in favor of the OOXML object model.</p>
|
204
272
|
|
205
273
|
<pre class="ruby"><span class="ruby-identifier">worksheet</span> = <span class="ruby-identifier">workbook</span>[<span class="ruby-value">0</span>]
|
206
274
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_fill</span>(<span class="ruby-value">0</span>)
|
@@ -211,14 +279,13 @@ object model.</p>
|
|
211
279
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_height</span>(<span class="ruby-value">0</span>)
|
212
280
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_alignment</span>(<span class="ruby-value">0</span>, <span class="ruby-keyword">true</span>)
|
213
281
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_alignment</span>(<span class="ruby-value">0</span>, <span class="ruby-keyword">false</span>)
|
214
|
-
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_border</span>(<span class="ruby-value">0</span>,
|
215
|
-
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_border_color</span>(<span class="ruby-value">0</span>,
|
282
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_border</span>(<span class="ruby-value">0</span>, <span class="ruby-value">:right</span>)
|
283
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_row_border_color</span>(<span class="ruby-value">0</span>, <span class="ruby-value">:right</span>)
|
216
284
|
</pre>
|
217
285
|
|
218
286
|
<h4 id="label-Accessing+column+properties">Accessing column properties<span><a href="#label-Accessing+column+properties">¶</a> <a href="#top">↑</a></span></h4>
|
219
287
|
|
220
|
-
<p>Please note: these methods are being phased out in favor of the OOXML
|
221
|
-
object model.</p>
|
288
|
+
<p>Please note: these methods are being phased out in favor of the OOXML object model.</p>
|
222
289
|
|
223
290
|
<pre class="ruby"><span class="ruby-identifier">worksheet</span> = <span class="ruby-identifier">workbook</span>[<span class="ruby-value">0</span>]
|
224
291
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_fill</span>(<span class="ruby-value">0</span>)
|
@@ -227,24 +294,10 @@ object model.</p>
|
|
227
294
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_font_color</span>(<span class="ruby-value">0</span>)
|
228
295
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">is_column_underlined</span>(<span class="ruby-value">0</span>)
|
229
296
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_width</span>(<span class="ruby-value">0</span>)
|
230
|
-
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_alignment</span>(<span class="ruby-value">0</span>,
|
231
|
-
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_alignment</span>(<span class="ruby-value">0</span>,
|
232
|
-
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_border</span>(<span class="ruby-value">0</span>,
|
233
|
-
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_border_color</span>(<span class="ruby-value">0</span>,
|
234
|
-
</pre>
|
235
|
-
|
236
|
-
<h4 id="label-Table+reading">Table reading<span><a href="#label-Table+reading">¶</a> <a href="#top">↑</a></span></h4>
|
237
|
-
|
238
|
-
<p>In order to discourage unnecessary reshuffling of data in memory, methods
|
239
|
-
<code>extract_data</code> and <code>get_table</code> are being deprecated.
|
240
|
-
You should access and iterate through rows and cells directly:</p>
|
241
|
-
|
242
|
-
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">row</span><span class="ruby-operator">|</span>
|
243
|
-
<span class="ruby-identifier">row</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">row</span>.<span class="ruby-identifier">cells</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">cell</span><span class="ruby-operator">|</span>
|
244
|
-
<span class="ruby-identifier">val</span> = <span class="ruby-identifier">cell</span> <span class="ruby-operator">&&</span> <span class="ruby-identifier">cell</span>.<span class="ruby-identifier">value</span>
|
245
|
-
<span class="ruby-identifier">do_whatever_you_want</span>(<span class="ruby-identifier">val</span>)
|
246
|
-
}
|
247
|
-
}
|
297
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_alignment</span>(<span class="ruby-value">0</span>, <span class="ruby-value">:horizontal</span>)
|
298
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_alignment</span>(<span class="ruby-value">0</span>, <span class="ruby-value">:vertical</span>)
|
299
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_border</span>(<span class="ruby-value">0</span>, <span class="ruby-value">:right</span>)
|
300
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">get_column_border_color</span>(<span class="ruby-value">0</span>, <span class="ruby-value">:right</span>)
|
248
301
|
</pre>
|
249
302
|
|
250
303
|
<h3 id="label-Modifying">Modifying<span><a href="#label-Modifying">¶</a> <a href="#top">↑</a></span></h3>
|
@@ -256,7 +309,7 @@ You should access and iterate through rows and cells directly:</p>
|
|
256
309
|
|
257
310
|
<h4 id="label-Renaming+Worksheets">Renaming Worksheets<span><a href="#label-Renaming+Worksheets">¶</a> <a href="#top">↑</a></span></h4>
|
258
311
|
|
259
|
-
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_name</span> = <span class="ruby-string">'Cool New Name'</span>
|
312
|
+
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_name</span> = <span class="ruby-string">'Cool New Name'</span> <span class="ruby-comment"># Note that sheet name is limited to 31 characters by Excel.</span>
|
260
313
|
</pre>
|
261
314
|
|
262
315
|
<h4 id="label-Adding+Cells">Adding Cells<span><a href="#label-Adding+Cells">¶</a> <a href="#top">↑</a></span></h4>
|
@@ -288,35 +341,43 @@ You should access and iterate through rows and cells directly:</p>
|
|
288
341
|
|
289
342
|
<pre class="ruby"><span class="ruby-comment"># Possible weights: hairline, thin, medium, thick</span>
|
290
343
|
<span class="ruby-comment"># Possible "directions": top, bottom, left, right, diagonal</span>
|
291
|
-
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_data</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>].<span class="ruby-identifier">change_border</span>(
|
292
|
-
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_row_border</span>(<span class="ruby-value">0</span>,
|
293
|
-
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_column_border</span>(<span class="ruby-value">0</span>,
|
344
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_data</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>].<span class="ruby-identifier">change_border</span>(<span class="ruby-value">:top</span>, <span class="ruby-string">'thin'</span>) <span class="ruby-comment"># Sets A1 to have a top, thin border</span>
|
345
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_row_border</span>(<span class="ruby-value">0</span>, <span class="ruby-value">:left</span>, <span class="ruby-string">'hairline'</span>) <span class="ruby-comment"># Sets first row to have a left, hairline border</span>
|
346
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_column_border</span>(<span class="ruby-value">0</span>, <span class="ruby-value">:diagonal</span>, <span class="ruby-string">'medium'</span>) <span class="ruby-comment"># Sets first column to have diagonal, medium border</span>
|
294
347
|
|
295
348
|
<span class="ruby-comment"># Set the border style first so there's something to color.</span>
|
296
|
-
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_row_border_color</span>(<span class="ruby-value">0</span>,
|
297
|
-
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_column_border_color</span>(<span class="ruby-value">0</span>,
|
349
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_row_border_color</span>(<span class="ruby-value">0</span>, <span class="ruby-value">:top</span>, <span class="ruby-string">'0ba53d'</span>) <span class="ruby-comment"># Sets first row to have a green top border</span>
|
350
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_column_border_color</span>(<span class="ruby-value">0</span>, <span class="ruby-value">:top</span>, <span class="ruby-string">'0ba53d'</span>) <span class="ruby-comment"># Sets first column to have a green top border</span>
|
298
351
|
</pre>
|
299
352
|
|
300
353
|
<h4 id="label-Changing+Alignment">Changing Alignment<span><a href="#label-Changing+Alignment">¶</a> <a href="#top">↑</a></span></h4>
|
301
354
|
|
302
355
|
<h5 id="label-Horizontal">Horizontal<span><a href="#label-Horizontal">¶</a> <a href="#top">↑</a></span></h5>
|
303
356
|
|
304
|
-
<
|
305
|
-
|
306
|
-
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_data</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>].<span class="ruby-identifier">change_horizontal_alignment</span>(<span class="ruby-string">'center'</span>) <span class="ruby-comment"># Sets A1 to be centered</span>
|
357
|
+
<pre class="ruby"><span class="ruby-comment"># Possible alignments: center, distributed, justify, left, right</span>
|
358
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_data</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>].<span class="ruby-identifier">change_horizontal_alignment</span>(<span class="ruby-string">'center'</span>) <span class="ruby-comment"># Sets A1 to be centered</span>
|
307
359
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_row_horizontal_alignment</span>(<span class="ruby-value">0</span>, <span class="ruby-string">'justify'</span>) <span class="ruby-comment"># Sets first row to be justified</span>
|
308
360
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_column_horizontal_alignment</span>(<span class="ruby-value">0</span>, <span class="ruby-string">'right'</span>) <span class="ruby-comment"># Sets first column to be right-aligned</span>
|
309
361
|
</pre>
|
310
362
|
|
311
363
|
<h5 id="label-Vertical">Vertical<span><a href="#label-Vertical">¶</a> <a href="#top">↑</a></span></h5>
|
312
364
|
|
313
|
-
<
|
314
|
-
|
315
|
-
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_data</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>].<span class="ruby-identifier">change_vertical_alignment</span>(<span class="ruby-string">'bottom'</span>) <span class="ruby-comment"># Sets A1 to be bottom aligned</span>
|
365
|
+
<pre class="ruby"><span class="ruby-comment"># Possible alignments: bottom, center, distributed, top</span>
|
366
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_data</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>].<span class="ruby-identifier">change_vertical_alignment</span>(<span class="ruby-string">'bottom'</span>) <span class="ruby-comment"># Sets A1 to be bottom aligned</span>
|
316
367
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_row_vertical_alignment</span>(<span class="ruby-value">0</span>, <span class="ruby-string">'distributed'</span>) <span class="ruby-comment"># Sets first row to be distributed vertically</span>
|
317
368
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_column_vertical_alignment</span>(<span class="ruby-value">0</span>, <span class="ruby-string">'top'</span>) <span class="ruby-comment"># Sets first column to be top aligned</span>
|
318
369
|
</pre>
|
319
370
|
|
371
|
+
<h5 id="label-Rotation">Rotation<span><a href="#label-Rotation">¶</a> <a href="#top">↑</a></span></h5>
|
372
|
+
|
373
|
+
<pre class="ruby"><span class="ruby-comment"># Possible values:</span>
|
374
|
+
<span class="ruby-comment"># * 0-90 - degrees counterclockwise, around the bottom LEFT corner of the cell;</span>
|
375
|
+
<span class="ruby-comment"># * 91-179 - degrees clockwise, around the bottom RIGHT corner of the cell;</span>
|
376
|
+
<span class="ruby-comment"># * 180-254 - degrees clockwise, around the bottom LEFT corner of the cell, text becomes progressively invisible</span>
|
377
|
+
<span class="ruby-comment"># * 255 - text is in normal rotation but displayed vertically (one letter under another), line feed starts new line to the right of the previous.</span>
|
378
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">sheet_data</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>].<span class="ruby-identifier">change_text_rotation</span>(<span class="ruby-value">90</span>) <span class="ruby-comment"># Sets A1 to be rotated by 90 degrees</span>
|
379
|
+
</pre>
|
380
|
+
|
320
381
|
<h4 id="label-Changing+Row+Height">Changing Row Height<span><a href="#label-Changing+Row+Height">¶</a> <a href="#top">↑</a></span></h4>
|
321
382
|
|
322
383
|
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">change_row_height</span>(<span class="ruby-value">0</span>, <span class="ruby-value">30</span>) <span class="ruby-comment"># Sets first row height to 30</span>
|
@@ -329,79 +390,65 @@ You should access and iterate through rows and cells directly:</p>
|
|
329
390
|
|
330
391
|
<h4 id="label-Merging+Cells">Merging Cells<span><a href="#label-Merging+Cells">¶</a> <a href="#top">↑</a></span></h4>
|
331
392
|
|
332
|
-
<pre
|
333
|
-
|
393
|
+
<pre>worksheet.merge_cells(0, 1, 2, 3) # Merges B1:D3
|
394
|
+
worksheet.merge_cells('A2:C4') # Merges A2:C4
|
395
|
+
worksheet.merge_cells(row_from: 0, row_to: 1, col_from 2:, col_to: 3) # Merges C1:D2</pre>
|
334
396
|
|
335
397
|
<h4 id="label-Insert+Row">Insert Row<span><a href="#label-Insert+Row">¶</a> <a href="#top">↑</a></span></h4>
|
336
398
|
|
337
|
-
<p>This method will insert a row at specified index, pushing all rows below it
|
338
|
-
down. It also copies styles from row above.</p>
|
399
|
+
<p>This method will insert a row at specified index, pushing all rows below it down. It also copies styles from row above.</p>
|
339
400
|
|
340
|
-
<p>WARNING: Use of this method WILL break formulas referencing cells which
|
341
|
-
have been moved, as the formulas do not adapt to the shifted rows</p>
|
401
|
+
<p>WARNING: Use of this method WILL break formulas referencing cells which have been moved, as the formulas do not adapt to the shifted rows</p>
|
342
402
|
|
343
403
|
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">insert_row</span>(<span class="ruby-value">1</span>)
|
344
404
|
</pre>
|
345
405
|
|
346
406
|
<h4 id="label-Insert+Column">Insert Column<span><a href="#label-Insert+Column">¶</a> <a href="#top">↑</a></span></h4>
|
347
407
|
|
348
|
-
<p>This method will insert a column at specified index, pushing all columns to
|
349
|
-
the right of it one to the right. It also copies styles from column to the
|
350
|
-
left</p>
|
408
|
+
<p>This method will insert a column at specified index, pushing all columns to the right of it one to the right. It also copies styles from column to the left</p>
|
351
409
|
|
352
|
-
<p>WARNING: Use of this method WILL break formulas referencing cells which
|
353
|
-
have been moved, as the formulas do not adapt to the shifted columns</p>
|
410
|
+
<p>WARNING: Use of this method WILL break formulas referencing cells which have been moved, as the formulas do not adapt to the shifted columns</p>
|
354
411
|
|
355
412
|
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">insert_column</span>(<span class="ruby-value">1</span>)
|
356
413
|
</pre>
|
357
414
|
|
358
415
|
<h4 id="label-Delete+Row">Delete Row<span><a href="#label-Delete+Row">¶</a> <a href="#top">↑</a></span></h4>
|
359
416
|
|
360
|
-
<p>This method will delete a row at specified index, pushing all rows below it
|
361
|
-
up.</p>
|
417
|
+
<p>This method will delete a row at specified index, pushing all rows below it up.</p>
|
362
418
|
|
363
|
-
<p>WARNING: Use of this method WILL break formulas referencing cells which
|
364
|
-
have been moved, as the formulas do not adapt to the shifted rows</p>
|
419
|
+
<p>WARNING: Use of this method WILL break formulas referencing cells which have been moved, as the formulas do not adapt to the shifted rows</p>
|
365
420
|
|
366
421
|
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">delete_row</span>(<span class="ruby-value">1</span>)
|
367
422
|
</pre>
|
368
423
|
|
369
424
|
<h4 id="label-Delete+Column">Delete Column<span><a href="#label-Delete+Column">¶</a> <a href="#top">↑</a></span></h4>
|
370
425
|
|
371
|
-
<p>This method will delete a column at specified index, pushing all columns to
|
372
|
-
the right of it left.</p>
|
426
|
+
<p>This method will delete a column at specified index, pushing all columns to the right of it left.</p>
|
373
427
|
|
374
|
-
<p>WARNING: Use of this method WILL break formulas referencing cells which
|
375
|
-
have been moved, as the formulas do not adapt to the shifted columns</p>
|
428
|
+
<p>WARNING: Use of this method WILL break formulas referencing cells which have been moved, as the formulas do not adapt to the shifted columns</p>
|
376
429
|
|
377
430
|
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">delete_column</span>(<span class="ruby-value">1</span>)
|
378
431
|
</pre>
|
379
432
|
|
380
433
|
<h4 id="label-Insert+Cell">Insert Cell<span><a href="#label-Insert+Cell">¶</a> <a href="#top">↑</a></span></h4>
|
381
434
|
|
382
|
-
<p>This method will insert a cell at specified position. It takes a :right or
|
383
|
-
:down option, to shift cells either left or down upon inserting (nil means
|
384
|
-
replacing the cell)</p>
|
435
|
+
<p>This method will insert a cell at specified position. It takes a :right or :down option, to shift cells either left or down upon inserting (nil means replacing the cell)</p>
|
385
436
|
|
386
|
-
<p>WARNING: Use of this method WILL break formulas referencing cells which
|
387
|
-
have been moved, as the formulas do not adapt to the shifted cells</p>
|
437
|
+
<p>WARNING: Use of this method WILL break formulas referencing cells which have been moved, as the formulas do not adapt to the shifted cells</p>
|
388
438
|
|
389
|
-
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">insert_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-string">"blah"</span>, <span class="ruby-identifier">formula</span> = <span class="ruby-keyword">nil</span>,
|
390
|
-
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">insert_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-string">"blah"</span>, <span class="ruby-identifier">formula</span> = <span class="ruby-keyword">nil</span>,
|
439
|
+
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">insert_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-string">"blah"</span>, <span class="ruby-identifier">formula</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-value">:right</span>) <span class="ruby-comment"># Inserts cell at A1, shifts cells in first row right</span>
|
440
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">insert_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-string">"blah"</span>, <span class="ruby-identifier">formula</span> = <span class="ruby-keyword">nil</span>, <span class="ruby-value">:down</span>) <span class="ruby-comment"># Inserts cell at A1, shifts cells in first column down</span>
|
391
441
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">insert_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-string">"blah"</span>) <span class="ruby-comment"># Inserts cell at A1, shifts nothing</span>
|
392
442
|
</pre>
|
393
443
|
|
394
444
|
<h4 id="label-Delete+Cell">Delete Cell<span><a href="#label-Delete+Cell">¶</a> <a href="#top">↑</a></span></h4>
|
395
445
|
|
396
|
-
<p>This method will delete a cell at specified position. It takes a :left or
|
397
|
-
:up option, to shift cells either up or left upon deletion (nil means
|
398
|
-
simply deleting the cell contents)</p>
|
446
|
+
<p>This method will delete a cell at specified position. It takes a :left or :up option, to shift cells either up or left upon deletion (nil means simply deleting the cell contents)</p>
|
399
447
|
|
400
|
-
<p>WARNING: Use of this method WILL break formulas referencing cells which
|
401
|
-
have been moved, as the formulas do not adapt to the shifted cells</p>
|
448
|
+
<p>WARNING: Use of this method WILL break formulas referencing cells which have been moved, as the formulas do not adapt to the shifted cells</p>
|
402
449
|
|
403
|
-
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">delete_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>,
|
404
|
-
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">delete_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>,
|
450
|
+
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">delete_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">:left</span>) <span class="ruby-comment"># Deletes A1, shifts contents of first row left</span>
|
451
|
+
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">delete_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>, <span class="ruby-value">:up</span>) <span class="ruby-comment"># Deletes A1, shifts contents of first column up</span>
|
405
452
|
<span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">delete_cell</span>(<span class="ruby-value">0</span>, <span class="ruby-value">0</span>) <span class="ruby-comment"># Deletes A1, does not shift cells</span>
|
406
453
|
</pre>
|
407
454
|
|
@@ -409,6 +456,15 @@ have been moved, as the formulas do not adapt to the shifted cells</p>
|
|
409
456
|
|
410
457
|
<pre class="ruby"><span class="ruby-identifier">cell</span> = <span class="ruby-identifier">worksheet</span>[<span class="ruby-value">0</span>][<span class="ruby-value">0</span>]
|
411
458
|
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">set_number_format</span> <span class="ruby-string">'0.0000%'</span> <span class="ruby-comment"># For formats, see https://support.office.com/en-us/article/5026bbd6-04bc-48cd-bf33-80f18b4eae68</span>
|
459
|
+
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">change_text_wrap</span>(<span class="ruby-keyword">true</span>) <span class="ruby-comment"># Makes the text in the cell to wrap.</span>
|
460
|
+
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">change_shrink_to_fit</span>(<span class="ruby-keyword">true</span>) <span class="ruby-comment"># Makes the text in the cell to shrink to fit.</span>
|
461
|
+
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">change_text_indent</span>(<span class="ruby-value">1</span>) <span class="ruby-comment"># Indents the text in the cell by 1 level</span>
|
462
|
+
</pre>
|
463
|
+
|
464
|
+
<h4 id="label-Add+hyperlink+to+a+Cell">Add hyperlink to a Cell<span><a href="#label-Add+hyperlink+to+a+Cell">¶</a> <a href="#top">↑</a></span></h4>
|
465
|
+
|
466
|
+
<pre class="ruby"><span class="ruby-identifier">cell</span>.<span class="ruby-identifier">add_hyperlink</span>(<span class="ruby-string">'http://example.com'</span>)
|
467
|
+
<span class="ruby-identifier">cell</span>.<span class="ruby-identifier">add_hyperlink</span>(<span class="ruby-string">'http://example.com'</span>, <span class="ruby-string">'Some tooltip text'</span>)
|
412
468
|
</pre>
|
413
469
|
|
414
470
|
<h2 id="label-I-2FO">I/O<span><a href="#label-I-2FO">¶</a> <a href="#top">↑</a></span></h2>
|
@@ -419,9 +475,7 @@ have been moved, as the formulas do not adapt to the shifted cells</p>
|
|
419
475
|
<span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">write</span>(<span class="ruby-string">"path/to/desired/Excel/file.xlsx"</span>)
|
420
476
|
</pre>
|
421
477
|
|
422
|
-
<p>It can also operate on <code>StringIO</code> objects, thus eliminating the
|
423
|
-
need to save the <code>xlsx</code> file to disk. This capability comes in
|
424
|
-
handy for web servers.</p>
|
478
|
+
<p>It can also operate on <code>StringIO</code> objects, thus eliminating the need to save the <code>xlsx</code> file to disk. This capability comes in handy for web servers.</p>
|
425
479
|
|
426
480
|
<pre class="ruby"><span class="ruby-identifier">workbook</span> = <span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Parser</span>.<span class="ruby-identifier">parse_buffer</span>(<span class="ruby-identifier">buffer</span>)
|
427
481
|
<span class="ruby-identifier">workbook</span>.<span class="ruby-identifier">stream</span>
|
@@ -433,17 +487,25 @@ handy for web servers.</p>
|
|
433
487
|
<span class="ruby-constant">RubyXL</span><span class="ruby-operator">::</span><span class="ruby-constant">Reference</span>.<span class="ruby-identifier">ref2ind</span>(<span class="ruby-string">'A1'</span>) <span class="ruby-operator">==</span> [<span class="ruby-value">0</span>, <span class="ruby-value">0</span>] <span class="ruby-comment"># Converts Excel-style cell reference to row and column index</span>
|
434
488
|
</pre>
|
435
489
|
|
490
|
+
<h3 id="label-Suppress+warnings+about+malformed+input+files">Suppress warnings about malformed input files<span><a href="#label-Suppress+warnings+about+malformed+input+files">¶</a> <a href="#top">↑</a></span></h3>
|
491
|
+
|
492
|
+
<pre class="ruby"><span class="ruby-constant">RubyXL</span>.<span class="ruby-identifier">class_variable_set</span>(<span class="ruby-value">:@@suppress_warnings</span>, <span class="ruby-keyword">true</span>)
|
493
|
+
</pre>
|
494
|
+
|
495
|
+
<h2 id="label-Data+validation+-28colloquially+referred+to+as+-22dropdown+list-22-29">Data validation (colloquially referred to as “dropdown list”)<span><a href="#label-Data+validation+-28colloquially+referred+to+as+-22dropdown+list-22-29">¶</a> <a href="#top">↑</a></span></h2>
|
496
|
+
|
497
|
+
<pre class="ruby"><span class="ruby-identifier">worksheet</span>.<span class="ruby-identifier">add_validation_list</span>(<span class="ruby-string">"A1"</span>, [ <span class="ruby-string">"value1"</span>, <span class="ruby-string">"value2"</span> ])
|
498
|
+
</pre>
|
499
|
+
|
436
500
|
<h2 id="label-For+more+information">For more information<span><a href="#label-For+more+information">¶</a> <a href="#top">↑</a></span></h2>
|
437
501
|
|
438
502
|
<p>Take a look at the files in spec/lib/ for rspecs on most methods</p>
|
439
503
|
|
440
504
|
<h2 id="label-Contributing+to+rubyXL">Contributing to rubyXL<span><a href="#label-Contributing+to+rubyXL">¶</a> <a href="#top">↑</a></span></h2>
|
441
505
|
<ul><li>
|
442
|
-
<p>Check out the latest master to make sure the feature hasn
|
443
|
-
implemented or the bug hasn't been fixed yet</p>
|
506
|
+
<p>Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet</p>
|
444
507
|
</li><li>
|
445
|
-
<p>Check out the issue tracker to make sure someone already hasn
|
446
|
-
requested it and/or contributed it</p>
|
508
|
+
<p>Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it</p>
|
447
509
|
</li><li>
|
448
510
|
<p>Fork the project</p>
|
449
511
|
</li><li>
|
@@ -451,25 +513,22 @@ requested it and/or contributed it</p>
|
|
451
513
|
</li><li>
|
452
514
|
<p>Commit and push until you are happy with your contribution</p>
|
453
515
|
</li><li>
|
454
|
-
<p>Make sure to add tests for it. This is important so I don
|
455
|
-
a future version unintentionally.</p>
|
516
|
+
<p>Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.</p>
|
456
517
|
</li><li>
|
457
|
-
<p>Please try not to mess with the Rakefile, version, or history. If you want
|
458
|
-
to have your own version, or is otherwise necessary, that is fine, but
|
459
|
-
please isolate to its own commit so I can cherry-pick around it.</p>
|
518
|
+
<p>Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.</p>
|
460
519
|
</li></ul>
|
461
520
|
|
462
521
|
<h2 id="label-Copyright">Copyright<span><a href="#label-Copyright">¶</a> <a href="#top">↑</a></span></h2>
|
463
522
|
|
464
|
-
<p>Copyright © 2011 Vivek Bhagwat, 2013-
|
465
|
-
|
523
|
+
<p>Copyright © 2011 Vivek Bhagwat, 2013-2022 Wesha. See LICENSE.txt for further details.</p>
|
524
|
+
|
466
525
|
</main>
|
467
526
|
|
468
527
|
|
469
528
|
|
470
529
|
<footer id="validator-badges" role="contentinfo">
|
471
|
-
<p><a href="
|
472
|
-
<p>Generated by <a href="https://
|
530
|
+
<p><a href="https://validator.w3.org/check/referer">Validate</a>
|
531
|
+
<p>Generated by <a href="https://ruby.github.io/rdoc/">RDoc</a> 6.6.3.1.
|
473
532
|
<p>Based on <a href="http://deveiate.org/projects/Darkfish-RDoc/">Darkfish</a> by <a href="http://deveiate.org">Michael Granger</a>.
|
474
533
|
</footer>
|
475
534
|
|