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
@@ -0,0 +1,104 @@
1
+ require 'rubyXL/objects/ooxml_object'
2
+ require 'rubyXL/objects/simple_types'
3
+ require 'rubyXL/objects/extensions'
4
+ require 'rubyXL/objects/relationships'
5
+ require 'rubyXL/objects/sheet_common'
6
+
7
+ # Query Tables
8
+ # https://msdn.microsoft.com/en-us/library/hh643563(v=office.12).aspx
9
+
10
+ module RubyXL
11
+ # http://www.datypic.com/sc/ooxml/e-ssml_queryTableField-1.html
12
+ class QueryTableField < OOXMLObject
13
+ define_attribute(:id, :uint, :required => true)
14
+ define_attribute(:name, RubyXL::ST_Xstring)
15
+ define_attribute(:dataBound, :bool, :default => true)
16
+ define_attribute(:rowNumbers, :bool, :default => false)
17
+ define_attribute(:fillFormulas, :bool, :default => false)
18
+ define_attribute(:clipped, :bool, :default => false)
19
+ define_attribute(:tableColumnId, :uint, :default => 0)
20
+
21
+ define_child_node(RubyXL::ExtensionStorageArea)
22
+
23
+ define_element_name 'queryTableField'
24
+ end
25
+
26
+ # http://www.datypic.com/sc/ooxml/e-ssml_queryTableFields-1.html
27
+ class QueryTableFields < OOXMLObject
28
+ define_child_node(RubyXL::QueryTableField, :collection => :with_count, :accessor => :fields, :node_name => :queryTableField)
29
+ define_element_name 'queryTableFields'
30
+ end
31
+
32
+ # http://www.datypic.com/sc/ooxml/e-ssml_deletedField-1.html
33
+ class QueryTableDeletedField < OOXMLObject
34
+ define_attribute(:name, RubyXL::ST_Xstring, :required => true)
35
+
36
+ define_element_name 'deletedField'
37
+ end
38
+
39
+ # http://www.datypic.com/sc/ooxml/e-ssml_queryTableDeletedFields-1.html
40
+ class QueryTableDeletedFields < OOXMLObject
41
+ define_child_node(RubyXL::QueryTableDeletedField, :collection => :with_count, :accessor => :deleted_fields, :node_name => :deletedField)
42
+ define_element_name 'queryTableDeletedFields'
43
+ end
44
+
45
+ # http://www.datypic.com/sc/ooxml/e-ssml_queryTableRefresh-1.html
46
+ class QueryTableRefresh < OOXMLObject
47
+ define_attribute(:preserveSortFilterLayout, :bool, :default => true)
48
+ define_attribute(:fieldIdWrapped, :bool, :default => false)
49
+ define_attribute(:headersInLastRefresh, :bool, :default => true)
50
+ define_attribute(:minimumVersion, :uint, :default => 0)
51
+ define_attribute(:nextId, :uint, :default => 1)
52
+ define_attribute(:unboundColumnsLeft, :uint, :default => 0)
53
+ define_attribute(:unboundColumnsRight, :uint, :default => 0)
54
+
55
+ define_child_node(RubyXL::QueryTableFields) # [1..1]
56
+ define_child_node(RubyXL::QueryTableDeletedFields)
57
+ define_child_node(RubyXL::SortState)
58
+ define_child_node(RubyXL::ExtensionStorageArea)
59
+
60
+ define_element_name 'queryTableRefresh'
61
+ end
62
+
63
+ # http://www.datypic.com/sc/ooxml/e-ssml_queryTable.html
64
+ class QueryTable < OOXMLTopLevelObject
65
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml'
66
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/queryTable'
67
+
68
+ include RubyXL::RelationshipSupport
69
+
70
+ define_attribute(:name, RubyXL::ST_Xstring, :required => true)
71
+ define_attribute(:headers, :bool, :default => true)
72
+ define_attribute(:rowNumbers, :bool, :default => false)
73
+ define_attribute(:disableRefresh, :bool, :default => false)
74
+ define_attribute(:backgroundRefresh, :bool, :default => true)
75
+ define_attribute(:firstBackgroundRefresh, :bool, :default => false)
76
+ define_attribute(:refreshOnLoad, :bool, :default => false)
77
+ define_attribute(:growShrinkType, RubyXL::ST_GrowShrinkType, :default => 'insertDelete')
78
+ define_attribute(:fillFormulas, :bool, :default => false)
79
+ define_attribute(:removeDataOnSave, :bool, :default => false)
80
+ define_attribute(:disableEdit, :bool, :default => false)
81
+ define_attribute(:preserveFormatting, :bool, :default => true)
82
+ define_attribute(:adjustColumnWidth, :bool, :default => true)
83
+ define_attribute(:intermediate, :bool, :default => false)
84
+ define_attribute(:connectionId, :uint, :required => true)
85
+ define_attribute(:autoFormatId, :uint)
86
+ define_attribute(:applyNumberFormats, :bool)
87
+ define_attribute(:applyBorderFormats, :bool)
88
+ define_attribute(:applyFontFormats, :bool)
89
+ define_attribute(:applyPatternFormats, :bool)
90
+ define_attribute(:applyAlignmentFormats, :bool)
91
+ define_attribute(:applyWidthHeightFormats, :bool)
92
+
93
+ define_child_node(RubyXL::QueryTableRefresh)
94
+ define_child_node(RubyXL::ExtensionStorageArea)
95
+
96
+ define_element_name 'queryTable'
97
+ set_namespaces('http://schemas.openxmlformats.org/spreadsheetml/2006/main' => nil,
98
+ 'http://schemas.openxmlformats.org/officeDocument/2006/relationships' => 'r')
99
+
100
+ def xlsx_path
101
+ ROOT.join('xl', 'queryTables', "queryTable#{file_index}.xml")
102
+ end
103
+ end
104
+ end
@@ -4,7 +4,7 @@ require 'rubyXL/objects/ooxml_object'
4
4
  module RubyXL
5
5
 
6
6
  class RID < OOXMLObject
7
- define_attribute(:'r:id', :string, :required => true)
7
+ define_relationship(:required => true)
8
8
  end
9
9
 
10
10
  class Relationship < OOXMLObject
@@ -82,7 +82,10 @@ module RubyXL
82
82
  klass = RubyXL::OOXMLRelationshipsFile.get_class_by_rel_type(rel.type)
83
83
 
84
84
  if klass.nil? then
85
- puts "*** WARNING: storage class not found for #{rel.target} (#{rel.type})"
85
+ if !RubyXL.class_variable_get(:@@suppress_warnings) then
86
+ puts "*** WARNING: storage class not found for #{rel.target} (#{rel.type})"
87
+ end
88
+
86
89
  klass = GenericStorageObject
87
90
  end
88
91
 
@@ -204,7 +207,9 @@ module RubyXL
204
207
 
205
208
  def store_relationship(related_file, unknown = false)
206
209
  self.generic_storage ||= []
207
- puts "WARNING: #{self.class} is not aware what to do with #{related_file.class}" if unknown
210
+ if unknown && !RubyXL.class_variable_get(:@@suppress_warnings) then
211
+ puts "WARNING: #{self.class} is not aware how to process #{related_file.class}"
212
+ end
208
213
  self.generic_storage << related_file
209
214
  end
210
215
 
@@ -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_sst.html
7
+ # http://www.datypic.com/sc/ooxml/e-ssml_sst.html
8
8
  class SharedStringsTable < OOXMLTopLevelObject
9
9
  CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml'
10
10
  REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings'
@@ -3,7 +3,7 @@ require 'rubyXL/objects/storage'
3
3
 
4
4
  module RubyXL
5
5
 
6
- # http://www.schemacentral.com/sc/ooxml/e-ssml_webPublishItem-1.html
6
+ # http://www.datypic.com/sc/ooxml/e-ssml_webPublishItem-1.html
7
7
  class WebPublishingItem < OOXMLObject
8
8
  define_attribute(:id, :int, :required => true)
9
9
  define_attribute(:divId, :int, :required => true)
@@ -16,13 +16,13 @@ module RubyXL
16
16
  define_element_name 'webPublishItem'
17
17
  end
18
18
 
19
- # http://www.schemacentral.com/sc/ooxml/e-ssml_webPublishItems-1.html
19
+ # http://www.datypic.com/sc/ooxml/e-ssml_webPublishItems-1.html
20
20
  class WebPublishingItems < OOXMLContainerObject
21
21
  define_child_node(RubyXL::WebPublishingItem, :collection => :with_count)
22
22
  define_element_name 'webPublishItems'
23
23
  end
24
24
 
25
- # http://www.schemacentral.com/sc/ooxml/e-ssml_pageMargins-1.html
25
+ # http://www.datypic.com/sc/ooxml/e-ssml_pageMargins-1.html
26
26
  class PageMargins < OOXMLObject
27
27
  define_attribute(:left, :double, :required => true)
28
28
  define_attribute(:right, :double, :required => true)
@@ -33,7 +33,7 @@ module RubyXL
33
33
  define_element_name 'pageMargins'
34
34
  end
35
35
 
36
- # http://www.schemacentral.com/sc/ooxml/e-ssml_headerFooter-1.html
36
+ # http://www.datypic.com/sc/ooxml/e-ssml_headerFooter-1.html
37
37
  class HeaderFooterSettings < OOXMLObject
38
38
  define_attribute(:differentOddEven, :bool, :default => false)
39
39
  define_attribute(:differentFirst, :bool, :default => false)
@@ -3,11 +3,21 @@ require 'rubyXL/objects/simple_types'
3
3
  require 'rubyXL/objects/text'
4
4
  require 'rubyXL/objects/formula'
5
5
  require 'rubyXL/cell'
6
- require 'rubyXL/convenience_methods'
7
6
 
8
7
  module RubyXL
9
8
 
10
- # http://www.schemacentral.com/sc/ooxml/e-ssml_v-1.html
9
+ # http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.cellvalues(v=office.14).aspx
10
+ module DataType
11
+ SHARED_STRING = 's'
12
+ RAW_STRING = 'str'
13
+ INLINE_STRING = 'inlineStr'
14
+ ERROR = 'e'
15
+ BOOLEAN = 'b'
16
+ NUMBER = 'n'
17
+ DATE = 'd' # Only available in Office2010.
18
+ end
19
+
20
+ # http://www.datypic.com/sc/ooxml/e-ssml_v-1.html
11
21
  class CellValue < OOXMLObject
12
22
  define_attribute(:_, :string, :accessor => :value)
13
23
  define_attribute(:'xml:space', %w{ preserve })
@@ -19,8 +29,10 @@ module RubyXL
19
29
  end
20
30
  end
21
31
 
22
- # http://www.schemacentral.com/sc/ooxml/e-ssml_c-2.html
32
+ # http://www.datypic.com/sc/ooxml/e-ssml_c-2.html
23
33
  class Cell < OOXMLObject
34
+ NUMBER_REGEXP = /\A-?\d+((?:\.\d+)?(?:e[+-]?\d+)?)?\Z/i
35
+
24
36
  define_attribute(:r, :ref)
25
37
  define_attribute(:s, :int, :default => 0, :accessor => :style_index)
26
38
  define_attribute(:t, RubyXL::ST_CellType, :accessor => :datatype, :default => 'n' )
@@ -32,6 +44,8 @@ module RubyXL
32
44
  define_child_node(RubyXL::RichText) # is
33
45
  define_element_name 'c'
34
46
 
47
+ attr_accessor :worksheet
48
+
35
49
  def index_in_collection
36
50
  r.col_range.begin
37
51
  end
@@ -61,12 +75,30 @@ module RubyXL
61
75
  value_container.value = v
62
76
  end
63
77
 
78
+ def get_cell_xf
79
+ workbook.stylesheet.cell_xfs[self.style_index || 0]
80
+ end
81
+
82
+ def get_cell_font
83
+ workbook.stylesheet.fonts[get_cell_xf.font_id]
84
+ end
85
+
86
+ def get_cell_border
87
+ workbook.stylesheet.borders[get_cell_xf.border_id]
88
+ end
89
+
64
90
  def number_format
65
91
  workbook.stylesheet.get_number_format_by_id(get_cell_xf.num_fmt_id)
66
92
  end
67
93
 
68
94
  def is_date?
69
- return false unless raw_value =~ /\A\d+(?:\.\d+)?\Z/ # Only fully numeric values can be dates
95
+ return false unless # Only fully numeric values can be dates
96
+ case raw_value
97
+ when Numeric then true
98
+ when String then raw_value =~ NUMBER_REGEXP
99
+ else false
100
+ end
101
+
70
102
  num_fmt = self.number_format
71
103
  num_fmt && num_fmt.is_date_format?
72
104
  end
@@ -78,10 +110,12 @@ module RubyXL
78
110
 
79
111
  case datatype
80
112
  when RubyXL::DataType::SHARED_STRING then workbook.shared_strings_container[r.to_i].to_s
113
+ when RubyXL::DataType::INLINE_STRING then is.to_s
81
114
  when RubyXL::DataType::RAW_STRING then raw_value
82
115
  else
83
- if is_date? then workbook.num_to_date(r.to_f)
84
- elsif r.is_a?(String) && (r =~ /\A-?\d+((?:\.\d+)?(?:e[+-]?\d+)?)?\Z/i) then # Numeric
116
+ if is then is.to_s
117
+ elsif is_date? then workbook.num_to_date(r.to_f)
118
+ elsif r.is_a?(String) && (r =~ NUMBER_REGEXP) then # Numeric
85
119
  if $1 != '' then r.to_f
86
120
  else r.to_i
87
121
  end
@@ -92,18 +126,17 @@ module RubyXL
92
126
 
93
127
  def inspect
94
128
  str = "#<#{self.class}(#{row},#{column}): #{raw_value.inspect}"
95
- str += " =#{self.formula.expression}" if self.formula
96
- str += ", datatype=#{self.datatype.inspect}, style_index=#{self.style_index.inspect}>"
129
+ str << " =#{self.formula.expression}" if self.formula
130
+ str << ", datatype=#{self.datatype.inspect}, style_index=#{self.style_index.inspect}>"
97
131
  return str
98
132
  end
99
133
 
100
134
  include LegacyCell
101
- include CellConvenienceMethods
102
135
  end
103
136
 
104
137
  #TODO#<row r="1" spans="1:1" x14ac:dyDescent="0.25">
105
138
 
106
- # http://www.schemacentral.com/sc/ooxml/e-ssml_row-1.html
139
+ # http://www.datypic.com/sc/ooxml/e-ssml_row-1.html
107
140
  class Row < OOXMLObject
108
141
  define_attribute(:r, :int)
109
142
  define_attribute(:spans, :string)
@@ -122,6 +155,10 @@ module RubyXL
122
155
 
123
156
  attr_accessor :worksheet
124
157
 
158
+ def before_write_xml
159
+ !(cells.nil? || cells.empty?)
160
+ end
161
+
125
162
  def index_in_collection
126
163
  r - 1
127
164
  end
@@ -167,7 +204,7 @@ module RubyXL
167
204
  DEFAULT_HEIGHT = 13
168
205
  end
169
206
 
170
- # http://www.schemacentral.com/sc/ooxml/e-ssml_sheetData-1.html
207
+ # http://www.datypic.com/sc/ooxml/e-ssml_sheetData-1.html
171
208
  class SheetData < OOXMLObject
172
209
  define_child_node(RubyXL::Row, :collection => true, :accessor => :rows)
173
210
  define_element_name 'sheetData'
@@ -226,4 +226,22 @@ module RubyXL
226
226
  ST_TextStrikeType = %w{ noStrike sngStrike dblStrike }
227
227
  ST_TextCapsType = %w{ none small all }
228
228
 
229
+ # TODO: http://www.datypic.com/sc/ooxml/t-ssml_ST_UnsignedIntHex.html
230
+ ST_UnsignedIntHex = :string # length = 4
231
+ # TODO: http://www.datypic.com/sc/ooxml/t-ssml_ST_UnsignedShortHex.html
232
+ ST_UnsignedShortHex = :string # length = 2
233
+
234
+ ST_Xstring = :string
235
+
236
+ # Query Tables
237
+ ST_GrowShrinkType = %w{ insertDelete insertClear overwriteClear }
238
+
239
+ # Connections
240
+ ST_CredMethod = %w{ integrated none stored prompt }
241
+ ST_ParameterType = %w{ prompt value cell }
242
+ ST_FileType = %w{ mac win dos }
243
+ ST_Qualifier = %w{ doubleQuote singleQuote none }
244
+ ST_ExternalConnectionType = %w{ general text MDY DMY YMD MYD DYM YDM skip EMD }
245
+
246
+ ST_HtmlFmt = %w{ none rtf all }
229
247
  end
@@ -28,6 +28,11 @@ module RubyXL
28
28
  REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/printerSettings'
29
29
  end
30
30
 
31
+ class CustomPropertyFile < GenericStorageObject
32
+ CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty'
33
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/customProperty'
34
+ end
35
+
31
36
  class DrawingFile < GenericStorageObject
32
37
  CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.drawing+xml'
33
38
  REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing'
@@ -92,6 +97,7 @@ module RubyXL
92
97
  end
93
98
 
94
99
  class ControlPropertiesFile < GenericStorageObject
100
+ CONTENT_TYPE = 'application/vnd.ms-excel.controlproperties+xml'
95
101
  REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/ctrlProp'
96
102
  end
97
103
 
@@ -157,8 +163,26 @@ module RubyXL
157
163
  end
158
164
 
159
165
  class OLEObjectFile < GenericStorageObject
160
- REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject'
161
166
  CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.oleObject'
167
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/oleObject'
168
+ end
169
+
170
+ class ActiveX < GenericStorageObject
171
+ REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/control'
172
+
173
+ include RubyXL::RelationshipSupport
174
+
175
+ def attach_relationship(rid, rf)
176
+ case rf
177
+ when RubyXL::ChartFile then store_relationship(rf) # TODO
178
+ else store_relationship(rf, :unknown)
179
+ end
180
+ end
181
+
182
+ end
183
+
184
+ class ActiveXBinary < GenericStorageObject
185
+ REL_TYPE = 'http://schemas.microsoft.com/office/2006/relationships/activeXControlBinary'
162
186
  end
163
187
 
164
188
  end
@@ -7,7 +7,7 @@ require 'rubyXL/objects/extensions'
7
7
 
8
8
  module RubyXL
9
9
 
10
- # http://www.schemacentral.com/sc/ooxml/e-ssml_numFmt-1.html
10
+ # http://www.datypic.com/sc/ooxml/e-ssml_numFmt-1.html
11
11
  class NumberFormat < OOXMLObject
12
12
  define_attribute(:numFmtId, :int, :required => true)
13
13
  define_attribute(:formatCode, :string, :required => true)
@@ -20,7 +20,7 @@ module RubyXL
20
20
 
21
21
  end
22
22
 
23
- # http://www.schemacentral.com/sc/ooxml/e-ssml_numFmts-1.html
23
+ # http://www.datypic.com/sc/ooxml/e-ssml_numFmts-1.html
24
24
  class NumberFormats < OOXMLContainerObject
25
25
  define_child_node(RubyXL::NumberFormat, :collection => :with_count)
26
26
  define_element_name 'numFmts'
@@ -66,7 +66,7 @@ module RubyXL
66
66
 
67
67
  end
68
68
 
69
- # http://www.schemacentral.com/sc/ooxml/e-ssml_cellStyleXfs-1.html
69
+ # http://www.datypic.com/sc/ooxml/e-ssml_cellStyleXfs-1.html
70
70
  class CellStyleXFs < OOXMLContainerObject
71
71
  define_child_node(RubyXL::XF, :collection => :with_count)
72
72
  define_element_name 'cellStyleXfs'
@@ -76,7 +76,7 @@ module RubyXL
76
76
  end
77
77
  end
78
78
 
79
- # http://www.schemacentral.com/sc/ooxml/e-ssml_cellXfs-1.html
79
+ # http://www.datypic.com/sc/ooxml/e-ssml_cellXfs-1.html
80
80
  class CellXFs < OOXMLContainerObject
81
81
  define_child_node(RubyXL::XF, :collection => :with_count)
82
82
  define_element_name 'cellXfs'
@@ -90,7 +90,7 @@ module RubyXL
90
90
  end
91
91
  end
92
92
 
93
- # http://www.schemacentral.com/sc/ooxml/e-ssml_cellStyles-1.html
93
+ # http://www.datypic.com/sc/ooxml/e-ssml_cellStyles-1.html
94
94
  class CellStyles < OOXMLContainerObject
95
95
  define_child_node(RubyXL::CellStyle, :collection => :with_count)
96
96
  define_element_name 'cellStyles'
@@ -100,7 +100,7 @@ module RubyXL
100
100
  end
101
101
  end
102
102
 
103
- # http://www.schemacentral.com/sc/ooxml/e-ssml_dxf-1.html
103
+ # http://www.datypic.com/sc/ooxml/e-ssml_dxf-1.html
104
104
  class DXF < OOXMLObject
105
105
  define_child_node(RubyXL::Font)
106
106
  define_child_node(RubyXL::NumberFormat)
@@ -112,13 +112,13 @@ module RubyXL
112
112
  define_element_name 'dxf'
113
113
  end
114
114
 
115
- # http://www.schemacentral.com/sc/ooxml/e-ssml_dxfs-1.html
115
+ # http://www.datypic.com/sc/ooxml/e-ssml_dxfs-1.html
116
116
  class DXFs < OOXMLContainerObject
117
117
  define_child_node(RubyXL::DXF, :collection => :with_count)
118
118
  define_element_name 'dxfs'
119
119
  end
120
120
 
121
- # http://www.schemacentral.com/sc/ooxml/e-ssml_tableStyle-1.html
121
+ # http://www.datypic.com/sc/ooxml/e-ssml_tableStyle-1.html
122
122
  class TableStyle < OOXMLObject
123
123
  define_attribute(:name, :string, :required => true)
124
124
  define_attribute(:pivot, :bool, :default => true)
@@ -127,7 +127,7 @@ module RubyXL
127
127
  define_element_name 'tableStyle'
128
128
  end
129
129
 
130
- # http://www.schemacentral.com/sc/ooxml/e-ssml_tableStyles-1.html
130
+ # http://www.datypic.com/sc/ooxml/e-ssml_tableStyles-1.html
131
131
  class TableStyles < OOXMLContainerObject
132
132
  define_attribute(:defaultTableStyle, :string)
133
133
  define_attribute(:defaultPivotStyle, :string)
@@ -135,31 +135,31 @@ module RubyXL
135
135
  define_element_name 'tableStyles'
136
136
  end
137
137
 
138
- # http://www.schemacentral.com/sc/ooxml/e-ssml_colors-1.html
138
+ # http://www.datypic.com/sc/ooxml/e-ssml_colors-1.html
139
139
  class ColorSet < OOXMLObject
140
140
  define_child_node(RubyXL::Color, :collection => true)
141
141
  end
142
142
 
143
- # http://www.schemacentral.com/sc/ooxml/e-ssml_colors-1.html
143
+ # http://www.datypic.com/sc/ooxml/e-ssml_colors-1.html
144
144
  class IndexedColors < OOXMLContainerObject
145
145
  define_child_node(RubyXL::Color, :collection => true, :node_name => :rgbColor)
146
146
  define_element_name 'indexedColors'
147
147
  end
148
148
 
149
- # http://www.schemacentral.com/sc/ooxml/e-ssml_mruColors-1.html
149
+ # http://www.datypic.com/sc/ooxml/e-ssml_mruColors-1.html
150
150
  class MRUColors < OOXMLContainerObject
151
151
  define_child_node(RubyXL::Color, :collection => true)
152
152
  define_element_name 'mruColors'
153
153
  end
154
154
 
155
- # http://www.schemacentral.com/sc/ooxml/e-ssml_colors-1.html
155
+ # http://www.datypic.com/sc/ooxml/e-ssml_colors-1.html
156
156
  class Colors < OOXMLObject
157
157
  define_child_node(RubyXL::IndexedColors)
158
158
  define_child_node(RubyXL::MRUColors)
159
159
  define_element_name 'colors'
160
160
  end
161
161
 
162
- # http://www.schemacentral.com/sc/ooxml/e-ssml_styleSheet.html
162
+ # http://www.datypic.com/sc/ooxml/e-ssml_styleSheet.html
163
163
  class Stylesheet < OOXMLTopLevelObject
164
164
  CONTENT_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml'
165
165
  REL_TYPE = 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles'