rubyXL 3.3.21 → 3.4.17

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 (456) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +60 -0
  3. data/.codeclimate.yml +3 -0
  4. data/Gemfile +3 -2
  5. data/Gemfile.lock +96 -0
  6. data/LICENSE.txt +1 -1
  7. data/README.rdoc +47 -16
  8. data/Rakefile +3 -2
  9. data/VERSION +1 -1
  10. data/lib/rubyXL.rb +1 -0
  11. data/lib/rubyXL/cell.rb +1 -26
  12. data/lib/rubyXL/convenience_methods.rb +5 -982
  13. data/lib/rubyXL/convenience_methods/cell.rb +272 -0
  14. data/lib/rubyXL/convenience_methods/color.rb +160 -0
  15. data/lib/rubyXL/convenience_methods/font.rb +63 -0
  16. data/lib/rubyXL/convenience_methods/workbook.rb +136 -0
  17. data/lib/rubyXL/convenience_methods/worksheet.rb +710 -0
  18. data/lib/rubyXL/objects/border.rb +31 -3
  19. data/lib/rubyXL/objects/calculation_chain.rb +2 -2
  20. data/lib/rubyXL/objects/cell_style.rb +8 -8
  21. data/lib/rubyXL/objects/chartsheet.rb +10 -10
  22. data/lib/rubyXL/objects/color.rb +6 -4
  23. data/lib/rubyXL/objects/column_range.rb +10 -10
  24. data/lib/rubyXL/objects/comments.rb +6 -6
  25. data/lib/rubyXL/objects/connection.rb +175 -0
  26. data/lib/rubyXL/objects/container_nodes.rb +2 -2
  27. data/lib/rubyXL/objects/content_types.rb +2 -2
  28. data/lib/rubyXL/objects/data_validation.rb +4 -2
  29. data/lib/rubyXL/objects/document_properties.rb +3 -3
  30. data/lib/rubyXL/objects/extensions.rb +20 -3
  31. data/lib/rubyXL/objects/external_links.rb +26 -2
  32. data/lib/rubyXL/objects/fill.rb +4 -4
  33. data/lib/rubyXL/objects/filters.rb +12 -12
  34. data/lib/rubyXL/objects/font.rb +2 -60
  35. data/lib/rubyXL/objects/formula.rb +1 -1
  36. data/lib/rubyXL/objects/ooxml_object.rb +15 -3
  37. data/lib/rubyXL/objects/query_table.rb +104 -0
  38. data/lib/rubyXL/objects/relationships.rb +8 -3
  39. data/lib/rubyXL/objects/shared_strings.rb +1 -1
  40. data/lib/rubyXL/objects/sheet_common.rb +4 -4
  41. data/lib/rubyXL/objects/sheet_data.rb +48 -11
  42. data/lib/rubyXL/objects/simple_types.rb +18 -0
  43. data/lib/rubyXL/objects/storage.rb +25 -1
  44. data/lib/rubyXL/objects/stylesheet.rb +14 -14
  45. data/lib/rubyXL/objects/text.rb +8 -8
  46. data/lib/rubyXL/objects/theme.rb +138 -119
  47. data/lib/rubyXL/objects/workbook.rb +153 -43
  48. data/lib/rubyXL/objects/worksheet.rb +118 -107
  49. data/lib/rubyXL/worksheet.rb +19 -13
  50. data/rdoc/README_rdoc.html +109 -103
  51. data/rdoc/RubyXL.html +39 -296
  52. data/rdoc/RubyXL/AExtension.html +21 -60
  53. data/rdoc/RubyXL/AExtensionStorageArea.html +12 -17
  54. data/rdoc/RubyXL/ActiveX.html +154 -0
  55. data/rdoc/RubyXL/ActiveXBinary.html +106 -0
  56. data/rdoc/RubyXL/AdjustHandleList.html +13 -19
  57. data/rdoc/RubyXL/Alignment.html +13 -19
  58. data/rdoc/RubyXL/AlternateContent.html +12 -17
  59. data/rdoc/RubyXL/Authors.html +13 -19
  60. data/rdoc/RubyXL/AutoFilter.html +13 -19
  61. data/rdoc/RubyXL/AutoFilterColumn.html +13 -19
  62. data/rdoc/RubyXL/BinaryImageFile.html +12 -25
  63. data/rdoc/RubyXL/BodyProperties.html +13 -19
  64. data/rdoc/RubyXL/BooleanNode.html +12 -17
  65. data/rdoc/RubyXL/BooleanValue.html +12 -17
  66. data/rdoc/RubyXL/Border.html +76 -53
  67. data/rdoc/RubyXL/BorderEdge.html +71 -17
  68. data/rdoc/RubyXL/Borders.html +19 -39
  69. data/rdoc/RubyXL/Break.html +13 -19
  70. data/rdoc/RubyXL/BreakList.html +13 -19
  71. data/rdoc/RubyXL/CT_AdjPoint2D.html +13 -19
  72. data/rdoc/RubyXL/CT_AlphaBiLevelEffect.html +13 -19
  73. data/rdoc/RubyXL/CT_AlphaModulateEffect.html +13 -19
  74. data/rdoc/RubyXL/CT_AlphaModulateFixedEffect.html +13 -19
  75. data/rdoc/RubyXL/CT_AlphaOutsetEffect.html +13 -19
  76. data/rdoc/RubyXL/CT_AlphaReplaceEffect.html +13 -19
  77. data/rdoc/RubyXL/CT_Backdrop.html +13 -19
  78. data/rdoc/RubyXL/CT_Bevel.html +13 -19
  79. data/rdoc/RubyXL/CT_BiLevelEffect.html +13 -19
  80. data/rdoc/RubyXL/CT_BlendEffect.html +13 -19
  81. data/rdoc/RubyXL/CT_Blip.html +13 -19
  82. data/rdoc/RubyXL/CT_BlipFillProperties.html +13 -19
  83. data/rdoc/RubyXL/CT_BlurEffect.html +13 -19
  84. data/rdoc/RubyXL/CT_Camera.html +13 -19
  85. data/rdoc/RubyXL/CT_Color.html +13 -19
  86. data/rdoc/RubyXL/CT_ColorChangeEffect.html +13 -19
  87. data/rdoc/RubyXL/CT_ColorMapping.html +13 -19
  88. data/rdoc/RubyXL/CT_ColorScheme.html +13 -19
  89. data/rdoc/RubyXL/CT_ColorSchemeAndMapping.html +13 -19
  90. data/rdoc/RubyXL/CT_ConnectionSite.html +13 -19
  91. data/rdoc/RubyXL/CT_ConnectionSiteList.html +13 -19
  92. data/rdoc/RubyXL/CT_DashStop.html +13 -19
  93. data/rdoc/RubyXL/CT_DashStopList.html +13 -19
  94. data/rdoc/RubyXL/CT_DefaultShapeDefinition.html +13 -19
  95. data/rdoc/RubyXL/CT_DuotoneEffect.html +13 -19
  96. data/rdoc/RubyXL/CT_EffectContainer.html +13 -19
  97. data/rdoc/RubyXL/CT_EffectList.html +13 -19
  98. data/rdoc/RubyXL/CT_EffectReference.html +13 -19
  99. data/rdoc/RubyXL/CT_EffectStyleItem.html +13 -19
  100. data/rdoc/RubyXL/CT_EffectStyleList.html +13 -19
  101. data/rdoc/RubyXL/CT_EmbeddedWAVAudioFile.html +13 -19
  102. data/rdoc/RubyXL/CT_FillEffect.html +13 -19
  103. data/rdoc/RubyXL/CT_FillOverlayEffect.html +13 -19
  104. data/rdoc/RubyXL/CT_FillStyleList.html +13 -19
  105. data/rdoc/RubyXL/CT_FlatText.html +13 -19
  106. data/rdoc/RubyXL/CT_FontCollection.html +13 -19
  107. data/rdoc/RubyXL/CT_FontReference.html +13 -19
  108. data/rdoc/RubyXL/CT_GeomGuideList.html +13 -19
  109. data/rdoc/RubyXL/CT_GlowEffect.html +13 -19
  110. data/rdoc/RubyXL/CT_GradientFillProperties.html +13 -19
  111. data/rdoc/RubyXL/CT_GradientStop.html +13 -19
  112. data/rdoc/RubyXL/CT_GradientStopList.html +13 -19
  113. data/rdoc/RubyXL/CT_HSLEffect.html +13 -19
  114. data/rdoc/RubyXL/CT_HslColor.html +13 -19
  115. data/rdoc/RubyXL/CT_Hyperlink.html +13 -19
  116. data/rdoc/RubyXL/CT_InnerShadowEffect.html +13 -19
  117. data/rdoc/RubyXL/CT_LightRig.html +13 -19
  118. data/rdoc/RubyXL/CT_LineEndProperties.html +13 -19
  119. data/rdoc/RubyXL/CT_LineJoinMiterProperties.html +13 -19
  120. data/rdoc/RubyXL/CT_LineProperties.html +13 -19
  121. data/rdoc/RubyXL/CT_LineStyleList.html +13 -19
  122. data/rdoc/RubyXL/CT_LinearShadeProperties.html +13 -19
  123. data/rdoc/RubyXL/CT_LuminanceEffect.html +13 -19
  124. data/rdoc/RubyXL/CT_ObjectStyleDefaults.html +13 -19
  125. data/rdoc/RubyXL/CT_OuterShadowEffect.html +13 -19
  126. data/rdoc/RubyXL/CT_Path2D.html +13 -19
  127. data/rdoc/RubyXL/CT_Path2DArcTo.html +13 -19
  128. data/rdoc/RubyXL/CT_Path2DCubicBezierTo.html +13 -19
  129. data/rdoc/RubyXL/CT_Path2DList.html +13 -19
  130. data/rdoc/RubyXL/CT_Path2DQuadBezierTo.html +13 -19
  131. data/rdoc/RubyXL/CT_Path2DTo.html +13 -19
  132. data/rdoc/RubyXL/CT_PathShadeProperties.html +13 -19
  133. data/rdoc/RubyXL/CT_PatternFillProperties.html +13 -19
  134. data/rdoc/RubyXL/CT_Point3D.html +13 -19
  135. data/rdoc/RubyXL/CT_PolarAdjustHandle.html +13 -19
  136. data/rdoc/RubyXL/CT_PresetColor.html +13 -19
  137. data/rdoc/RubyXL/CT_PresetLineDashProperties.html +13 -19
  138. data/rdoc/RubyXL/CT_PresetShadowEffect.html +13 -19
  139. data/rdoc/RubyXL/CT_PresetTextShape.html +13 -19
  140. data/rdoc/RubyXL/CT_ReflectionEffect.html +13 -19
  141. data/rdoc/RubyXL/CT_RelativeOffsetEffect.html +13 -19
  142. data/rdoc/RubyXL/CT_RelativeRect.html +13 -19
  143. data/rdoc/RubyXL/CT_SRgbColor.html +13 -19
  144. data/rdoc/RubyXL/CT_ScRgbColor.html +13 -19
  145. data/rdoc/RubyXL/CT_Scene3D.html +13 -19
  146. data/rdoc/RubyXL/CT_SchemeColor.html +13 -19
  147. data/rdoc/RubyXL/CT_Shape3D.html +13 -19
  148. data/rdoc/RubyXL/CT_ShapeStyle.html +13 -19
  149. data/rdoc/RubyXL/CT_SoftEdgesEffect.html +13 -19
  150. data/rdoc/RubyXL/CT_SphereCoords.html +13 -19
  151. data/rdoc/RubyXL/CT_StretchInfoProperties.html +13 -19
  152. data/rdoc/RubyXL/CT_StyleMatrix.html +13 -19
  153. data/rdoc/RubyXL/CT_StyleMatrixReference.html +13 -19
  154. data/rdoc/RubyXL/CT_SupplementalFont.html +13 -19
  155. data/rdoc/RubyXL/CT_SystemColor.html +13 -19
  156. data/rdoc/RubyXL/CT_TextAutonumberBullet.html +13 -19
  157. data/rdoc/RubyXL/CT_TextBlipBullet.html +13 -19
  158. data/rdoc/RubyXL/CT_TextCharBullet.html +13 -19
  159. data/rdoc/RubyXL/CT_TextCharacterProperties.html +13 -19
  160. data/rdoc/RubyXL/CT_TextFont.html +13 -19
  161. data/rdoc/RubyXL/CT_TextListStyle.html +13 -19
  162. data/rdoc/RubyXL/CT_TextNormalAutofit.html +13 -19
  163. data/rdoc/RubyXL/CT_TextParagraphProperties.html +13 -19
  164. data/rdoc/RubyXL/CT_TextSpacing.html +13 -19
  165. data/rdoc/RubyXL/CT_TextTabStop.html +13 -19
  166. data/rdoc/RubyXL/CT_TextTabStopList.html +13 -19
  167. data/rdoc/RubyXL/CT_TileInfoProperties.html +13 -19
  168. data/rdoc/RubyXL/CT_TintEffect.html +13 -19
  169. data/rdoc/RubyXL/CT_Transform2D.html +13 -19
  170. data/rdoc/RubyXL/CT_TransformEffect.html +13 -19
  171. data/rdoc/RubyXL/CT_Vector3D.html +13 -19
  172. data/rdoc/RubyXL/CT_XYAdjustHandle.html +13 -19
  173. data/rdoc/RubyXL/CalculationChain.html +17 -45
  174. data/rdoc/RubyXL/CalculationChainCell.html +13 -19
  175. data/rdoc/RubyXL/CalculationProperties.html +13 -19
  176. data/rdoc/RubyXL/Cell.html +144 -204
  177. data/rdoc/RubyXL/CellConvenienceMethods.html +240 -426
  178. data/rdoc/RubyXL/CellExt.html +13 -19
  179. data/rdoc/RubyXL/CellSmartTag.html +13 -19
  180. data/rdoc/RubyXL/CellSmartTagProperty.html +13 -19
  181. data/rdoc/RubyXL/CellSmartTags.html +13 -19
  182. data/rdoc/RubyXL/CellStyle.html +13 -19
  183. data/rdoc/RubyXL/CellStyleXFs.html +18 -38
  184. data/rdoc/RubyXL/CellStyles.html +18 -38
  185. data/rdoc/RubyXL/CellValue.html +18 -38
  186. data/rdoc/RubyXL/CellWatch.html +13 -19
  187. data/rdoc/RubyXL/CellWatches.html +13 -19
  188. data/rdoc/RubyXL/CellXFs.html +19 -39
  189. data/rdoc/RubyXL/ChartColorsFile.html +12 -25
  190. data/rdoc/RubyXL/ChartFile.html +19 -49
  191. data/rdoc/RubyXL/ChartStyleFile.html +12 -25
  192. data/rdoc/RubyXL/ChartUserShapesFile.html +12 -25
  193. data/rdoc/RubyXL/Chartsheet.html +19 -67
  194. data/rdoc/RubyXL/ChartsheetPageSetup.html +13 -19
  195. data/rdoc/RubyXL/ChartsheetProperties.html +13 -19
  196. data/rdoc/RubyXL/ChartsheetProtection.html +13 -19
  197. data/rdoc/RubyXL/ChartsheetView.html +13 -19
  198. data/rdoc/RubyXL/ChartsheetViews.html +13 -19
  199. data/rdoc/RubyXL/Color.html +28 -39
  200. data/rdoc/RubyXL/ColorConvenienceClasses.html +91 -0
  201. data/rdoc/RubyXL/ColorConvenienceClasses/HlsColor.html +242 -0
  202. data/rdoc/RubyXL/ColorConvenienceClasses/RgbColor.html +279 -0
  203. data/rdoc/RubyXL/ColorConvenienceMethods.html +137 -0
  204. data/rdoc/RubyXL/ColorFilter.html +13 -19
  205. data/rdoc/RubyXL/ColorScale.html +13 -19
  206. data/rdoc/RubyXL/ColorSet.html +13 -19
  207. data/rdoc/RubyXL/Colors.html +13 -19
  208. data/rdoc/RubyXL/ColumnRange.html +20 -71
  209. data/rdoc/RubyXL/ColumnRanges.html +20 -79
  210. data/rdoc/RubyXL/Comment.html +13 -19
  211. data/rdoc/RubyXL/CommentList.html +13 -19
  212. data/rdoc/RubyXL/CommentsFile.html +17 -50
  213. data/rdoc/RubyXL/ConditionalFormatValue.html +13 -19
  214. data/rdoc/RubyXL/ConditionalFormatting.html +13 -19
  215. data/rdoc/RubyXL/ConditionalFormattingRule.html +13 -19
  216. data/rdoc/RubyXL/Connection.html +99 -0
  217. data/rdoc/RubyXL/ConnectionTable.html +99 -0
  218. data/rdoc/RubyXL/ConnectionTables.html +99 -0
  219. data/rdoc/RubyXL/ConnectionTextField.html +99 -0
  220. data/rdoc/RubyXL/ConnectionTextFields.html +99 -0
  221. data/rdoc/RubyXL/Connections.html +147 -0
  222. data/rdoc/RubyXL/ContentTypeDefault.html +12 -17
  223. data/rdoc/RubyXL/ContentTypeOverride.html +12 -17
  224. data/rdoc/RubyXL/ContentTypes.html +23 -63
  225. data/rdoc/RubyXL/ControlPropertiesFile.html +14 -22
  226. data/rdoc/RubyXL/CorePropertiesFile.html +26 -162
  227. data/rdoc/RubyXL/CustomColor.html +13 -19
  228. data/rdoc/RubyXL/CustomColorList.html +13 -19
  229. data/rdoc/RubyXL/CustomFilter.html +13 -19
  230. data/rdoc/RubyXL/CustomFilters.html +13 -19
  231. data/rdoc/RubyXL/CustomGeometry.html +13 -19
  232. data/rdoc/RubyXL/CustomProperties.html +13 -19
  233. data/rdoc/RubyXL/CustomPropertiesFile.html +12 -25
  234. data/rdoc/RubyXL/CustomProperty.html +13 -19
  235. data/rdoc/RubyXL/CustomPropertyFile.html +108 -0
  236. data/rdoc/RubyXL/CustomSheetView.html +13 -19
  237. data/rdoc/RubyXL/CustomSheetViews.html +13 -19
  238. data/rdoc/RubyXL/CustomWorkbookView.html +13 -19
  239. data/rdoc/RubyXL/CustomWorkbookViews.html +13 -19
  240. data/rdoc/RubyXL/CustomXMLFile.html +12 -22
  241. data/rdoc/RubyXL/DXF.html +13 -19
  242. data/rdoc/RubyXL/DXFs.html +13 -19
  243. data/rdoc/RubyXL/DataBar.html +13 -19
  244. data/rdoc/RubyXL/DataConsolidate.html +13 -19
  245. data/rdoc/RubyXL/DataConsolidationReference.html +13 -19
  246. data/rdoc/RubyXL/DataConsolidationReferences.html +13 -19
  247. data/rdoc/RubyXL/DataType.html +11 -39
  248. data/rdoc/RubyXL/DataValidation.html +13 -19
  249. data/rdoc/RubyXL/DataValidations.html +13 -19
  250. data/rdoc/RubyXL/DateGroupItem.html +13 -19
  251. data/rdoc/RubyXL/DefinedName.html +13 -19
  252. data/rdoc/RubyXL/DefinedNameExt.html +13 -19
  253. data/rdoc/RubyXL/DefinedNames.html +13 -19
  254. data/rdoc/RubyXL/DefinedNamesExt.html +13 -19
  255. data/rdoc/RubyXL/DocumentPropertiesFile.html +20 -66
  256. data/rdoc/RubyXL/DrawingFile.html +19 -49
  257. data/rdoc/RubyXL/DynamicFilter.html +13 -19
  258. data/rdoc/RubyXL/EmbeddedControl.html +13 -19
  259. data/rdoc/RubyXL/EmbeddedControls.html +13 -19
  260. data/rdoc/RubyXL/Extension.html +13 -19
  261. data/rdoc/RubyXL/ExtensionStorageArea.html +13 -19
  262. data/rdoc/RubyXL/Extents.html +13 -19
  263. data/rdoc/RubyXL/ExternalBook.html +13 -19
  264. data/rdoc/RubyXL/ExternalLinksFile.html +19 -49
  265. data/rdoc/RubyXL/ExternalReference.html +13 -19
  266. data/rdoc/RubyXL/ExternalReferences.html +13 -19
  267. data/rdoc/RubyXL/ExtraColorSchemeList.html +13 -19
  268. data/rdoc/RubyXL/FieldItem.html +13 -19
  269. data/rdoc/RubyXL/FileRecoveryProperties.html +13 -19
  270. data/rdoc/RubyXL/FileSharing.html +13 -19
  271. data/rdoc/RubyXL/FileVersion.html +13 -19
  272. data/rdoc/RubyXL/Fill.html +18 -38
  273. data/rdoc/RubyXL/Fills.html +18 -38
  274. data/rdoc/RubyXL/FilterContainer.html +13 -19
  275. data/rdoc/RubyXL/FloatNode.html +12 -17
  276. data/rdoc/RubyXL/FloatValue.html +12 -17
  277. data/rdoc/RubyXL/Font.html +20 -544
  278. data/rdoc/RubyXL/FontConvenienceMethods.html +414 -0
  279. data/rdoc/RubyXL/FontScheme.html +13 -19
  280. data/rdoc/RubyXL/Fonts.html +19 -39
  281. data/rdoc/RubyXL/Formula.html +13 -19
  282. data/rdoc/RubyXL/FunctionGroup.html +13 -19
  283. data/rdoc/RubyXL/FunctionGroups.html +13 -19
  284. data/rdoc/RubyXL/GenericStorageObject.html +19 -81
  285. data/rdoc/RubyXL/GradientFill.html +13 -19
  286. data/rdoc/RubyXL/HeaderFooterSettings.html +13 -19
  287. data/rdoc/RubyXL/Hyperlink.html +13 -19
  288. data/rdoc/RubyXL/HyperlinkRelFile.html +12 -22
  289. data/rdoc/RubyXL/Hyperlinks.html +13 -19
  290. data/rdoc/RubyXL/IconFilter.html +13 -19
  291. data/rdoc/RubyXL/IconSet.html +13 -19
  292. data/rdoc/RubyXL/IgnoredError.html +13 -19
  293. data/rdoc/RubyXL/IgnoredErrors.html +13 -19
  294. data/rdoc/RubyXL/IndexedColors.html +13 -19
  295. data/rdoc/RubyXL/InputCells.html +13 -19
  296. data/rdoc/RubyXL/IntegerNode.html +12 -17
  297. data/rdoc/RubyXL/IntegerValue.html +12 -17
  298. data/rdoc/RubyXL/LegacyCell.html +14 -66
  299. data/rdoc/RubyXL/LegacyWorksheet.html +40 -100
  300. data/rdoc/RubyXL/MRUColors.html +13 -19
  301. data/rdoc/RubyXL/MacrosFile.html +12 -25
  302. data/rdoc/RubyXL/MergedCell.html +13 -19
  303. data/rdoc/RubyXL/MergedCells.html +13 -19
  304. data/rdoc/RubyXL/NumFmt.html +13 -19
  305. data/rdoc/RubyXL/NumberFormat.html +18 -38
  306. data/rdoc/RubyXL/NumberFormats.html +18 -44
  307. data/rdoc/RubyXL/OLEObject.html +13 -19
  308. data/rdoc/RubyXL/OLEObjectFile.html +12 -25
  309. data/rdoc/RubyXL/OLEObjects.html +13 -19
  310. data/rdoc/RubyXL/OLESize.html +13 -19
  311. data/rdoc/RubyXL/OOXMLContainerObject.html +36 -132
  312. data/rdoc/RubyXL/OOXMLIgnored.html +163 -0
  313. data/rdoc/RubyXL/OOXMLObject.html +15 -25
  314. data/rdoc/RubyXL/OOXMLObjectClassMethods.html +88 -179
  315. data/rdoc/RubyXL/OOXMLObjectInstanceMethods.html +47 -183
  316. data/rdoc/RubyXL/OOXMLRelationshipsFile.html +42 -194
  317. data/rdoc/RubyXL/OOXMLTopLevelObject.html +37 -133
  318. data/rdoc/RubyXL/OdbcOleDbProperties.html +99 -0
  319. data/rdoc/RubyXL/Offset.html +13 -19
  320. data/rdoc/RubyXL/OlapProperties.html +99 -0
  321. data/rdoc/RubyXL/OleItem.html +99 -0
  322. data/rdoc/RubyXL/OleItems.html +99 -0
  323. data/rdoc/RubyXL/OleLink.html +99 -0
  324. data/rdoc/RubyXL/OutlineProperties.html +13 -19
  325. data/rdoc/RubyXL/PageMargins.html +13 -19
  326. data/rdoc/RubyXL/PageSetup.html +13 -19
  327. data/rdoc/RubyXL/PageSetupProperties.html +13 -19
  328. data/rdoc/RubyXL/Pane.html +13 -19
  329. data/rdoc/RubyXL/Parser.html +20 -53
  330. data/rdoc/RubyXL/PatternFill.html +13 -19
  331. data/rdoc/RubyXL/PhoneticProperties.html +13 -19
  332. data/rdoc/RubyXL/PhoneticRun.html +13 -19
  333. data/rdoc/RubyXL/PivotArea.html +13 -19
  334. data/rdoc/RubyXL/PivotCache.html +13 -19
  335. data/rdoc/RubyXL/PivotCacheDefinitionFile.html +14 -30
  336. data/rdoc/RubyXL/PivotCacheRecordsFile.html +12 -25
  337. data/rdoc/RubyXL/PivotCaches.html +13 -19
  338. data/rdoc/RubyXL/PivotReference.html +13 -19
  339. data/rdoc/RubyXL/PivotReferences.html +13 -19
  340. data/rdoc/RubyXL/PivotTableFile.html +14 -30
  341. data/rdoc/RubyXL/PivotTableSelection.html +13 -19
  342. data/rdoc/RubyXL/PresetGeometry.html +13 -19
  343. data/rdoc/RubyXL/PrintOptions.html +13 -19
  344. data/rdoc/RubyXL/PrinterSettingsFile.html +12 -25
  345. data/rdoc/RubyXL/ProtectedRange.html +13 -19
  346. data/rdoc/RubyXL/ProtectedRanges.html +13 -19
  347. data/rdoc/RubyXL/Protection.html +13 -19
  348. data/rdoc/RubyXL/QueryParameter.html +99 -0
  349. data/rdoc/RubyXL/QueryParameters.html +99 -0
  350. data/rdoc/RubyXL/QueryTable.html +155 -0
  351. data/rdoc/RubyXL/QueryTableDeletedField.html +99 -0
  352. data/rdoc/RubyXL/QueryTableDeletedFields.html +99 -0
  353. data/rdoc/RubyXL/QueryTableField.html +99 -0
  354. data/rdoc/RubyXL/QueryTableFields.html +99 -0
  355. data/rdoc/RubyXL/QueryTableRefresh.html +99 -0
  356. data/rdoc/RubyXL/RID.html +12 -17
  357. data/rdoc/RubyXL/RawOOXML.html +19 -58
  358. data/rdoc/RubyXL/Reference.html +31 -215
  359. data/rdoc/RubyXL/Relationship.html +12 -17
  360. data/rdoc/RubyXL/RelationshipSupport.html +32 -126
  361. data/rdoc/RubyXL/RelationshipSupport/ClassMehods.html +15 -33
  362. data/rdoc/RubyXL/RevisionPointer.html +99 -0
  363. data/rdoc/RubyXL/RichText.html +18 -38
  364. data/rdoc/RubyXL/RichTextRun.html +17 -37
  365. data/rdoc/RubyXL/Row.html +53 -152
  366. data/rdoc/RubyXL/RowExt.html +13 -19
  367. data/rdoc/RubyXL/RunProperties.html +13 -19
  368. data/rdoc/RubyXL/Scenario.html +13 -19
  369. data/rdoc/RubyXL/Scenarios.html +13 -19
  370. data/rdoc/RubyXL/Selection.html +20 -40
  371. data/rdoc/RubyXL/ShapeGuide.html +13 -19
  372. data/rdoc/RubyXL/ShapeTextRectangle.html +13 -19
  373. data/rdoc/RubyXL/SharedStringsTable.html +31 -140
  374. data/rdoc/RubyXL/Sheet.html +13 -19
  375. data/rdoc/RubyXL/SheetCalculationProperties.html +13 -19
  376. data/rdoc/RubyXL/SheetData.html +20 -53
  377. data/rdoc/RubyXL/SheetDataExt.html +13 -19
  378. data/rdoc/RubyXL/SheetDataSet.html +13 -19
  379. data/rdoc/RubyXL/SheetName.html +13 -19
  380. data/rdoc/RubyXL/SheetNames.html +13 -19
  381. data/rdoc/RubyXL/Sheets.html +13 -19
  382. data/rdoc/RubyXL/SlicerCacheFile.html +12 -25
  383. data/rdoc/RubyXL/SlicerFile.html +12 -25
  384. data/rdoc/RubyXL/SmartTagProperties.html +13 -19
  385. data/rdoc/RubyXL/SmartTagType.html +13 -19
  386. data/rdoc/RubyXL/SmartTagTypes.html +13 -19
  387. data/rdoc/RubyXL/SmartTags.html +13 -19
  388. data/rdoc/RubyXL/SortCondition.html +13 -19
  389. data/rdoc/RubyXL/SortState.html +13 -19
  390. data/rdoc/RubyXL/Sqref.html +18 -51
  391. data/rdoc/RubyXL/Stop.html +13 -19
  392. data/rdoc/RubyXL/StringNode.html +12 -17
  393. data/rdoc/RubyXL/StringNodeW3C.html +19 -52
  394. data/rdoc/RubyXL/StringValue.html +12 -17
  395. data/rdoc/RubyXL/Stylesheet.html +30 -112
  396. data/rdoc/RubyXL/TableFile.html +12 -25
  397. data/rdoc/RubyXL/TableParts.html +12 -17
  398. data/rdoc/RubyXL/TableStyle.html +13 -19
  399. data/rdoc/RubyXL/TableStyles.html +13 -19
  400. data/rdoc/RubyXL/Text.html +19 -63
  401. data/rdoc/RubyXL/TextImportSettings.html +99 -0
  402. data/rdoc/RubyXL/Theme.html +58 -63
  403. data/rdoc/RubyXL/ThemeElements.html +13 -19
  404. data/rdoc/RubyXL/ThumbnailFile.html +12 -25
  405. data/rdoc/RubyXL/Top10.html +13 -19
  406. data/rdoc/RubyXL/VMLDrawingFile.html +15 -32
  407. data/rdoc/RubyXL/Variant.html +13 -19
  408. data/rdoc/RubyXL/Vector.html +17 -37
  409. data/rdoc/RubyXL/VectorValue.html +12 -17
  410. data/rdoc/RubyXL/VisualProperties.html +13 -19
  411. data/rdoc/RubyXL/WebPublishObject.html +13 -19
  412. data/rdoc/RubyXL/WebPublishObjects.html +13 -19
  413. data/rdoc/RubyXL/WebPublishingItem.html +13 -19
  414. data/rdoc/RubyXL/WebPublishingItems.html +13 -19
  415. data/rdoc/RubyXL/WebPublishingProperties.html +13 -19
  416. data/rdoc/RubyXL/WebQueryProperties.html +99 -0
  417. data/rdoc/RubyXL/Workbook.html +483 -226
  418. data/rdoc/RubyXL/WorkbookConvenienceMethods.html +149 -857
  419. data/rdoc/RubyXL/WorkbookProperties.html +13 -19
  420. data/rdoc/RubyXL/WorkbookProtection.html +13 -19
  421. data/rdoc/RubyXL/WorkbookRoot.html +23 -109
  422. data/rdoc/RubyXL/WorkbookView.html +13 -19
  423. data/rdoc/RubyXL/WorkbookViews.html +13 -19
  424. data/rdoc/RubyXL/Worksheet.html +70 -122
  425. data/rdoc/RubyXL/WorksheetConvenienceMethods.html +398 -1049
  426. data/rdoc/RubyXL/WorksheetDimensions.html +13 -19
  427. data/rdoc/RubyXL/WorksheetFormatProperties.html +12 -17
  428. data/rdoc/RubyXL/WorksheetProperties.html +13 -19
  429. data/rdoc/RubyXL/WorksheetProtection.html +13 -19
  430. data/rdoc/RubyXL/WorksheetView.html +13 -19
  431. data/rdoc/RubyXL/WorksheetViews.html +13 -19
  432. data/rdoc/RubyXL/XF.html +13 -19
  433. data/rdoc/created.rid +45 -38
  434. data/rdoc/css/fonts.css +6 -6
  435. data/rdoc/css/rdoc.css +35 -6
  436. data/rdoc/index.html +43 -363
  437. data/rdoc/js/darkfish.js +23 -100
  438. data/rdoc/js/navigation.js +4 -41
  439. data/rdoc/js/navigation.js.gz +0 -0
  440. data/rdoc/js/search.js +32 -31
  441. data/rdoc/js/search_index.js +1 -1
  442. data/rdoc/js/search_index.js.gz +0 -0
  443. data/rdoc/js/searcher.js +7 -6
  444. data/rdoc/js/searcher.js.gz +0 -0
  445. data/rdoc/table_of_contents.html +368 -75
  446. data/rubyXL.gemspec +60 -26
  447. data/spec/lib/cell_spec.rb +147 -2
  448. data/spec/lib/color_spec.rb +1 -0
  449. data/spec/lib/parser_spec.rb +1 -1
  450. data/spec/lib/rgb_color_spec.rb +16 -0
  451. data/spec/lib/text_spec.rb +8 -0
  452. data/spec/lib/workbook_spec.rb +12 -1
  453. data/spec/lib/worksheet_spec.rb +353 -37
  454. data/test/test_parse_write.rb +15 -15
  455. metadata +63 -9
  456. data/rdoc/js/jquery.js +0 -4
@@ -49,7 +49,7 @@ module RubyXL
49
49
 
50
50
  end
51
51
 
52
- # http://www.schemacentral.com/sc/ooxml/e-docPropsVTypes_variant.html
52
+ # http://www.datypic.com/sc/ooxml/e-docPropsVTypes_variant.html
53
53
  class Variant < OOXMLObject
54
54
  define_child_node(RubyXL::Variant, :node_name => 'vt:variant')
55
55
 
@@ -91,7 +91,7 @@ module RubyXL
91
91
  define_element_name 'vt:vector'
92
92
  end
93
93
 
94
- # http://www.schemacentral.com/sc/ooxml/e-docPropsVTypes_vector.html
94
+ # http://www.datypic.com/sc/ooxml/e-docPropsVTypes_vector.html
95
95
  class Vector < OOXMLObject
96
96
  define_attribute(:baseType, RubyXL::ST_VectorBaseType, :required => true)
97
97
  define_attribute(:size, :int, :required => true)
@@ -38,7 +38,7 @@ module RubyXL
38
38
  ext = obj.xlsx_path.extname[1..-1]
39
39
  next if ext.nil?
40
40
  content_types_by_ext[ext] ||= []
41
- content_types_by_ext[ext] << klass::CONTENT_TYPE
41
+ content_types_by_ext[ext] << klass::CONTENT_TYPE
42
42
  }
43
43
  }
44
44
 
@@ -46,7 +46,7 @@ module RubyXL
46
46
 
47
47
  # Determine which content types are used most often, and add them to the list of defaults
48
48
  content_types_by_ext.each_pair { |ext, content_types_arr|
49
- next if ext.nil? || defaults.any? { |d| d.extension == ext }
49
+ next if ext.nil? || defaults.any? { |d| d.extension == ext }
50
50
  most_frequent_ct = content_types_arr.group_by { |ct| ct }.values.max_by(&:size).first
51
51
  defaults << RubyXL::ContentTypeDefault.new(:extension => ext, :content_type => most_frequent_ct )
52
52
  }
@@ -4,13 +4,15 @@ require 'rubyXL/objects/formula'
4
4
 
5
5
  module RubyXL
6
6
 
7
- # http://www.schemacentral.com/sc/ooxml/e-ssml_dataValidation-1.html
7
+ # http://www.datypic.com/sc/ooxml/e-ssml_dataValidation-1.html
8
8
  class DataValidation < OOXMLObject
9
9
  define_attribute(:type, RubyXL::ST_DataValidationType, :default => 'none')
10
10
  define_attribute(:errorStyle, RubyXL::ST_DataValidationErrorStyle, :default => 'stop')
11
11
  define_attribute(:imeMode, RubyXL::ST_DataValidationImeMode, :default => 'noControl')
12
12
  define_attribute(:operator, RubyXL::ST_DataValidationOperator, :default => 'between')
13
13
  define_attribute(:allowBlank, :bool, :default => false)
14
+ # Documentation lies. This property should have been called "HIDE dropdown",
15
+ # since that's what happens when it is set to true.
14
16
  define_attribute(:showDropDown, :bool, :default => false)
15
17
  define_attribute(:showInputMessage, :bool, :default => false)
16
18
  define_attribute(:showErrorMessage, :bool, :default => false)
@@ -25,7 +27,7 @@ module RubyXL
25
27
  define_element_name 'dataValidation'
26
28
  end
27
29
 
28
- # http://www.schemacentral.com/sc/ooxml/e-ssml_dataValidations-1.html
30
+ # http://www.datypic.com/sc/ooxml/e-ssml_dataValidations-1.html
29
31
  class DataValidations < OOXMLContainerObject
30
32
  define_attribute(:disablePrompts, :bool, :default => false)
31
33
  define_attribute(:xWindow, :int)
@@ -4,7 +4,7 @@ require 'time'
4
4
 
5
5
  module RubyXL
6
6
 
7
- # http://www.schemacentral.com/sc/ooxml/e-extended-properties_Properties.html
7
+ # http://www.datypic.com/sc/ooxml/e-extended-properties_Properties.html
8
8
  class DocumentPropertiesFile < OOXMLTopLevelObject
9
9
  CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.extended-properties+xml'
10
10
  REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties'
@@ -127,7 +127,7 @@ module RubyXL
127
127
  end
128
128
 
129
129
  def creator=(v)
130
- self.dc_creator = v && RubyXL::StringNodeW3C.new(:value => v)
130
+ self.dc_creator = v && RubyXL::StringNode.new(:value => v)
131
131
  end
132
132
 
133
133
  def modifier
@@ -135,7 +135,7 @@ module RubyXL
135
135
  end
136
136
 
137
137
  def modifier=(v)
138
- self.cp_last_modified_by = v && RubyXL::StringNodeW3C.new(:value => v)
138
+ self.cp_last_modified_by = v && RubyXL::StringNode.new(:value => v)
139
139
  end
140
140
 
141
141
  def created_at
@@ -2,7 +2,7 @@ require 'rubyXL/objects/ooxml_object'
2
2
 
3
3
  module RubyXL
4
4
 
5
- # http://www.schemacentral.com/sc/ooxml/e-ssml_ext-1.html
5
+ # http://www.datypic.com/sc/ooxml/e-ssml_ext-1.html
6
6
  class RawOOXML < OOXMLObject
7
7
  attr_accessor :raw_xml
8
8
 
@@ -17,13 +17,13 @@ module RubyXL
17
17
  end
18
18
  end
19
19
 
20
- # http://www.schemacentral.com/sc/ooxml/e-ssml_ext-1.html
20
+ # http://www.datypic.com/sc/ooxml/e-ssml_ext-1.html
21
21
  class Extension < RawOOXML
22
22
  define_attribute(:uri, :string)
23
23
  define_element_name 'ext'
24
24
  end
25
25
 
26
- # http://www.schemacentral.com/sc/ooxml/e-ssml_extLst-1.html
26
+ # http://www.datypic.com/sc/ooxml/e-ssml_extLst-1.html
27
27
  class ExtensionStorageArea < OOXMLObject
28
28
  define_child_node(RubyXL::Extension, :collection => true)
29
29
  define_element_name 'extLst'
@@ -33,4 +33,21 @@ module RubyXL
33
33
  define_element_name 'mc:AlternateContent'
34
34
  end
35
35
 
36
+ class OOXMLIgnored < OOXMLObject
37
+ def self.parse(node, ignore)
38
+ nil
39
+ end
40
+
41
+ def write_xml(xml, node_name_override = nil)
42
+ ''
43
+ end
44
+ end
45
+
46
+ # https://msdn.microsoft.com/en-us/library/mt793297(v=office.12).aspx
47
+ # "A CT_RevisionPtr element that specifies metadata supporting runtime scenarios for Microsoft Excel.
48
+ # It SHOULD be ignored and SHOULD NOT be saved by all others."
49
+ class RevisionPointer < OOXMLIgnored
50
+ define_element_name 'xr:revisionPtr'
51
+ end
52
+
36
53
  end
@@ -16,7 +16,7 @@ module RubyXL
16
16
  class DefinedNameExt < OOXMLObject
17
17
  define_attribute(:name, :string, :required => true)
18
18
  define_attribute(:refersTo, :string)
19
- define_attribute(:sheetId, :uint)
19
+ define_attribute(:sheetId, :uint)
20
20
  define_element_name 'definedName'
21
21
  end
22
22
 
@@ -61,16 +61,40 @@ module RubyXL
61
61
  define_child_node(RubyXL::SheetNames)
62
62
  define_child_node(RubyXL::DefinedNamesExt)
63
63
  define_child_node(RubyXL::SheetDataSet)
64
- define_attribute(:'r:id', :string, :required => true)
64
+ define_relationship(:required => true)
65
65
  define_element_name 'externalBook'
66
66
  end
67
67
 
68
+ # http://www.datypic.com/sc/ooxml/e-ssml_oleItem-1.html
69
+ class OleItem < OOXMLObject
70
+ define_attribute(:name, :string, :required => true)
71
+ define_attribute(:icon, :bool)
72
+ define_attribute(:advise, :bool)
73
+ define_attribute(:preferPic, :bool)
74
+ define_element_name 'oleItem'
75
+ end
76
+
77
+ # http://www.datypic.com/sc/ooxml/e-ssml_oleItems-1.html
78
+ class OleItems < OOXMLContainerObject
79
+ define_child_node(RubyXL::OleItem)
80
+ define_element_name 'oleItems'
81
+ end
82
+
83
+ # http://www.datypic.com/sc/ooxml/t-ssml_CT_OleLink.html
84
+ class OleLink < OOXMLObject
85
+ define_child_node(RubyXL::OleItems, :collection => true)
86
+ define_relationship(:required => true)
87
+ define_attribute(:progId, :string, :required => true)
88
+ define_element_name 'oleLink'
89
+ end
90
+
68
91
  class ExternalLinksFile < OOXMLTopLevelObject
69
92
  CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml'
70
93
  REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink'
71
94
 
72
95
  include RubyXL::RelationshipSupport
73
96
  define_child_node(RubyXL::ExternalBook)
97
+ define_child_node(RubyXL::OleLink)
74
98
 
75
99
  define_element_name 'externalLink'
76
100
  set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => nil,
@@ -10,7 +10,7 @@ module RubyXL
10
10
  define_element_name 'stop'
11
11
  end
12
12
 
13
- # http://www.schemacentral.com/sc/ooxml/e-ssml_patternFill-1.html
13
+ # http://www.datypic.com/sc/ooxml/e-ssml_patternFill-1.html
14
14
  class PatternFill < OOXMLObject
15
15
  define_attribute(:patternType, RubyXL::ST_PatternType)
16
16
  define_child_node(RubyXL::Color, :node_name => :fgColor )
@@ -18,7 +18,7 @@ module RubyXL
18
18
  define_element_name 'patternFill'
19
19
  end
20
20
 
21
- # http://www.schemacentral.com/sc/ooxml/e-ssml_gradientFill-1.html
21
+ # http://www.datypic.com/sc/ooxml/e-ssml_gradientFill-1.html
22
22
  class GradientFill < OOXMLObject
23
23
  define_attribute(:type, RubyXL::ST_GradientType, :default => 'linear')
24
24
  define_attribute(:degree, :double, :default => 0)
@@ -30,7 +30,7 @@ module RubyXL
30
30
  define_element_name 'gradientFill'
31
31
  end
32
32
 
33
- # http://www.schemacentral.com/sc/ooxml/e-ssml_fill-1.html
33
+ # http://www.datypic.com/sc/ooxml/e-ssml_fill-1.html
34
34
  class Fill < OOXMLObject
35
35
  define_child_node(RubyXL::PatternFill)
36
36
  define_child_node(RubyXL::GradientFill)
@@ -42,7 +42,7 @@ module RubyXL
42
42
 
43
43
  end
44
44
 
45
- # http://www.schemacentral.com/sc/ooxml/e-ssml_fills-1.html
45
+ # http://www.datypic.com/sc/ooxml/e-ssml_fills-1.html
46
46
  class Fills < OOXMLContainerObject
47
47
  define_child_node(RubyXL::Fill, :collection => :with_count)
48
48
  define_element_name 'fills'
@@ -4,7 +4,7 @@ require 'rubyXL/objects/extensions'
4
4
 
5
5
  module RubyXL
6
6
 
7
- # http://www.schemacentral.com/sc/ooxml/e-ssml_dateGroupItem-1.html
7
+ # http://www.datypic.com/sc/ooxml/e-ssml_dateGroupItem-1.html
8
8
  class DateGroupItem < OOXMLObject
9
9
  define_attribute(:year, :int, :required => true)
10
10
  define_attribute(:month, :int)
@@ -16,7 +16,7 @@ module RubyXL
16
16
  define_element_name 'dateGroupItem'
17
17
  end
18
18
 
19
- # http://www.schemacentral.com/sc/ooxml/e-ssml_filters-1.html
19
+ # http://www.datypic.com/sc/ooxml/e-ssml_filters-1.html
20
20
  class FilterContainer < OOXMLObject
21
21
  define_attribute(:blank, :bool, :default => false)
22
22
  define_attribute(:calendarType, RubyXL::ST_CalendarType, :default => 'none')
@@ -25,7 +25,7 @@ module RubyXL
25
25
  define_element_name 'filters'
26
26
  end
27
27
 
28
- # http://www.schemacentral.com/sc/ooxml/e-ssml_top10-1.html
28
+ # http://www.datypic.com/sc/ooxml/e-ssml_top10-1.html
29
29
  class Top10 < OOXMLObject
30
30
  define_attribute(:top, :bool, :default => true)
31
31
  define_attribute(:percent, :bool, :default => false)
@@ -34,21 +34,21 @@ module RubyXL
34
34
  define_element_name 'top10'
35
35
  end
36
36
 
37
- # http://www.schemacentral.com/sc/ooxml/e-ssml_customFilter-1.html
37
+ # http://www.datypic.com/sc/ooxml/e-ssml_customFilter-1.html
38
38
  class CustomFilter < OOXMLObject
39
39
  define_attribute(:operator, RubyXL::ST_FilterOperator, :default => 'equal')
40
40
  define_attribute(:val, :string)
41
41
  define_element_name 'customFilter'
42
42
  end
43
43
 
44
- # http://www.schemacentral.com/sc/ooxml/e-ssml_customFilters-1.html
44
+ # http://www.datypic.com/sc/ooxml/e-ssml_customFilters-1.html
45
45
  class CustomFilters < OOXMLContainerObject
46
46
  define_attribute(:and, :bool, :default => false)
47
47
  define_child_node(RubyXL::CustomFilter, :collection => true)
48
48
  define_element_name 'customFilters'
49
49
  end
50
50
 
51
- # http://www.schemacentral.com/sc/ooxml/e-ssml_dynamicFilter-1.html
51
+ # http://www.datypic.com/sc/ooxml/e-ssml_dynamicFilter-1.html
52
52
  class DynamicFilter < OOXMLObject
53
53
  define_attribute(:type, RubyXL::ST_DynamicFilterType, :required => true)
54
54
  define_attribute(:val, :double)
@@ -56,21 +56,21 @@ module RubyXL
56
56
  define_element_name 'dynamicFilter'
57
57
  end
58
58
 
59
- # http://www.schemacentral.com/sc/ooxml/e-ssml_colorFilter-1.html
59
+ # http://www.datypic.com/sc/ooxml/e-ssml_colorFilter-1.html
60
60
  class ColorFilter < OOXMLObject
61
61
  define_attribute(:dxfId, :string)
62
62
  define_attribute(:cellColor, :bool)
63
63
  define_element_name 'colorFilter'
64
64
  end
65
65
 
66
- # http://www.schemacentral.com/sc/ooxml/e-ssml_iconFilter-1.html
66
+ # http://www.datypic.com/sc/ooxml/e-ssml_iconFilter-1.html
67
67
  class IconFilter < OOXMLObject
68
68
  define_attribute(:iconSet, RubyXL::ST_IconSetType)
69
69
  define_attribute(:iconId, :int)
70
70
  define_element_name 'iconFilter'
71
71
  end
72
72
 
73
- # http://www.schemacentral.com/sc/ooxml/e-ssml_filterColumn-1.html
73
+ # http://www.datypic.com/sc/ooxml/e-ssml_filterColumn-1.html
74
74
  class AutoFilterColumn < OOXMLObject
75
75
  define_attribute(:colId, :int, :required => true)
76
76
  define_attribute(:hiddenButton, :bool, :default => false)
@@ -85,7 +85,7 @@ module RubyXL
85
85
  define_element_name 'filterColumn'
86
86
  end
87
87
 
88
- # http://www.schemacentral.com/sc/ooxml/e-ssml_sortCondition-1.html
88
+ # http://www.datypic.com/sc/ooxml/e-ssml_sortCondition-1.html
89
89
  class SortCondition < OOXMLObject
90
90
  define_attribute(:descending, :bool, :default => false)
91
91
  define_attribute(:sortBy, RubyXL::ST_SortBy, :default => 'value')
@@ -97,7 +97,7 @@ module RubyXL
97
97
  define_element_name 'sortCondition'
98
98
  end
99
99
 
100
- # http://www.schemacentral.com/sc/ooxml/e-ssml_sortState-2.html
100
+ # http://www.datypic.com/sc/ooxml/e-ssml_sortState-2.html
101
101
  class SortState < OOXMLObject
102
102
  define_attribute(:columnSort, :bool, :default => false)
103
103
  define_attribute(:caseSensitive, :bool, :default => false)
@@ -108,7 +108,7 @@ module RubyXL
108
108
  define_element_name 'sortState'
109
109
  end
110
110
 
111
- # http://www.schemacentral.com/sc/ooxml/e-ssml_autoFilter-2.html
111
+ # http://www.datypic.com/sc/ooxml/e-ssml_autoFilter-2.html
112
112
  class AutoFilter < OOXMLObject
113
113
  define_attribute(:ref, :ref)
114
114
  define_child_node(RubyXL::AutoFilterColumn)
@@ -4,7 +4,7 @@ require 'rubyXL/objects/color'
4
4
 
5
5
  module RubyXL
6
6
 
7
- # http://www.schemacentral.com/sc/ooxml/e-ssml_font-1.html
7
+ # http://www.datypic.com/sc/ooxml/e-ssml_font-1.html
8
8
  class Font < OOXMLObject
9
9
  # Since we have no capability to load the actual fonts, we'll have to live with the default.
10
10
  MAX_DIGIT_WIDTH = 7 # Calibri 11 pt @ 96 dpi
@@ -26,71 +26,13 @@ module RubyXL
26
26
  define_child_node(RubyXL::StringValue, :node_name => :scheme)
27
27
  define_element_name 'font'
28
28
 
29
- def is_italic
30
- i && (i.val || true)
31
- end
32
-
33
- def set_italic(val)
34
- self.i = RubyXL::BooleanValue.new(:val => val)
35
- end
36
-
37
- def is_bold
38
- b && (b.val || true)
39
- end
40
-
41
- def set_bold(val)
42
- self.b = RubyXL::BooleanValue.new(:val => val)
43
- end
44
-
45
- def is_underlined
46
- u && (u.val || true)
47
- end
48
-
49
- def set_underline(val)
50
- self.u = RubyXL::BooleanValue.new(:val => val)
51
- end
52
-
53
- def is_strikethrough
54
- strike && (strike.val || true)
55
- end
56
-
57
- def set_strikethrough(val)
58
- self.strike = RubyXL::BooleanValue.new(:val => val)
59
- end
60
-
61
- def get_name
62
- name && name.val
63
- end
64
-
65
- def set_name(val)
66
- self.name = RubyXL::StringValue.new(:val => val)
67
- end
68
-
69
- def get_size
70
- sz && sz.val
71
- end
72
-
73
- def set_size(val)
74
- self.sz = RubyXL::FloatValue.new(:val => val)
75
- end
76
-
77
- def get_rgb_color
78
- color && color.rgb
79
- end
80
-
81
- # Helper method to modify the font color
82
- def set_rgb_color(font_color)
83
- self.color = RubyXL::Color.new(:rgb => font_color.to_s)
84
- end
85
-
86
29
  def self.default(size = 10)
87
30
  self.new(:name => RubyXL::StringValue.new(:val => 'Verdana'),
88
31
  :sz => RubyXL::FloatValue.new(:val => size) )
89
32
  end
90
-
91
33
  end
92
34
 
93
- # http://www.schemacentral.com/sc/ooxml/e-ssml_fonts-1.html
35
+ # http://www.datypic.com/sc/ooxml/e-ssml_fonts-1.html
94
36
  class Fonts < OOXMLContainerObject
95
37
  define_child_node(RubyXL::Font, :collection => :with_count)
96
38
  define_element_name 'fonts'
@@ -3,7 +3,7 @@ require 'rubyXL/objects/simple_types'
3
3
 
4
4
  module RubyXL
5
5
 
6
- # http://www.schemacentral.com/sc/ooxml/e-ssml_f-1.html
6
+ # http://www.datypic.com/sc/ooxml/e-ssml_f-1.html
7
7
  class Formula < OOXMLObject
8
8
  define_attribute(:_, :string, :accessor => :expression)
9
9
  define_attribute(:t, RubyXL::ST_CellFormulaType, :default => 'normal')
@@ -53,6 +53,11 @@ module RubyXL
53
53
  self.send(:attr_accessor, attr_hash[:accessor]) unless attr_hash[:computed]
54
54
  end
55
55
 
56
+ # Defines a `r:id` attribute
57
+ def define_relationship(extra_params = {})
58
+ define_attribute(:'r:id', :string, extra_params)
59
+ end
60
+
56
61
  # Defines a child node of OOXML object.
57
62
  # === Parameters
58
63
  # * +klass+ - Class (descendant of RubyXL::OOXMLObject) of the child nodes. Child node objects will be produced by calling +parse+ method of that class.
@@ -144,7 +149,9 @@ module RubyXL
144
149
  node.element_children.each { |child_node|
145
150
 
146
151
  ns = child_node.namespace
147
- prefix = known_namespaces[ns.href] || ns.prefix
152
+ prefix = if known_namespaces.has_key?(ns.href) then known_namespaces[ns.href]
153
+ else ns.prefix
154
+ end
148
155
 
149
156
  child_node_name = case prefix
150
157
  when '', nil then child_node.name
@@ -187,12 +194,12 @@ module RubyXL
187
194
  def process_attribute(obj, raw_value, params)
188
195
  val = raw_value &&
189
196
  case params[:attr_type]
190
- when :double then Float(raw_value) # http://www.datypic.com/sc/xsd/t-xsd_double.html
197
+ when :double then Float(raw_value) # http://www.datypic.com/sc/xsd/t-xsd_double.html
191
198
  when :string then raw_value
192
199
  when Array then raw_value # Case of Simple Types
193
200
  when :sqref then RubyXL::Sqref.new(raw_value)
194
201
  when :ref then RubyXL::Reference.new(raw_value)
195
- when :bool then ['1', 'true'].include?(raw_value)
202
+ when :bool then ['1', 'true'].include?(raw_value) # http://www.datypic.com/sc/xsd/t-xsd_boolean.html
196
203
  when :int then Integer(raw_value)
197
204
  when :uint then
198
205
  v = Integer(raw_value)
@@ -270,6 +277,11 @@ module RubyXL
270
277
  if xml.nil? then
271
278
  seed_xml = Nokogiri::XML('<?xml version = "1.0" standalone ="yes"?>')
272
279
  seed_xml.encoding = 'UTF-8'
280
+
281
+ if Nokogiri.jruby? then # Issue 188 workaround for JRuby
282
+ seed_xml.to_java.strict_error_checking = false
283
+ end
284
+
273
285
  result = self.write_xml(seed_xml)
274
286
  return result if result == ''
275
287
  seed_xml << result