rubyXL 3.3.33 → 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.
Files changed (463) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +60 -0
  3. data/Gemfile +9 -8
  4. data/Gemfile.lock +124 -0
  5. data/LICENSE.txt +1 -1
  6. data/README.rdoc +46 -22
  7. data/Rakefile +29 -29
  8. data/VERSION +1 -1
  9. data/lib/rubyXL/cell.rb +2 -29
  10. data/lib/rubyXL/convenience_methods/cell.rb +276 -0
  11. data/lib/rubyXL/convenience_methods/color.rb +156 -0
  12. data/lib/rubyXL/convenience_methods/font.rb +63 -0
  13. data/lib/rubyXL/convenience_methods/workbook.rb +141 -0
  14. data/lib/rubyXL/convenience_methods/worksheet.rb +714 -0
  15. data/lib/rubyXL/convenience_methods.rb +5 -1301
  16. data/lib/rubyXL/objects/border.rb +0 -3
  17. data/lib/rubyXL/objects/calculation_chain.rb +2 -2
  18. data/lib/rubyXL/objects/cell_style.rb +1 -3
  19. data/lib/rubyXL/objects/chartsheet.rb +8 -12
  20. data/lib/rubyXL/objects/color.rb +3 -7
  21. data/lib/rubyXL/objects/column_range.rb +0 -3
  22. data/lib/rubyXL/objects/comments.rb +1 -4
  23. data/lib/rubyXL/objects/connection.rb +175 -0
  24. data/lib/rubyXL/objects/container_nodes.rb +1 -5
  25. data/lib/rubyXL/objects/content_types.rb +3 -6
  26. data/lib/rubyXL/objects/data_validation.rb +2 -2
  27. data/lib/rubyXL/objects/document_properties.rb +11 -15
  28. data/lib/rubyXL/objects/extensions.rb +0 -2
  29. data/lib/rubyXL/objects/external_links.rb +30 -8
  30. data/lib/rubyXL/objects/fill.rb +2 -5
  31. data/lib/rubyXL/objects/filters.rb +5 -7
  32. data/lib/rubyXL/objects/font.rb +2 -7
  33. data/lib/rubyXL/objects/formula.rb +3 -5
  34. data/lib/rubyXL/objects/ooxml_object.rb +26 -19
  35. data/lib/rubyXL/objects/query_table.rb +104 -0
  36. data/lib/rubyXL/objects/reference.rb +6 -8
  37. data/lib/rubyXL/objects/relationships.rb +13 -13
  38. data/lib/rubyXL/objects/root.rb +0 -2
  39. data/lib/rubyXL/objects/shared_strings.rb +3 -6
  40. data/lib/rubyXL/objects/sheet_common.rb +1 -3
  41. data/lib/rubyXL/objects/sheet_data.rb +38 -11
  42. data/lib/rubyXL/objects/simple_types.rb +16 -1
  43. data/lib/rubyXL/objects/storage.rb +51 -50
  44. data/lib/rubyXL/objects/stylesheet.rb +8 -15
  45. data/lib/rubyXL/objects/text.rb +5 -7
  46. data/lib/rubyXL/objects/theme.rb +5 -8
  47. data/lib/rubyXL/objects/workbook.rb +140 -33
  48. data/lib/rubyXL/objects/worksheet.rb +44 -31
  49. data/lib/rubyXL/parser.rb +1 -3
  50. data/lib/rubyXL/worksheet.rb +83 -91
  51. data/lib/rubyXL.rb +1 -1
  52. data/rdoc/README_rdoc.html +111 -126
  53. data/rdoc/RubyXL/AExtension.html +20 -60
  54. data/rdoc/RubyXL/AExtensionStorageArea.html +11 -17
  55. data/rdoc/RubyXL/ActiveX.html +19 -47
  56. data/rdoc/RubyXL/ActiveXBinary.html +11 -22
  57. data/rdoc/RubyXL/AdjustHandleList.html +12 -19
  58. data/rdoc/RubyXL/Alignment.html +12 -19
  59. data/rdoc/RubyXL/AlternateContent.html +11 -17
  60. data/rdoc/RubyXL/Authors.html +12 -19
  61. data/rdoc/RubyXL/AutoFilter.html +12 -19
  62. data/rdoc/RubyXL/AutoFilterColumn.html +12 -19
  63. data/rdoc/RubyXL/BinaryImageFile.html +11 -25
  64. data/rdoc/RubyXL/BodyProperties.html +12 -19
  65. data/rdoc/RubyXL/BooleanNode.html +11 -17
  66. data/rdoc/RubyXL/BooleanValue.html +11 -17
  67. data/rdoc/RubyXL/Border.html +24 -84
  68. data/rdoc/RubyXL/BorderEdge.html +19 -52
  69. data/rdoc/RubyXL/Borders.html +18 -39
  70. data/rdoc/RubyXL/Break.html +12 -19
  71. data/rdoc/RubyXL/BreakList.html +12 -19
  72. data/rdoc/RubyXL/CT_AdjPoint2D.html +12 -19
  73. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +12 -19
  74. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +12 -19
  75. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +12 -19
  76. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +12 -19
  77. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +12 -19
  78. data/rdoc/RubyXL/CT_Backdrop.html +12 -19
  79. data/rdoc/RubyXL/CT_Bevel.html +12 -19
  80. data/rdoc/RubyXL/CT_BiLevelEffect.html +12 -19
  81. data/rdoc/RubyXL/CT_BlendEffect.html +12 -19
  82. data/rdoc/RubyXL/CT_Blip.html +12 -19
  83. data/rdoc/RubyXL/CT_BlipFillProperties.html +12 -19
  84. data/rdoc/RubyXL/CT_BlurEffect.html +12 -19
  85. data/rdoc/RubyXL/CT_Camera.html +12 -19
  86. data/rdoc/RubyXL/CT_Color.html +12 -19
  87. data/rdoc/RubyXL/CT_ColorChangeEffect.html +12 -19
  88. data/rdoc/RubyXL/CT_ColorMapping.html +12 -19
  89. data/rdoc/RubyXL/CT_ColorScheme.html +12 -19
  90. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +12 -19
  91. data/rdoc/RubyXL/CT_ConnectionSite.html +12 -19
  92. data/rdoc/RubyXL/CT_ConnectionSiteList.html +12 -19
  93. data/rdoc/RubyXL/CT_DashStop.html +12 -19
  94. data/rdoc/RubyXL/CT_DashStopList.html +12 -19
  95. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +12 -19
  96. data/rdoc/RubyXL/CT_DuotoneEffect.html +12 -19
  97. data/rdoc/RubyXL/CT_EffectContainer.html +12 -19
  98. data/rdoc/RubyXL/CT_EffectList.html +12 -19
  99. data/rdoc/RubyXL/CT_EffectReference.html +12 -19
  100. data/rdoc/RubyXL/CT_EffectStyleItem.html +12 -19
  101. data/rdoc/RubyXL/CT_EffectStyleList.html +12 -19
  102. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +12 -19
  103. data/rdoc/RubyXL/CT_FillEffect.html +12 -19
  104. data/rdoc/RubyXL/CT_FillOverlayEffect.html +12 -19
  105. data/rdoc/RubyXL/CT_FillStyleList.html +12 -19
  106. data/rdoc/RubyXL/CT_FlatText.html +12 -19
  107. data/rdoc/RubyXL/CT_FontCollection.html +12 -19
  108. data/rdoc/RubyXL/CT_FontReference.html +12 -19
  109. data/rdoc/RubyXL/CT_GeomGuideList.html +12 -19
  110. data/rdoc/RubyXL/CT_GlowEffect.html +12 -19
  111. data/rdoc/RubyXL/CT_GradientFillProperties.html +12 -19
  112. data/rdoc/RubyXL/CT_GradientStop.html +12 -19
  113. data/rdoc/RubyXL/CT_GradientStopList.html +12 -19
  114. data/rdoc/RubyXL/CT_HSLEffect.html +12 -19
  115. data/rdoc/RubyXL/CT_HslColor.html +12 -19
  116. data/rdoc/RubyXL/CT_Hyperlink.html +12 -19
  117. data/rdoc/RubyXL/CT_InnerShadowEffect.html +12 -19
  118. data/rdoc/RubyXL/CT_LightRig.html +12 -19
  119. data/rdoc/RubyXL/CT_LineEndProperties.html +12 -19
  120. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +12 -19
  121. data/rdoc/RubyXL/CT_LineProperties.html +12 -19
  122. data/rdoc/RubyXL/CT_LineStyleList.html +12 -19
  123. data/rdoc/RubyXL/CT_LinearShadeProperties.html +12 -19
  124. data/rdoc/RubyXL/CT_LuminanceEffect.html +12 -19
  125. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +12 -19
  126. data/rdoc/RubyXL/CT_OuterShadowEffect.html +12 -19
  127. data/rdoc/RubyXL/CT_Path2D.html +12 -19
  128. data/rdoc/RubyXL/CT_Path2DArcTo.html +12 -19
  129. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +12 -19
  130. data/rdoc/RubyXL/CT_Path2DList.html +12 -19
  131. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +12 -19
  132. data/rdoc/RubyXL/CT_Path2DTo.html +12 -19
  133. data/rdoc/RubyXL/CT_PathShadeProperties.html +12 -19
  134. data/rdoc/RubyXL/CT_PatternFillProperties.html +12 -19
  135. data/rdoc/RubyXL/CT_Point3D.html +12 -19
  136. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +12 -19
  137. data/rdoc/RubyXL/CT_PresetColor.html +12 -19
  138. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +12 -19
  139. data/rdoc/RubyXL/CT_PresetShadowEffect.html +12 -19
  140. data/rdoc/RubyXL/CT_PresetTextShape.html +12 -19
  141. data/rdoc/RubyXL/CT_ReflectionEffect.html +12 -19
  142. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +12 -19
  143. data/rdoc/RubyXL/CT_RelativeRect.html +12 -19
  144. data/rdoc/RubyXL/CT_SRgbColor.html +12 -19
  145. data/rdoc/RubyXL/CT_ScRgbColor.html +12 -19
  146. data/rdoc/RubyXL/CT_Scene3D.html +12 -19
  147. data/rdoc/RubyXL/CT_SchemeColor.html +12 -19
  148. data/rdoc/RubyXL/CT_Shape3D.html +12 -19
  149. data/rdoc/RubyXL/CT_ShapeStyle.html +12 -19
  150. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +12 -19
  151. data/rdoc/RubyXL/CT_SphereCoords.html +12 -19
  152. data/rdoc/RubyXL/CT_StretchInfoProperties.html +12 -19
  153. data/rdoc/RubyXL/CT_StyleMatrix.html +12 -19
  154. data/rdoc/RubyXL/CT_StyleMatrixReference.html +12 -19
  155. data/rdoc/RubyXL/CT_SupplementalFont.html +12 -19
  156. data/rdoc/RubyXL/CT_SystemColor.html +12 -19
  157. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +12 -19
  158. data/rdoc/RubyXL/CT_TextBlipBullet.html +12 -19
  159. data/rdoc/RubyXL/CT_TextCharBullet.html +12 -19
  160. data/rdoc/RubyXL/CT_TextCharacterProperties.html +12 -19
  161. data/rdoc/RubyXL/CT_TextFont.html +12 -19
  162. data/rdoc/RubyXL/CT_TextListStyle.html +12 -19
  163. data/rdoc/RubyXL/CT_TextNormalAutofit.html +12 -19
  164. data/rdoc/RubyXL/CT_TextParagraphProperties.html +12 -19
  165. data/rdoc/RubyXL/CT_TextSpacing.html +12 -19
  166. data/rdoc/RubyXL/CT_TextTabStop.html +12 -19
  167. data/rdoc/RubyXL/CT_TextTabStopList.html +12 -19
  168. data/rdoc/RubyXL/CT_TileInfoProperties.html +12 -19
  169. data/rdoc/RubyXL/CT_TintEffect.html +12 -19
  170. data/rdoc/RubyXL/CT_Transform2D.html +12 -19
  171. data/rdoc/RubyXL/CT_TransformEffect.html +12 -19
  172. data/rdoc/RubyXL/CT_Vector3D.html +12 -19
  173. data/rdoc/RubyXL/CT_XYAdjustHandle.html +12 -19
  174. data/rdoc/RubyXL/CalculationChain.html +16 -45
  175. data/rdoc/RubyXL/CalculationChainCell.html +12 -19
  176. data/rdoc/RubyXL/CalculationProperties.html +12 -19
  177. data/rdoc/RubyXL/Cell.html +133 -209
  178. data/rdoc/RubyXL/CellConvenienceMethods.html +168 -522
  179. data/rdoc/RubyXL/CellExt.html +12 -19
  180. data/rdoc/RubyXL/CellSmartTag.html +12 -19
  181. data/rdoc/RubyXL/CellSmartTagProperty.html +12 -19
  182. data/rdoc/RubyXL/CellSmartTags.html +12 -19
  183. data/rdoc/RubyXL/CellStyle.html +12 -19
  184. data/rdoc/RubyXL/CellStyleXFs.html +18 -39
  185. data/rdoc/RubyXL/CellStyles.html +18 -39
  186. data/rdoc/RubyXL/CellValue.html +17 -38
  187. data/rdoc/RubyXL/CellWatch.html +12 -19
  188. data/rdoc/RubyXL/CellWatches.html +12 -19
  189. data/rdoc/RubyXL/CellXFs.html +19 -42
  190. data/rdoc/RubyXL/ChartColorsFile.html +11 -25
  191. data/rdoc/RubyXL/ChartFile.html +18 -49
  192. data/rdoc/RubyXL/ChartStyleFile.html +11 -25
  193. data/rdoc/RubyXL/ChartUserShapesFile.html +11 -25
  194. data/rdoc/RubyXL/Chartsheet.html +19 -68
  195. data/rdoc/RubyXL/ChartsheetPageSetup.html +12 -19
  196. data/rdoc/RubyXL/ChartsheetProperties.html +12 -19
  197. data/rdoc/RubyXL/ChartsheetProtection.html +12 -19
  198. data/rdoc/RubyXL/ChartsheetView.html +12 -19
  199. data/rdoc/RubyXL/ChartsheetViews.html +12 -19
  200. data/rdoc/RubyXL/Color.html +18 -55
  201. data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +18 -65
  202. data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +28 -88
  203. data/rdoc/RubyXL/ColorConvenienceClasses.html +9 -14
  204. data/rdoc/RubyXL/ColorConvenienceMethods.html +14 -33
  205. data/rdoc/RubyXL/ColorFilter.html +12 -19
  206. data/rdoc/RubyXL/ColorScale.html +12 -19
  207. data/rdoc/RubyXL/ColorSet.html +12 -19
  208. data/rdoc/RubyXL/Colors.html +12 -19
  209. data/rdoc/RubyXL/ColumnRange.html +22 -74
  210. data/rdoc/RubyXL/ColumnRanges.html +23 -83
  211. data/rdoc/RubyXL/Comment.html +12 -19
  212. data/rdoc/RubyXL/CommentList.html +12 -19
  213. data/rdoc/RubyXL/CommentsFile.html +17 -51
  214. data/rdoc/RubyXL/ConditionalFormatValue.html +12 -19
  215. data/rdoc/RubyXL/ConditionalFormatting.html +12 -19
  216. data/rdoc/RubyXL/ConditionalFormattingRule.html +12 -19
  217. data/rdoc/RubyXL/Connection.html +99 -0
  218. data/rdoc/RubyXL/ConnectionTable.html +99 -0
  219. data/rdoc/RubyXL/ConnectionTables.html +99 -0
  220. data/rdoc/RubyXL/ConnectionTextField.html +99 -0
  221. data/rdoc/RubyXL/ConnectionTextFields.html +99 -0
  222. data/rdoc/RubyXL/Connections.html +147 -0
  223. data/rdoc/RubyXL/ContentTypeDefault.html +11 -17
  224. data/rdoc/RubyXL/ContentTypeOverride.html +11 -17
  225. data/rdoc/RubyXL/ContentTypes.html +22 -63
  226. data/rdoc/RubyXL/ControlPropertiesFile.html +13 -22
  227. data/rdoc/RubyXL/CorePropertiesFile.html +34 -171
  228. data/rdoc/RubyXL/CustomColor.html +12 -19
  229. data/rdoc/RubyXL/CustomColorList.html +12 -19
  230. data/rdoc/RubyXL/CustomFilter.html +12 -19
  231. data/rdoc/RubyXL/CustomFilters.html +12 -19
  232. data/rdoc/RubyXL/CustomGeometry.html +12 -19
  233. data/rdoc/RubyXL/CustomProperties.html +12 -19
  234. data/rdoc/RubyXL/CustomPropertiesFile.html +11 -25
  235. data/rdoc/RubyXL/CustomProperty.html +12 -19
  236. data/rdoc/RubyXL/CustomPropertyFile.html +11 -25
  237. data/rdoc/RubyXL/CustomSheetView.html +12 -19
  238. data/rdoc/RubyXL/CustomSheetViews.html +12 -19
  239. data/rdoc/RubyXL/CustomWorkbookView.html +12 -19
  240. data/rdoc/RubyXL/CustomWorkbookViews.html +12 -19
  241. data/rdoc/RubyXL/CustomXMLFile.html +11 -22
  242. data/rdoc/RubyXL/DXF.html +12 -19
  243. data/rdoc/RubyXL/DXFs.html +12 -19
  244. data/rdoc/RubyXL/DataBar.html +12 -19
  245. data/rdoc/RubyXL/DataConsolidate.html +12 -19
  246. data/rdoc/RubyXL/DataConsolidationReference.html +12 -19
  247. data/rdoc/RubyXL/DataConsolidationReferences.html +12 -19
  248. data/rdoc/RubyXL/DataType.html +10 -39
  249. data/rdoc/RubyXL/DataValidation.html +12 -19
  250. data/rdoc/RubyXL/DataValidations.html +12 -19
  251. data/rdoc/RubyXL/DateGroupItem.html +12 -19
  252. data/rdoc/RubyXL/DefinedName.html +12 -19
  253. data/rdoc/RubyXL/DefinedNameExt.html +12 -19
  254. data/rdoc/RubyXL/DefinedNames.html +12 -19
  255. data/rdoc/RubyXL/DefinedNamesExt.html +12 -19
  256. data/rdoc/RubyXL/DocumentPropertiesFile.html +21 -68
  257. data/rdoc/RubyXL/DrawingFile.html +18 -49
  258. data/rdoc/RubyXL/DynamicFilter.html +12 -19
  259. data/rdoc/RubyXL/EmbeddedControl.html +12 -19
  260. data/rdoc/RubyXL/EmbeddedControls.html +12 -19
  261. data/rdoc/RubyXL/Extension.html +12 -19
  262. data/rdoc/RubyXL/ExtensionStorageArea.html +12 -19
  263. data/rdoc/RubyXL/Extents.html +12 -19
  264. data/rdoc/RubyXL/ExternalBook.html +12 -19
  265. data/rdoc/RubyXL/ExternalLinksFile.html +18 -49
  266. data/rdoc/RubyXL/ExternalReference.html +12 -19
  267. data/rdoc/RubyXL/ExternalReferences.html +12 -19
  268. data/rdoc/RubyXL/ExtraColorSchemeList.html +12 -19
  269. data/rdoc/RubyXL/FieldItem.html +12 -19
  270. data/rdoc/RubyXL/FileRecoveryProperties.html +12 -19
  271. data/rdoc/RubyXL/FileSharing.html +12 -19
  272. data/rdoc/RubyXL/FileVersion.html +12 -19
  273. data/rdoc/RubyXL/Fill.html +18 -39
  274. data/rdoc/RubyXL/Fills.html +18 -39
  275. data/rdoc/RubyXL/FilterContainer.html +12 -19
  276. data/rdoc/RubyXL/FloatNode.html +11 -17
  277. data/rdoc/RubyXL/FloatValue.html +11 -17
  278. data/rdoc/RubyXL/Font.html +21 -59
  279. data/rdoc/RubyXL/FontConvenienceMethods.html +48 -237
  280. data/rdoc/RubyXL/FontScheme.html +12 -19
  281. data/rdoc/RubyXL/Fonts.html +18 -39
  282. data/rdoc/RubyXL/Formula.html +12 -19
  283. data/rdoc/RubyXL/FunctionGroup.html +12 -19
  284. data/rdoc/RubyXL/FunctionGroups.html +12 -19
  285. data/rdoc/RubyXL/GenericStorageObject.html +21 -84
  286. data/rdoc/RubyXL/GradientFill.html +12 -19
  287. data/rdoc/RubyXL/HeaderFooterSettings.html +12 -19
  288. data/rdoc/RubyXL/Hyperlink.html +12 -19
  289. data/rdoc/RubyXL/HyperlinkRelFile.html +11 -22
  290. data/rdoc/RubyXL/Hyperlinks.html +12 -19
  291. data/rdoc/RubyXL/IconFilter.html +12 -19
  292. data/rdoc/RubyXL/IconSet.html +12 -19
  293. data/rdoc/RubyXL/IgnoredError.html +12 -19
  294. data/rdoc/RubyXL/IgnoredErrors.html +12 -19
  295. data/rdoc/RubyXL/IndexedColors.html +12 -19
  296. data/rdoc/RubyXL/InputCells.html +12 -19
  297. data/rdoc/RubyXL/IntegerNode.html +11 -17
  298. data/rdoc/RubyXL/IntegerValue.html +11 -17
  299. data/rdoc/RubyXL/LegacyCell.html +13 -66
  300. data/rdoc/RubyXL/LegacyWorksheet.html +25 -99
  301. data/rdoc/RubyXL/MRUColors.html +12 -19
  302. data/rdoc/RubyXL/MacrosFile.html +11 -25
  303. data/rdoc/RubyXL/MergedCell.html +12 -19
  304. data/rdoc/RubyXL/MergedCells.html +12 -19
  305. data/rdoc/RubyXL/NumFmt.html +12 -19
  306. data/rdoc/RubyXL/NumberFormat.html +18 -39
  307. data/rdoc/RubyXL/NumberFormats.html +18 -45
  308. data/rdoc/RubyXL/OLEObject.html +12 -19
  309. data/rdoc/RubyXL/OLEObjectFile.html +11 -25
  310. data/rdoc/RubyXL/OLEObjects.html +12 -19
  311. data/rdoc/RubyXL/OLESize.html +12 -19
  312. data/rdoc/RubyXL/OOXMLContainerObject.html +35 -132
  313. data/rdoc/RubyXL/OOXMLIgnored.html +19 -53
  314. data/rdoc/RubyXL/OOXMLObject.html +14 -25
  315. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +91 -183
  316. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +48 -185
  317. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +47 -200
  318. data/rdoc/RubyXL/OOXMLTopLevelObject.html +36 -133
  319. data/rdoc/RubyXL/OdbcOleDbProperties.html +99 -0
  320. data/rdoc/RubyXL/Offset.html +12 -19
  321. data/rdoc/RubyXL/OlapProperties.html +99 -0
  322. data/rdoc/RubyXL/OleItem.html +99 -0
  323. data/rdoc/RubyXL/OleItems.html +99 -0
  324. data/rdoc/RubyXL/OleLink.html +99 -0
  325. data/rdoc/RubyXL/OutlineProperties.html +12 -19
  326. data/rdoc/RubyXL/PageMargins.html +12 -19
  327. data/rdoc/RubyXL/PageSetup.html +12 -19
  328. data/rdoc/RubyXL/PageSetupProperties.html +12 -19
  329. data/rdoc/RubyXL/Pane.html +12 -19
  330. data/rdoc/RubyXL/Parser.html +22 -56
  331. data/rdoc/RubyXL/PatternFill.html +12 -19
  332. data/rdoc/RubyXL/PhoneticProperties.html +12 -19
  333. data/rdoc/RubyXL/PhoneticRun.html +12 -19
  334. data/rdoc/RubyXL/PivotArea.html +12 -19
  335. data/rdoc/RubyXL/PivotCache.html +12 -19
  336. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +13 -30
  337. data/rdoc/RubyXL/PivotCacheRecordsFile.html +11 -25
  338. data/rdoc/RubyXL/PivotCaches.html +12 -19
  339. data/rdoc/RubyXL/PivotReference.html +12 -19
  340. data/rdoc/RubyXL/PivotReferences.html +12 -19
  341. data/rdoc/RubyXL/PivotTableFile.html +13 -30
  342. data/rdoc/RubyXL/PivotTableSelection.html +12 -19
  343. data/rdoc/RubyXL/PresetGeometry.html +12 -19
  344. data/rdoc/RubyXL/PrintOptions.html +12 -19
  345. data/rdoc/RubyXL/PrinterSettingsFile.html +11 -25
  346. data/rdoc/RubyXL/ProtectedRange.html +12 -19
  347. data/rdoc/RubyXL/ProtectedRanges.html +12 -19
  348. data/rdoc/RubyXL/Protection.html +12 -19
  349. data/rdoc/RubyXL/QueryParameter.html +99 -0
  350. data/rdoc/RubyXL/QueryParameters.html +99 -0
  351. data/rdoc/RubyXL/QueryTable.html +155 -0
  352. data/rdoc/RubyXL/QueryTableDeletedField.html +99 -0
  353. data/rdoc/RubyXL/QueryTableDeletedFields.html +99 -0
  354. data/rdoc/RubyXL/QueryTableField.html +99 -0
  355. data/rdoc/RubyXL/QueryTableFields.html +99 -0
  356. data/rdoc/RubyXL/QueryTableRefresh.html +99 -0
  357. data/rdoc/RubyXL/RID.html +11 -17
  358. data/rdoc/RubyXL/RawOOXML.html +20 -60
  359. data/rdoc/RubyXL/Reference.html +62 -228
  360. data/rdoc/RubyXL/Relationship.html +11 -17
  361. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +13 -32
  362. data/rdoc/RubyXL/RelationshipSupport.html +25 -120
  363. data/rdoc/RubyXL/RevisionPointer.html +12 -22
  364. data/rdoc/RubyXL/RichText.html +19 -39
  365. data/rdoc/RubyXL/RichTextRun.html +17 -38
  366. data/rdoc/RubyXL/Row.html +33 -168
  367. data/rdoc/RubyXL/RowExt.html +12 -19
  368. data/rdoc/RubyXL/RunProperties.html +12 -19
  369. data/rdoc/RubyXL/Scenario.html +12 -19
  370. data/rdoc/RubyXL/Scenarios.html +12 -19
  371. data/rdoc/RubyXL/Selection.html +16 -37
  372. data/rdoc/RubyXL/ShapeGuide.html +12 -19
  373. data/rdoc/RubyXL/ShapeTextRectangle.html +12 -19
  374. data/rdoc/RubyXL/SharedStringsTable.html +37 -147
  375. data/rdoc/RubyXL/Sheet.html +12 -19
  376. data/rdoc/RubyXL/SheetCalculationProperties.html +12 -19
  377. data/rdoc/RubyXL/SheetData.html +19 -53
  378. data/rdoc/RubyXL/SheetDataExt.html +12 -19
  379. data/rdoc/RubyXL/SheetDataSet.html +12 -19
  380. data/rdoc/RubyXL/SheetMetadata.html +108 -0
  381. data/rdoc/RubyXL/SheetName.html +12 -19
  382. data/rdoc/RubyXL/SheetNames.html +12 -19
  383. data/rdoc/RubyXL/Sheets.html +12 -19
  384. data/rdoc/RubyXL/SlicerCacheFile.html +11 -25
  385. data/rdoc/RubyXL/SlicerFile.html +11 -25
  386. data/rdoc/RubyXL/SmartTagProperties.html +12 -19
  387. data/rdoc/RubyXL/SmartTagType.html +12 -19
  388. data/rdoc/RubyXL/SmartTagTypes.html +12 -19
  389. data/rdoc/RubyXL/SmartTags.html +12 -19
  390. data/rdoc/RubyXL/SortCondition.html +12 -19
  391. data/rdoc/RubyXL/SortState.html +12 -19
  392. data/rdoc/RubyXL/Sqref.html +19 -53
  393. data/rdoc/RubyXL/Stop.html +12 -19
  394. data/rdoc/RubyXL/StringNode.html +11 -17
  395. data/rdoc/RubyXL/StringNodeW3C.html +20 -54
  396. data/rdoc/RubyXL/StringValue.html +11 -17
  397. data/rdoc/RubyXL/Stylesheet.html +34 -117
  398. data/rdoc/RubyXL/TableFile.html +11 -25
  399. data/rdoc/RubyXL/TableParts.html +11 -17
  400. data/rdoc/RubyXL/TableStyle.html +12 -19
  401. data/rdoc/RubyXL/TableStyles.html +12 -19
  402. data/rdoc/RubyXL/Text.html +22 -67
  403. data/rdoc/RubyXL/TextImportSettings.html +99 -0
  404. data/rdoc/RubyXL/Theme.html +19 -75
  405. data/rdoc/RubyXL/ThemeElements.html +12 -19
  406. data/rdoc/RubyXL/ThumbnailFile.html +11 -25
  407. data/rdoc/RubyXL/Top10.html +12 -19
  408. data/rdoc/RubyXL/VMLDrawingFile.html +14 -32
  409. data/rdoc/RubyXL/Variant.html +12 -19
  410. data/rdoc/RubyXL/Vector.html +17 -38
  411. data/rdoc/RubyXL/VectorValue.html +11 -17
  412. data/rdoc/RubyXL/VisualProperties.html +12 -19
  413. data/rdoc/RubyXL/WebPublishObject.html +12 -19
  414. data/rdoc/RubyXL/WebPublishObjects.html +12 -19
  415. data/rdoc/RubyXL/WebPublishingItem.html +12 -19
  416. data/rdoc/RubyXL/WebPublishingItems.html +12 -19
  417. data/rdoc/RubyXL/WebPublishingProperties.html +12 -19
  418. data/rdoc/RubyXL/WebQueryProperties.html +99 -0
  419. data/rdoc/RubyXL/Workbook.html +486 -227
  420. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +130 -888
  421. data/rdoc/RubyXL/WorkbookProperties.html +12 -19
  422. data/rdoc/RubyXL/WorkbookProtection.html +12 -19
  423. data/rdoc/RubyXL/WorkbookRoot.html +27 -114
  424. data/rdoc/RubyXL/WorkbookView.html +12 -19
  425. data/rdoc/RubyXL/WorkbookViews.html +12 -19
  426. data/rdoc/RubyXL/Worksheet.html +92 -121
  427. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +298 -1109
  428. data/rdoc/RubyXL/WorksheetDimensions.html +12 -19
  429. data/rdoc/RubyXL/WorksheetFormatProperties.html +11 -17
  430. data/rdoc/RubyXL/WorksheetProperties.html +12 -19
  431. data/rdoc/RubyXL/WorksheetProtection.html +12 -19
  432. data/rdoc/RubyXL/WorksheetView.html +12 -19
  433. data/rdoc/RubyXL/WorksheetViews.html +12 -19
  434. data/rdoc/RubyXL/XF.html +12 -19
  435. data/rdoc/RubyXL.html +39 -318
  436. data/rdoc/created.rid +45 -38
  437. data/rdoc/css/rdoc.css +55 -6
  438. data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
  439. data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
  440. data/rdoc/index.html +33 -373
  441. data/rdoc/js/darkfish.js +22 -99
  442. data/rdoc/js/navigation.js +4 -41
  443. data/rdoc/js/navigation.js.gz +0 -0
  444. data/rdoc/js/search.js +32 -31
  445. data/rdoc/js/search_index.js +1 -1
  446. data/rdoc/js/search_index.js.gz +0 -0
  447. data/rdoc/js/searcher.js +6 -6
  448. data/rdoc/js/searcher.js.gz +0 -0
  449. data/rdoc/table_of_contents.html +205 -45
  450. data/rubyXL.gemspec +53 -29
  451. data/spec/lib/cell_spec.rb +57 -6
  452. data/spec/lib/color_spec.rb +2 -1
  453. data/spec/lib/parser_spec.rb +24 -27
  454. data/spec/lib/reference_spec.rb +9 -3
  455. data/spec/lib/rgb_color_spec.rb +27 -0
  456. data/spec/lib/stylesheet_spec.rb +8 -11
  457. data/spec/lib/text_spec.rb +1 -5
  458. data/spec/lib/workbook_spec.rb +25 -4
  459. data/spec/lib/worksheet_spec.rb +873 -479
  460. data/spec/spec_helper.rb +2 -0
  461. data/test/test_parse_write.rb +15 -15
  462. metadata +54 -10
  463. data/rdoc/js/jquery.js +0 -4
@@ -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, :required => true)
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)
@@ -16,8 +15,8 @@ module RubyXL
16
15
 
17
16
  # http://www.datypic.com/sc/ooxml/e-ssml_sheetPr-4.html
18
17
  class ChartsheetProperties < OOXMLObject
19
- define_attribute(:published, :bool, :default => true)
20
- define_attribute(:codeName, :string)
18
+ define_attribute(:published, :bool, :default => true)
19
+ define_attribute(:codeName, :string)
21
20
  define_child_node(RubyXL::Color, :node_name => :tabColor)
22
21
  define_element_name 'sheetPr'
23
22
  end
@@ -34,7 +33,7 @@ module RubyXL
34
33
  define_attribute(:horizontalDpi, :int, :default => 600)
35
34
  define_attribute(:verticalDpi, :int, :default => 600)
36
35
  define_attribute(:copies, :int, :default => 1)
37
- define_attribute(:'r:id', :string)
36
+ define_relationship
38
37
  define_element_name 'pageSetup'
39
38
  end
40
39
 
@@ -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' => nil,
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
@@ -1,19 +1,19 @@
1
1
  require 'rubyXL/objects/ooxml_object'
2
+ require 'rubyXL/objects/simple_types'
2
3
 
3
4
  module RubyXL
4
-
5
5
  # http://www.datypic.com/sc/ooxml/e-ssml_color-4.html
6
6
  class Color < OOXMLObject
7
7
  COLOR_REGEXP = /\A([a-f]|[A-F]|[0-9]){6}\Z/
8
8
 
9
9
  define_attribute(:auto, :bool)
10
10
  define_attribute(:indexed, :uint)
11
- define_attribute(:rgb, ST_UnsignedIntHex)
11
+ define_attribute(:rgb, RubyXL::ST_UnsignedIntHex)
12
12
  define_attribute(:theme, :uint)
13
13
  define_attribute(:tint, :double, :default => 0.0)
14
14
  define_element_name 'color'
15
15
 
16
- #validates hex color code, no '#' allowed
16
+ # validates hex color code, no '#' allowed
17
17
  def self.validate_color(color)
18
18
  if color =~ COLOR_REGEXP
19
19
  return true
@@ -21,9 +21,5 @@ module RubyXL
21
21
  raise 'invalid color'
22
22
  end
23
23
  end
24
-
25
- include ColorConvenienceMethods
26
24
  end
27
-
28
- include ColorConvenienceClasses
29
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
@@ -0,0 +1,175 @@
1
+ require 'rubyXL/objects/ooxml_object'
2
+ require 'rubyXL/objects/simple_types'
3
+ require 'rubyXL/objects/extensions'
4
+
5
+ # Connections
6
+ # https://msdn.microsoft.com/en-us/library/dd908547(v=office.12).aspx
7
+ # http://www.datypic.com/sc/ooxml/s-sml-externalConnections.xsd.html
8
+
9
+ module RubyXL
10
+ # http://www.datypic.com/sc/ooxml/e-ssml_dbPr-1.html
11
+ class OdbcOleDbProperties < OOXMLObject
12
+ define_attribute(:connection, RubyXL::ST_Xstring, :required => true)
13
+ define_attribute(:command, RubyXL::ST_Xstring)
14
+ define_attribute(:serverCommand, RubyXL::ST_Xstring)
15
+ define_attribute(:commandType, :uint, :default => 2)
16
+
17
+ define_element_name 'dbPr'
18
+ end
19
+
20
+ # http://www.datypic.com/sc/ooxml/e-ssml_olapPr-1.html
21
+ class OlapProperties < OOXMLObject
22
+ define_attribute(:local, :bool, :default => false)
23
+ define_attribute(:localConnection, RubyXL::ST_Xstring)
24
+ define_attribute(:localRefresh, :bool, :default => true)
25
+ define_attribute(:sendLocale, :bool, :default => false)
26
+ define_attribute(:rowDrillCount, :uint)
27
+ define_attribute(:serverFill, :bool, :default => true)
28
+ define_attribute(:serverNumberFormat, :bool, :default => true)
29
+ define_attribute(:serverFont, :bool, :default => true)
30
+ define_attribute(:serverFontColor, :bool, :default => true)
31
+
32
+ define_element_name 'olapPr'
33
+ end
34
+
35
+ # http://www.datypic.com/sc/ooxml/e-ssml_s-1.html
36
+ # TODO: ssml:m & ssml:x... but how?
37
+ class ConnectionTable < OOXMLObject
38
+ define_attribute(:v, RubyXL::ST_Xstring, :required => true)
39
+
40
+ define_element_name 's'
41
+ end
42
+
43
+ # http://www.datypic.com/sc/ooxml/e-ssml_tables-1.html
44
+ class ConnectionTables < OOXMLObject
45
+ define_child_node(RubyXL::ConnectionTable, :collection => :with_count, :accessor => :tables, :node_name => :table)
46
+ define_element_name 'tables'
47
+ end
48
+
49
+ # http://www.datypic.com/sc/ooxml/e-ssml_webPr-1.html
50
+ class WebQueryProperties < OOXMLObject
51
+ define_attribute(:xml, :bool, :default => false)
52
+ define_attribute(:sourceData, :bool, :default => false)
53
+ define_attribute(:parsePre, :bool, :default => false)
54
+ define_attribute(:consecutive, :bool, :default => false)
55
+ define_attribute(:firstRow, :bool, :default => false)
56
+ define_attribute(:xl97, :bool, :default => false)
57
+ define_attribute(:textDates, :bool, :default => false)
58
+ define_attribute(:xl2000, :bool, :default => false)
59
+ define_attribute(:url, RubyXL::ST_Xstring)
60
+ define_attribute(:post, RubyXL::ST_Xstring)
61
+ define_attribute(:htmlTables, :bool, :default => false)
62
+ define_attribute(:htmlFormat, ssml:ST_HtmlFmt, :default => 'none')
63
+ define_attribute(:editPage, RubyXL::ST_Xstring)
64
+
65
+ define_child_node(RubyXL::ConnectionTables)
66
+
67
+ define_element_name 'webPr'
68
+ end
69
+
70
+ # http://www.datypic.com/sc/ooxml/e-ssml_textField-1.html
71
+ class ConnectionTextField < OOXMLObject
72
+ define_attribute(:type, RubyXL::ST_ExternalConnectionType, :default => 'general')
73
+ define_attribute(:position, :uint, :default => 0)
74
+ end
75
+
76
+ # http://www.datypic.com/sc/ooxml/e-ssml_textFields-1.html
77
+ class ConnectionTextFields < OOXMLObject
78
+ define_child_node(RubyXL::ConnectionTextField, :collection => :with_count, :accessor => :text_fields, :node_name => :textField)
79
+
80
+ define_element_name 'textFields'
81
+ end
82
+
83
+ # http://www.datypic.com/sc/ooxml/e-ssml_textPr-1.html
84
+ class TextImportSettings < OOXMLObject
85
+ define_attribute(:prompt, :bool, :default => true)
86
+ define_attribute(:fileType, RubyXL::ST_FileType, :default => 'win')
87
+ define_attribute(:codePage, :uint, :default => 1252)
88
+ define_attribute(:firstRow, :uint, :default => 1)
89
+ define_attribute(:sourceFile, RubyXL::ST_Xstring, :default => '')
90
+ define_attribute(:delimited, :bool, :default => true)
91
+ define_attribute(:decimal, RubyXL::ST_Xstring, :default => '.')
92
+ define_attribute(:thousands, RubyXL::ST_Xstring, :default => ',')
93
+ define_attribute(:tab, :bool, :default => true)
94
+ define_attribute(:space, :bool, :default => false)
95
+ define_attribute(:comma, :bool, :default => false)
96
+ define_attribute(:semicolon, :bool, :default => false)
97
+ define_attribute(:consecutive, :bool, :default => false)
98
+ define_attribute(:qualifier, ssml:ST_Qualifier, :default => 'doubleQuote')
99
+ define_attribute(:delimiter, RubyXL::ST_Xstring)
100
+
101
+ define_child_node(RubyXL::ConnectionTextFields)
102
+
103
+ define_element_name 'textPr'
104
+ end
105
+
106
+ # http://www.datypic.com/sc/ooxml/e-ssml_parameter-1.html
107
+ class QueryParameter < OOXMLObject
108
+ define_attribute(:name, RubyXL::ST_Xstring)
109
+ define_attribute(:sqlType, :int, :default => 0)
110
+ define_attribute(:parameterType, RubyXL::ST_ParameterType, :default => 'prompt')
111
+ define_attribute(:refreshOnChange, :bool, :default => false)
112
+ define_attribute(:prompt, RubyXL::ST_Xstring)
113
+ define_attribute(:boolean, :bool)
114
+ define_attribute(:double, :double)
115
+ define_attribute(:integer, :int)
116
+ define_attribute(:string, RubyXL::ST_Xstring)
117
+ define_attribute(:cell, RubyXL::ST_Xstring)
118
+ define_element_name 'parameter'
119
+ end
120
+
121
+ # http://www.datypic.com/sc/ooxml/e-ssml_parameters-1.html
122
+ class QueryParameters < OOXMLObject
123
+ define_child_node(RubyXL::QueryParameter, :collection => :with_count, :accessor => :parameters, :node_name => :parameter)
124
+ define_element_name 'parameters'
125
+ end
126
+
127
+ # http://www.datypic.com/sc/ooxml/e-ssml_connection-1.html
128
+ class Connection < OOXMLObject
129
+ define_attribute(:id, :uint, :required => true)
130
+ define_attribute(:sourceFile, RubyXL::ST_Xstring)
131
+ define_attribute(:odcFile, RubyXL::ST_Xstring)
132
+ define_attribute(:keepAlive, :bool, :default => false)
133
+ define_attribute(:interval, :uint, :default => 0)
134
+ define_attribute(:name, RubyXL::ST_Xstring)
135
+ define_attribute(:description, RubyXL::ST_Xstring)
136
+ define_attribute(:type, :uint)
137
+ define_attribute(:reconnectionMethod, :uint, :default => 1)
138
+ define_attribute(:refreshedVersion, :uint, :required => true)
139
+ define_attribute(:minRefreshableVersion, :uint, :default => 0)
140
+ define_attribute(:savePassword, :bool, :default => false)
141
+ define_attribute(:new, :bool, :default => false)
142
+ define_attribute(:deleted, :bool, :default => false)
143
+ define_attribute(:onlyUseConnectionFile, :bool, :default => false)
144
+ define_attribute(:background, :bool, :default => false)
145
+ define_attribute(:refreshOnLoad, :bool, :default => false)
146
+ define_attribute(:saveData, :bool, :default => false)
147
+ define_attribute(:credentials, RubyXL::ST_CredMethod, :default => 'integrated')
148
+ define_attribute(:singleSignOnId, RubyXL::ST_Xstring)
149
+
150
+ define_child_node(RubyXL::OdbcOleDbProperties)
151
+ define_child_node(RubyXL::OlapProperties)
152
+ define_child_node(RubyXL::WebQueryProperties)
153
+ define_child_node(RubyXL::TextImportSettings)
154
+ define_child_node(RubyXL::QueryParameters)
155
+ define_child_node(RubyXL::ExtensionStorageArea)
156
+
157
+ define_element_name 'connection'
158
+ end
159
+
160
+ # http://www.datypic.com/sc/ooxml/e-ssml_connections.html
161
+ class Connections < OOXMLTopLevelObject
162
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml'.freeze
163
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/connections'.freeze
164
+
165
+ define_child_node(RubyXL::Connection, :collection => true, :accessor => :connections)
166
+
167
+ define_element_name 'connections'
168
+
169
+ set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => nil)
170
+
171
+ def xlsx_path
172
+ ROOT.join('xl', 'connections.xml')
173
+ end
174
+ end
175
+ end
@@ -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 BooleanValue < OOXMLObject
7
6
  define_attribute(:val, :bool, :required => true, :default => true)
8
7
  end
@@ -46,12 +45,11 @@ module RubyXL
46
45
  def self.default(v)
47
46
  v && self.new(:value => v.to_datetime.iso8601)
48
47
  end
49
-
50
48
  end
51
49
 
52
50
  # http://www.datypic.com/sc/ooxml/e-docPropsVTypes_variant.html
53
51
  class Variant < OOXMLObject
54
- define_child_node(RubyXL::Variant, :node_name => 'vt:variant')
52
+ define_child_node(RubyXL::Variant, :node_name => 'vt:variant')
55
53
 
56
54
  # vector Vector
57
55
  # array Array
@@ -125,11 +123,9 @@ module RubyXL
125
123
  known_child_nodes.values.each { |v| self.size += self.send(v[:accessor]).size }
126
124
  true
127
125
  end
128
-
129
126
  end
130
127
 
131
128
  class VectorValue < OOXMLObject
132
129
  define_child_node(RubyXL::Vector)
133
130
  end
134
-
135
131
  end
@@ -1,7 +1,6 @@
1
1
  require 'rubyXL/objects/ooxml_object'
2
2
 
3
3
  module RubyXL
4
-
5
4
  class ContentTypeDefault < OOXMLObject
6
5
  define_attribute(:Extension, :string)
7
6
  define_attribute(:ContentType, :string)
@@ -9,7 +8,7 @@ module RubyXL
9
8
  end
10
9
 
11
10
  class ContentTypeOverride < OOXMLObject
12
- define_attribute(:PartName, :string)
11
+ define_attribute(:PartName, :string)
13
12
  define_attribute(:ContentType, :string)
14
13
  define_element_name 'Override'
15
14
  end
@@ -48,7 +47,7 @@ module RubyXL
48
47
  content_types_by_ext.each_pair { |ext, content_types_arr|
49
48
  next if ext.nil? || defaults.any? { |d| d.extension == ext }
50
49
  most_frequent_ct = content_types_arr.group_by { |ct| ct }.values.max_by(&:size).first
51
- defaults << RubyXL::ContentTypeDefault.new(:extension => ext, :content_type => most_frequent_ct )
50
+ defaults << RubyXL::ContentTypeDefault.new(:extension => ext, :content_type => most_frequent_ct)
52
51
  }
53
52
 
54
53
  self.overrides = []
@@ -64,14 +63,12 @@ module RubyXL
64
63
 
65
64
  ext = obj.xlsx_path.extname[1..-1]
66
65
  next if defaults.any? { |d| (d.extension == ext) && (d.content_type == obj_content_type) }
67
- overrides << RubyXL::ContentTypeOverride.new(:part_name => obj.xlsx_path,
66
+ overrides << RubyXL::ContentTypeOverride.new(:part_name => obj.xlsx_path,
68
67
  :content_type => obj_content_type)
69
68
  }
70
69
  }
71
70
 
72
71
  true
73
72
  end
74
-
75
73
  end
76
-
77
74
  end
@@ -3,7 +3,6 @@ require 'rubyXL/objects/simple_types'
3
3
  require 'rubyXL/objects/formula'
4
4
 
5
5
  module RubyXL
6
-
7
6
  # http://www.datypic.com/sc/ooxml/e-ssml_dataValidation-1.html
8
7
  class DataValidation < OOXMLObject
9
8
  define_attribute(:type, RubyXL::ST_DataValidationType, :default => 'none')
@@ -11,6 +10,8 @@ module RubyXL
11
10
  define_attribute(:imeMode, RubyXL::ST_DataValidationImeMode, :default => 'noControl')
12
11
  define_attribute(:operator, RubyXL::ST_DataValidationOperator, :default => 'between')
13
12
  define_attribute(:allowBlank, :bool, :default => false)
13
+ # Documentation lies. This property should have been called "HIDE dropdown",
14
+ # since that's what happens when it is set to true.
14
15
  define_attribute(:showDropDown, :bool, :default => false)
15
16
  define_attribute(:showInputMessage, :bool, :default => false)
16
17
  define_attribute(:showErrorMessage, :bool, :default => false)
@@ -33,5 +34,4 @@ module RubyXL
33
34
  define_child_node(RubyXL::DataValidation, :collection => :with_count)
34
35
  define_element_name 'dataValidations'
35
36
  end
36
-
37
37
  end
@@ -3,11 +3,10 @@ require 'rubyXL/objects/container_nodes'
3
3
  require 'time'
4
4
 
5
5
  module RubyXL
6
-
7
6
  # http://www.datypic.com/sc/ooxml/e-extended-properties_Properties.html
8
7
  class DocumentPropertiesFile < OOXMLTopLevelObject
9
- CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.extended-properties+xml'
10
- REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties'
8
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.extended-properties+xml'.freeze
9
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties'.freeze
11
10
 
12
11
  attr_accessor :workbook
13
12
 
@@ -39,7 +38,7 @@ module RubyXL
39
38
  define_child_node(RubyXL::StringNode, :node_name => :AppVersion)
40
39
  define_child_node(RubyXL::IntegerNode, :node_name => :DocSecurity)
41
40
  set_namespaces('http://schemas.openxmlformats.org/officeDocument/2006/extended-properties' => nil,
42
- 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes' => 'vt')
41
+ 'http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes' => 'vt')
43
42
  define_element_name 'Properties'
44
43
 
45
44
  def add_parts_count(name, count)
@@ -84,13 +83,12 @@ module RubyXL
84
83
  def xlsx_path
85
84
  ROOT.join('docProps', 'app.xml')
86
85
  end
87
-
88
86
  end
89
87
 
90
88
 
91
89
  class CorePropertiesFile < OOXMLTopLevelObject
92
- CONTENT_TYPE = 'application/vnd.openxmlformats-package.core-properties+xml'
93
- REL_TYPE = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties'
90
+ CONTENT_TYPE = 'application/vnd.openxmlformats-package.core-properties+xml'.freeze
91
+ REL_TYPE = 'http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties'.freeze
94
92
 
95
93
  attr_accessor :workbook
96
94
 
@@ -112,10 +110,10 @@ module RubyXL
112
110
  define_child_node(RubyXL::StringNode, :node_name => 'cp:version')
113
111
 
114
112
  set_namespaces('http://schemas.openxmlformats.org/package/2006/metadata/core-properties' => 'cp',
115
- 'http://purl.org/dc/elements/1.1/' => 'dc',
116
- 'http://purl.org/dc/terms/' => 'dcterms',
117
- 'http://purl.org/dc/dcmitype/' => 'dcmitype',
118
- 'http://www.w3.org/2001/XMLSchema-instance' => 'xsi')
113
+ 'http://purl.org/dc/elements/1.1/' => 'dc',
114
+ 'http://purl.org/dc/terms/' => 'dcterms',
115
+ 'http://purl.org/dc/dcmitype/' => 'dcmitype',
116
+ 'http://www.w3.org/2001/XMLSchema-instance' => 'xsi')
119
117
  define_element_name 'cp:coreProperties'
120
118
 
121
119
  def xlsx_path
@@ -127,7 +125,7 @@ module RubyXL
127
125
  end
128
126
 
129
127
  def creator=(v)
130
- self.dc_creator = v && RubyXL::StringNodeW3C.new(:value => v)
128
+ self.dc_creator = v && RubyXL::StringNode.new(:value => v)
131
129
  end
132
130
 
133
131
  def modifier
@@ -135,7 +133,7 @@ module RubyXL
135
133
  end
136
134
 
137
135
  def modifier=(v)
138
- self.cp_last_modified_by = v && RubyXL::StringNodeW3C.new(:value => v)
136
+ self.cp_last_modified_by = v && RubyXL::StringNode.new(:value => v)
139
137
  end
140
138
 
141
139
  def created_at
@@ -153,7 +151,5 @@ module RubyXL
153
151
  def modified_at=(v)
154
152
  self.dcterms_modified = RubyXL::StringNodeW3C.default(v)
155
153
  end
156
-
157
154
  end
158
-
159
155
  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_ext-1.html
6
5
  class RawOOXML < OOXMLObject
7
6
  attr_accessor :raw_xml
@@ -49,5 +48,4 @@ module RubyXL
49
48
  class RevisionPointer < OOXMLIgnored
50
49
  define_element_name 'xr:revisionPtr'
51
50
  end
52
-
53
51
  end
@@ -1,5 +1,4 @@
1
1
  module RubyXL
2
-
3
2
  # http://www.datypic.com/sc/ooxml/e-ssml_sheetName-1.html
4
3
  class SheetName < OOXMLObject
5
4
  define_attribute(:val, :string)
@@ -16,7 +15,7 @@ module RubyXL
16
15
  class DefinedNameExt < OOXMLObject
17
16
  define_attribute(:name, :string, :required => true)
18
17
  define_attribute(:refersTo, :string)
19
- define_attribute(:sheetId, :uint)
18
+ define_attribute(:sheetId, :uint)
20
19
  define_element_name 'definedName'
21
20
  end
22
21
 
@@ -61,25 +60,48 @@ module RubyXL
61
60
  define_child_node(RubyXL::SheetNames)
62
61
  define_child_node(RubyXL::DefinedNamesExt)
63
62
  define_child_node(RubyXL::SheetDataSet)
64
- define_attribute(:'r:id', :string, :required => true)
63
+ define_relationship(:required => true)
65
64
  define_element_name 'externalBook'
66
65
  end
67
66
 
67
+ # http://www.datypic.com/sc/ooxml/e-ssml_oleItem-1.html
68
+ class OleItem < OOXMLObject
69
+ define_attribute(:name, :string, :required => true)
70
+ define_attribute(:icon, :bool)
71
+ define_attribute(:advise, :bool)
72
+ define_attribute(:preferPic, :bool)
73
+ define_element_name 'oleItem'
74
+ end
75
+
76
+ # http://www.datypic.com/sc/ooxml/e-ssml_oleItems-1.html
77
+ class OleItems < OOXMLContainerObject
78
+ define_child_node(RubyXL::OleItem)
79
+ define_element_name 'oleItems'
80
+ end
81
+
82
+ # http://www.datypic.com/sc/ooxml/t-ssml_CT_OleLink.html
83
+ class OleLink < OOXMLObject
84
+ define_child_node(RubyXL::OleItems, :collection => true)
85
+ define_relationship(:required => true)
86
+ define_attribute(:progId, :string, :required => true)
87
+ define_element_name 'oleLink'
88
+ end
89
+
68
90
  class ExternalLinksFile < OOXMLTopLevelObject
69
- CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml'
70
- REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink'
91
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml'.freeze
92
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink'.freeze
71
93
 
72
94
  include RubyXL::RelationshipSupport
73
95
  define_child_node(RubyXL::ExternalBook)
96
+ define_child_node(RubyXL::OleLink)
74
97
 
75
98
  define_element_name 'externalLink'
76
- set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => nil,
77
- 'http://schemas.openxmlformats.org/markup-compatibility/2006' => 'mc',
99
+ set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => nil,
100
+ 'http://schemas.openxmlformats.org/markup-compatibility/2006' => 'mc',
78
101
  'http://schemas.openxmlformats.org/officeDocument/2006/relationships' => 'r')
79
102
 
80
103
  def xlsx_path
81
104
  ROOT.join('xl', 'externalLinks', "externalLink#{file_index}.xml")
82
105
  end
83
106
  end
84
-
85
107
  end
@@ -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_stop-1.html
7
6
  class Stop < OOXMLObject
8
7
  define_attribute(:position, :double, :required => true)
@@ -13,8 +12,8 @@ module RubyXL
13
12
  # http://www.datypic.com/sc/ooxml/e-ssml_patternFill-1.html
14
13
  class PatternFill < OOXMLObject
15
14
  define_attribute(:patternType, RubyXL::ST_PatternType)
16
- define_child_node(RubyXL::Color, :node_name => :fgColor )
17
- define_child_node(RubyXL::Color, :node_name => :bgColor )
15
+ define_child_node(RubyXL::Color, :node_name => :fgColor)
16
+ define_child_node(RubyXL::Color, :node_name => :bgColor)
18
17
  define_element_name 'patternFill'
19
18
  end
20
19
 
@@ -39,7 +38,6 @@ module RubyXL
39
38
  def self.default(pattern_type)
40
39
  self.new(:pattern_fill => RubyXL::PatternFill.new(:pattern_type => pattern_type))
41
40
  end
42
-
43
41
  end
44
42
 
45
43
  # http://www.datypic.com/sc/ooxml/e-ssml_fills-1.html
@@ -51,5 +49,4 @@ module RubyXL
51
49
  self.new(:_ => [ RubyXL::Fill.default('none'), RubyXL::Fill.default('gray125') ])
52
50
  end
53
51
  end
54
-
55
52
  end