spire-xls 15.7.1__py3-none-win_amd64.whl → 16.2.0__py3-none-win_amd64.whl

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 (173) hide show
  1. spire/xls/AddtionalFormatWrapper.py +18 -15
  2. spire/xls/CellRange.py +10 -8
  3. spire/xls/CellStyleFlag.py +7 -0
  4. spire/xls/CellStyleObject.py +19 -12
  5. spire/xls/ColorScale.py +3 -3
  6. spire/xls/CommentsRange.py +6 -17
  7. spire/xls/ConverterSetting.py +15 -0
  8. spire/xls/DocumentProperty.py +1 -1
  9. spire/xls/ExcelCommentObject.py +6 -1
  10. spire/xls/ExcelFont.py +21 -15
  11. spire/xls/ExcelGradient.py +2 -0
  12. spire/xls/ExcelInterior.py +0 -13
  13. spire/xls/ExportTableOptions.py +6 -0
  14. spire/xls/Font.py +103 -103
  15. spire/xls/FontWrapper.py +20 -18
  16. spire/xls/GradientStops.py +1 -1
  17. spire/xls/HPageBreak.py +1 -0
  18. spire/xls/HyperLink.py +1 -0
  19. spire/xls/MsoTextFrame.py +102 -0
  20. spire/xls/RangeRichTextString.py +2 -2
  21. spire/xls/ReferRangeArea.py +0 -8
  22. spire/xls/RichText.py +1 -1
  23. spire/xls/RichTextShape.py +2 -1
  24. spire/xls/RichTextString.py +1 -0
  25. spire/xls/ShapeGlow.py +1 -1
  26. spire/xls/TextSaveOptions.py +7 -0
  27. spire/xls/VPageBreak.py +1 -0
  28. spire/xls/Workbook.py +85 -86
  29. spire/xls/Worksheet.py +63 -12
  30. spire/xls/XlsAddInFunction.py +4 -4
  31. spire/xls/XlsArcShape.py +1 -1
  32. spire/xls/XlsBorder.py +1 -0
  33. spire/xls/XlsButtonShape.py +1 -1
  34. spire/xls/XlsComment.py +1 -1
  35. spire/xls/XlsDataValidationTable.py +3 -1
  36. spire/xls/XlsFont.py +20 -14
  37. spire/xls/XlsName.py +27 -15
  38. spire/xls/XlsOvalShape.py +1 -1
  39. spire/xls/XlsPageSetup.py +8 -2
  40. spire/xls/XlsRadioButtonShape.py +21 -51
  41. spire/xls/XlsRange.py +26 -10
  42. spire/xls/XlsRectangleShape.py +1 -1
  43. spire/xls/XlsShape.py +7 -5
  44. spire/xls/XlsShapeFill.py +3 -0
  45. spire/xls/XlsStyle.py +3 -3
  46. spire/xls/XlsValidation.py +7 -4
  47. spire/xls/XlsWorkbook.py +50 -29
  48. spire/xls/XlsWorksheet.py +136 -121
  49. spire/xls/XlsWorksheetBase.py +39 -20
  50. spire/xls/__init__.py +3 -1
  51. spire/xls/autofilter/AutoFitterOptions.py +7 -0
  52. spire/xls/autofilter/CustomFilter.py +9 -1
  53. spire/xls/autofilter/FilterColumn.py +2 -2
  54. spire/xls/autofilter/XlsAutoFiltersCollection.py +1 -0
  55. spire/xls/charts/Chart.py +1 -0
  56. spire/xls/charts/ChartArea.py +1 -0
  57. spire/xls/charts/ChartDataLabels.py +1 -0
  58. spire/xls/charts/ChartPlotArea.py +1 -0
  59. spire/xls/charts/ChartShadow.py +1 -1
  60. spire/xls/charts/ChartSheet.py +1 -0
  61. spire/xls/charts/ChartTextArea.py +20 -19
  62. spire/xls/charts/XlsChart.py +13 -13
  63. spire/xls/charts/XlsChartAxis.py +3 -0
  64. spire/xls/charts/XlsChartCategoryAxis.py +1 -1
  65. spire/xls/charts/XlsChartDataLabelArea.py +17 -12
  66. spire/xls/charts/XlsChartDataLabels.py +19 -0
  67. spire/xls/charts/XlsChartDataTable.py +17 -12
  68. spire/xls/charts/XlsChartDropBar.py +4 -1
  69. spire/xls/charts/XlsChartFrameFormat.py +7 -2
  70. spire/xls/charts/XlsChartGridLine.py +2 -2
  71. spire/xls/charts/XlsChartInterior.py +2 -0
  72. spire/xls/charts/XlsChartLegend.py +2 -1
  73. spire/xls/charts/XlsChartLegendArea.py +18 -12
  74. spire/xls/charts/XlsChartSerie.py +4 -1
  75. spire/xls/charts/XlsChartSerieDataFormat.py +12 -3
  76. spire/xls/charts/XlsChartShape.py +13 -13
  77. spire/xls/charts/XlsChartTitleArea.py +2 -0
  78. spire/xls/charts/XlsChartWallOrFloor.py +8 -2
  79. spire/xls/collection/ArcShapeCollection.py +1 -1
  80. spire/xls/collection/AutoFiltersCollection.py +1 -0
  81. spire/xls/collection/BordersCollectionArrayWrapper.py +2 -2
  82. spire/xls/collection/ButtonShapeCollection.py +4 -4
  83. spire/xls/collection/DataConnections.py +1 -1
  84. spire/xls/collection/ExternalLinkCollection.py +2 -1
  85. spire/xls/collection/GroupBoxCollection.py +4 -4
  86. spire/xls/collection/QueryTableCollection.py +1 -1
  87. spire/xls/collection/RangesCollection.py +4 -3
  88. spire/xls/collection/ShapeCollectionBase.py +6 -6
  89. spire/xls/collection/WorksheetsCollection.py +6 -6
  90. spire/xls/collection/XlsBordersCollection.py +2 -2
  91. spire/xls/collection/XlsChartFormatCollection.py +4 -4
  92. spire/xls/collection/XlsChartSeries.py +3 -3
  93. spire/xls/collection/XlsChartsCollection.py +10 -8
  94. spire/xls/collection/XlsDataValidationCollection.py +4 -2
  95. spire/xls/collection/XlsFontsCollection.py +2 -1
  96. spire/xls/collection/XlsRangesCollection.py +17 -10
  97. spire/xls/collection/XlsStylesCollection.py +2 -2
  98. spire/xls/collection/XlsWorkbookObjectsCollection.py +5 -4
  99. spire/xls/collection/pivot_table/PivotDataFields.py +1 -0
  100. spire/xls/collection/pivot_table/PivotTableFields.py +1 -1
  101. spire/xls/collection/pivot_table/XlsPivotCachesCollection.py +2 -0
  102. spire/xls/collection/pivot_table/XlsPivotTablesCollection.py +1 -0
  103. spire/xls/common/Boolean.py +2 -0
  104. spire/xls/common/Byte.py +2 -0
  105. spire/xls/common/Char.py +2 -0
  106. spire/xls/common/Color.py +2 -0
  107. spire/xls/common/Common.py +13 -0
  108. spire/xls/common/CultureInfo.py +2 -0
  109. spire/xls/common/DateTime.py +16 -0
  110. spire/xls/common/Double.py +2 -0
  111. spire/xls/common/EmfType.py +2 -0
  112. spire/xls/common/Encoding.py +2 -0
  113. spire/xls/common/FontStyle.py +2 -0
  114. spire/xls/common/GraphicsUnit.py +2 -0
  115. spire/xls/common/ICollection.py +3 -0
  116. spire/xls/common/IDictionary.py +2 -0
  117. spire/xls/common/IEnumerable.py +3 -0
  118. spire/xls/common/IEnumerator.py +2 -0
  119. spire/xls/common/IList.py +3 -0
  120. spire/xls/common/Int16.py +2 -0
  121. spire/xls/common/Int32.py +2 -0
  122. spire/xls/common/Int64.py +2 -0
  123. spire/xls/common/License.py +12 -0
  124. spire/xls/common/PixelFormat.py +2 -0
  125. spire/xls/common/Point.py +2 -0
  126. spire/xls/common/PointF.py +2 -0
  127. spire/xls/common/Rectangle.py +2 -0
  128. spire/xls/common/RectangleF.py +2 -0
  129. spire/xls/common/Regex.py +2 -0
  130. spire/xls/common/RegexOptions.py +2 -0
  131. spire/xls/common/Single.py +2 -0
  132. spire/xls/common/Size.py +2 -0
  133. spire/xls/common/SizeF.py +6 -4
  134. spire/xls/common/SpireObject.py +2 -0
  135. spire/xls/common/Stream.py +2 -0
  136. spire/xls/common/String.py +3 -1
  137. spire/xls/common/TimeSpan.py +2 -0
  138. spire/xls/common/UInt16.py +2 -0
  139. spire/xls/common/UInt32.py +2 -0
  140. spire/xls/common/UInt64.py +2 -0
  141. spire/xls/common/__init__.py +80 -9
  142. spire/xls/conditional_formatting/ConditionValue.py +0 -12
  143. spire/xls/conditional_formatting/ConditionalFormatWrapper.py +2 -2
  144. spire/xls/conditional_formatting/XlsConditionValue.py +4 -6
  145. spire/xls/conditional_formatting/XlsConditionalFormat.py +10 -2
  146. spire/xls/conditional_formatting/XlsConditionalFormats.py +10 -5
  147. spire/xls/interfaces/IChartErrorBars.py +2 -0
  148. spire/xls/interfaces/IChartTrendLine.py +1 -0
  149. spire/xls/interfaces/IListObject.py +2 -0
  150. spire/xls/interfaces/IOleObject.py +2 -0
  151. spire/xls/interfaces/IWorksheet.py +10 -10
  152. spire/xls/interfaces/ImportObjectOptions.py +7 -0
  153. spire/xls/interfaces/collections/IShapes.py +6 -6
  154. spire/xls/interfaces/pivot_table/IPivotTableOptions.py +12 -14
  155. spire/xls/lib/Spire.Xls.Base.dll +0 -0
  156. spire/xls/pivot_tables/PivotDataField.py +1 -1
  157. spire/xls/pivot_tables/PivotReportFilter.py +4 -4
  158. spire/xls/pivot_tables/PivotReportFilters.py +1 -1
  159. spire/xls/pivot_tables/PivotStyle.py +1 -0
  160. spire/xls/pivot_tables/PivotTableStyle.py +19 -12
  161. spire/xls/pivot_tables/XlsPivotCache.py +3 -1
  162. spire/xls/pivot_tables/XlsPivotField.py +2 -1
  163. spire/xls/pivot_tables/XlsPivotTable.py +4 -1
  164. spire/xls/sorting/SortColumn.py +1 -1
  165. spire/xls/sorting/SortColumns.py +1 -0
  166. spire/xls/sparkline/SparklineCollection.py +13 -1
  167. spire/xls/sparkline/SparklineGroupCollection.py +1 -1
  168. spire/xls/template_markers/MarkerDesigner.py +3 -2
  169. {spire_xls-15.7.1.dist-info → spire_xls-16.2.0.dist-info}/METADATA +1 -1
  170. {spire_xls-15.7.1.dist-info → spire_xls-16.2.0.dist-info}/RECORD +173 -172
  171. /spire/xls/lib/{_init_.py → __init__.py} +0 -0
  172. {spire_xls-15.7.1.dist-info → spire_xls-16.2.0.dist-info}/WHEEL +0 -0
  173. {spire_xls-15.7.1.dist-info → spire_xls-16.2.0.dist-info}/top_level.txt +0 -0
@@ -9,6 +9,8 @@ elif __package__ == "spire.xls.common":
9
9
  from spire.xls.common import *
10
10
  elif __package__ == "spire.doc.common":
11
11
  from spire.doc.common import *
12
+ elif __package__ == "spire.ocr.common" :
13
+ from spire.ocr.common import *
12
14
  else :
13
15
  from spire.presentation.common import *
14
16
 
@@ -7,6 +7,8 @@ elif __package__ == "spire.xls.common":
7
7
  from spire.xls.common import *
8
8
  elif __package__ == "spire.doc.common":
9
9
  from spire.doc.common import *
10
+ elif __package__ == "spire.ocr.common" :
11
+ from spire.ocr.common import *
10
12
  else :
11
13
  from spire.presentation.common import *
12
14
  #from spire.xls import *
@@ -7,6 +7,8 @@ elif __package__ == "spire.xls.common":
7
7
  from spire.xls.common import *
8
8
  elif __package__ == "spire.doc.common":
9
9
  from spire.doc.common import *
10
+ elif __package__ == "spire.ocr.common" :
11
+ from spire.ocr.common import *
10
12
  else :
11
13
  from spire.presentation.common import *
12
14
  #from spire.xls import *
@@ -24,7 +26,7 @@ class String ( SpireObject) :
24
26
  super(String, self).__init__(intPtr)
25
27
  @dispatch
26
28
  def __init__(self, value:str):
27
- if __package__ == "spire.presentation.common":
29
+ if __package__ == "spire.presentation.common" or __package__ == "spire.doc.common":
28
30
  valuePtr = StrToPtr(value)
29
31
  dlllib.String_CreateV.argtypes=[ c_void_p]
30
32
  dlllib.String_CreateV.restype = c_void_p
@@ -7,6 +7,8 @@ elif __package__ == "spire.xls.common":
7
7
  from spire.xls.common import *
8
8
  elif __package__ == "spire.doc.common":
9
9
  from spire.doc.common import *
10
+ elif __package__ == "spire.ocr.common" :
11
+ from spire.ocr.common import *
10
12
  else :
11
13
  from spire.presentation.common import *
12
14
  #from spire.xls import *
@@ -7,6 +7,8 @@ elif __package__ == "spire.xls.common":
7
7
  from spire.xls.common import *
8
8
  elif __package__ == "spire.doc.common":
9
9
  from spire.doc.common import *
10
+ elif __package__ == "spire.ocr.common" :
11
+ from spire.ocr.common import *
10
12
  else :
11
13
  from spire.presentation.common import *
12
14
  #from spire.xls import *
@@ -7,6 +7,8 @@ elif __package__ == "spire.xls.common":
7
7
  from spire.xls.common import *
8
8
  elif __package__ == "spire.doc.common":
9
9
  from spire.doc.common import *
10
+ elif __package__ == "spire.ocr.common" :
11
+ from spire.ocr.common import *
10
12
  else :
11
13
  from spire.presentation.common import *
12
14
  #from spire.xls import *
@@ -7,6 +7,8 @@ elif __package__ == "spire.xls.common":
7
7
  from spire.xls.common import *
8
8
  elif __package__ == "spire.doc.common":
9
9
  from spire.doc.common import *
10
+ elif __package__ == "spire.ocr.common" :
11
+ from spire.ocr.common import *
10
12
  else :
11
13
  from spire.presentation.common import *
12
14
  #from spire.xls import *
@@ -25,26 +25,31 @@ if os_name == "Windows":
25
25
  lib_pathDoc = r'.\Spire.Doc.Base.dll'
26
26
  lib_pathPdf = r'.\Spire.Pdf.Base.dll'
27
27
  lib_pathPpt = r'.\Spire.Presentation.Base.dll'
28
+ lib_pathOcr = r'.\Spire.Ocr.Base.dll'
28
29
  elif os_name == "Linux":
29
30
  lib_pathXls = r'./Spire.Xls.Base.so'
30
31
  lib_pathDoc = r'./Spire.Doc.Base.so'
31
32
  lib_pathPdf = r'./Spire.Pdf.Base.so'
32
33
  lib_pathPpt = r'./Spire.Presentation.Base.so'
34
+ lib_pathOcr = r'./Spire.Ocr.Base.so'
33
35
  elif os_name =="Darwin":
34
36
  lib_pathXls = r'./Spire.Xls.Base.dylib'
35
37
  lib_pathDoc = r'./Spire.Doc.Base.dylib'
36
38
  lib_pathPdf = r'./Spire.Pdf.Base.dylib'
37
39
  lib_pathPpt = r'./Spire.Presentation.Base.dylib'
40
+ lib_pathOcr = r'./Spire.Ocr.Base.dylib'
38
41
  else:
39
42
  lib_pathXls = r'./Spire.Xls.Base.dll'
40
43
  lib_pathDoc = r'./Spire.Doc.Base.dll'
41
44
  lib_pathPdf = r'./Spire.Pdf.Base.dll'
42
45
  lib_pathPpt = r'./Spire.Presentation.Base.dll'
46
+ lib_pathOcr = r'./Spire.Ocr.Base.dll'
43
47
  dlllibXls = None
44
48
  dlllibXls = LoadLib(lib_pathXls)
45
49
  dlllibDoc = LoadLib(lib_pathDoc)
46
50
  dlllibPdf = LoadLib(lib_pathPdf)
47
51
  dlllibPpt = LoadLib(lib_pathPpt)
52
+ dlllibOcr = LoadLib(lib_pathOcr)
48
53
  dlllib = dlllibXls
49
54
  if dlllibXls != None and __package__ == "spire.xls.common":
50
55
  dlllib = dlllibXls
@@ -54,6 +59,8 @@ elif dlllibPdf != None and __package__ == "spire.pdf.common":
54
59
  dlllib = dlllibPdf
55
60
  elif dlllibPpt != None and __package__ == "spire.presentation.common":
56
61
  dlllib = dlllibPpt
62
+ elif dlllibOcr != None and __package__ == "spire.ocr.common":
63
+ dlllib = dlllibOcr
57
64
 
58
65
  def GetDllLibXls():
59
66
  #if dlllibXls != None:
@@ -80,6 +87,13 @@ def GetDllLibPpt():
80
87
  #if dlllibPpt != None:
81
88
  dlllib = dlllibPpt
82
89
  return dlllibPpt;
90
+ def GetDllLibOcr():
91
+ #if dlllibPdf == None:
92
+ # dlllibPdf = LoadLib(lib_pathPdf)
93
+ #if dlllibPdf != None:
94
+ dlllib = dlllibOcr
95
+ return dlllibOcr;
96
+
83
97
  def ChangeHandleToXls():
84
98
  GetDllLibXls()
85
99
  def ChangeHandleToDoc():
@@ -88,6 +102,8 @@ def ChangeHandleToPdf():
88
102
  GetDllLibPdf()
89
103
  def ChangeHandleToPpt():
90
104
  GetDllLibPpt()
105
+ def ChangeHandleToOcr():
106
+ GetDllLibOcr()
91
107
 
92
108
  class SpireException(Exception):
93
109
  """Custom Exception"""
@@ -97,23 +113,78 @@ class SpireException(Exception):
97
113
 
98
114
  def CallCFunction(func, *args, **kwargs):
99
115
  if hasattr(func, 'argtypes') and func.argtypes is not None:
100
- new_argtypes = [c_int if arg == c_bool else arg for arg in func.argtypes]
116
+ if os_name == "Windows":
117
+ new_argtypes = [c_int if arg == c_bool else arg for arg in func.argtypes]
118
+ if len(new_argtypes) == len(args):
119
+ new_argtypes.append(POINTER(c_uint64))
120
+ else:
121
+ arg_count = len(args)
122
+ new_argtypes = [c_int if arg == c_bool else arg for arg in func.argtypes[:arg_count]]
123
+ new_argtypes.append(c_void_p)
101
124
  func.argtypes = new_argtypes
102
125
 
103
- data = create_string_buffer(sizeof(c_uint64))
104
- old_value = 0
105
- # Write the initial values to the allocated memory
106
- memmove(data, byref(c_uint64(0)), sizeof(c_uint64))
107
- args = list(args) +[data]
126
+ error_code_buffer = c_uint64(0)
127
+ args = list(args) + [byref(error_code_buffer)]
108
128
 
109
129
  result = func(*args, **kwargs)
110
- modified_value = cast(data, POINTER(c_uint64)).contents.value
111
- if old_value != modified_value:
130
+ modified_value = error_code_buffer.value
131
+ if modified_value != 0:
112
132
  info = PtrToStr(modified_value)
113
133
  raise SpireException(info)
114
134
  return result
115
135
 
116
- if __package__ == "spire.pdf.common" :
136
+ if __package__ == "spire.ocr.common":
137
+ from spire.ocr.common.SpireObject import SpireObject
138
+
139
+ from spire.ocr.common.Common import IntPtrArray
140
+ from spire.ocr.common.Common import GetObjVectorFromArray
141
+ from spire.ocr.common.Common import GetVectorFromArray
142
+ from spire.ocr.common.Common import GetStrVectorFromArray
143
+ from spire.ocr.common.Common import GetIntPtrArray
144
+ from spire.ocr.common.Common import GetByteArray
145
+ from spire.ocr.common.Common import GetIntValue
146
+ from spire.ocr.common.Common import GetBytesFromArray
147
+ from spire.ocr.common.Common import PtrToStr
148
+ from spire.ocr.common.Common import ReleasePtr
149
+ from spire.ocr.common.Common import StrToPtr
150
+
151
+ from spire.ocr.common.RegexOptions import RegexOptions
152
+ from spire.ocr.common.CultureInfo import CultureInfo
153
+ from spire.ocr.common.Boolean import Boolean
154
+ from spire.ocr.common.Byte import Byte
155
+ from spire.ocr.common.Char import Char
156
+ from spire.ocr.common.Int16 import Int16
157
+ from spire.ocr.common.Int32 import Int32
158
+ from spire.ocr.common.Int64 import Int64
159
+ from spire.ocr.common.PixelFormat import PixelFormat
160
+ from spire.ocr.common.Size import Size
161
+ from spire.ocr.common.SizeF import SizeF
162
+ from spire.ocr.common.Point import Point
163
+ from spire.ocr.common.PointF import PointF
164
+ from spire.ocr.common.Rectangle import Rectangle
165
+ from spire.ocr.common.RectangleF import RectangleF
166
+ from spire.ocr.common.Single import Single
167
+ from spire.ocr.common.TimeSpan import TimeSpan
168
+ from spire.ocr.common.UInt16 import UInt16
169
+ from spire.ocr.common.UInt32 import UInt32
170
+ from spire.ocr.common.UInt64 import UInt64
171
+ from spire.ocr.common.Stream import Stream
172
+ from spire.ocr.common.License import License
173
+ from spire.ocr.common.Color import Color
174
+ from spire.ocr.common.DateTime import DateTime
175
+ from spire.ocr.common.Double import Double
176
+ from spire.ocr.common.EmfType import EmfType
177
+ from spire.ocr.common.Encoding import Encoding
178
+ from spire.ocr.common.FontStyle import FontStyle
179
+ from spire.ocr.common.GraphicsUnit import GraphicsUnit
180
+ from spire.ocr.common.ICollection import ICollection
181
+ from spire.ocr.common.IDictionary import IDictionary
182
+ from spire.ocr.common.IEnumerable import IEnumerable
183
+ from spire.ocr.common.IEnumerator import IEnumerator
184
+ from spire.ocr.common.IList import IList
185
+ from spire.ocr.common.String import String
186
+ from spire.ocr.common.Regex import Regex
187
+ elif __package__ == "spire.pdf.common" :
117
188
  from spire.pdf.common.SpireObject import SpireObject
118
189
 
119
190
  from spire.pdf.common.Common import IntPtrArray
@@ -67,17 +67,5 @@ class ConditionValue ( SpireObject,IConditionValue) :
67
67
  GetDllLibXls().ConditionValue_set_Value.argtypes=[c_void_p, c_void_p]
68
68
  CallCFunction(GetDllLibXls().ConditionValue_set_Value, self.Ptr, value.Ptr)
69
69
 
70
- def m_condtionValue(self)->'IConditionValue':
71
- """
72
- Gets the internal condition value object.
73
-
74
- Returns:
75
- IConditionValue: The internal condition value.
76
- """
77
- GetDllLibXls().ConditionValue_m_condtionValue.argtypes=[c_void_p]
78
- GetDllLibXls().ConditionValue_m_condtionValue.restype=c_void_p
79
- intPtr = CallCFunction(GetDllLibXls().ConditionValue_m_condtionValue, self.Ptr)
80
- ret = None if intPtr==None else XlsConditionValue(intPtr)
81
- return ret
82
70
 
83
71
 
@@ -1,6 +1,6 @@
1
1
  from enum import Enum
2
2
  from plum import dispatch
3
- from typing import TypeVar,Union,Generic,List,Tuple
3
+ from typing import TypeVar,Union,Generic,List,Tuple,Optional
4
4
  from spire.xls.common import *
5
5
  from spire.xls import *
6
6
  from ctypes import *
@@ -965,7 +965,7 @@ class ConditionalFormatWrapper ( CommonWrapper, IOptimizedUpdate, IConditionalF
965
965
  CallCFunction(GetDllLibXls().ConditionalFormatWrapper_EndUpdate, self.Ptr)
966
966
 
967
967
  @dispatch
968
- def MakeFormula(self)->str:
968
+ def MakeFormula(self)->Optional[str]:
969
969
  """
970
970
  Generates the formula for the conditional format.
971
971
 
@@ -66,8 +66,7 @@ class XlsConditionValue ( SpireObject, IConditionValue) :
66
66
  GetDllLibXls().XlsConditionValue_set_Value.argtypes=[c_void_p, c_void_p]
67
67
  CallCFunction(GetDllLibXls().XlsConditionValue_set_Value, self.Ptr, value.Ptr)
68
68
 
69
- @staticmethod
70
- def op_Equality(first:'XlsConditionValue',second:'XlsConditionValue')->bool:
69
+ def __eq__(self,second:'XlsConditionValue')->bool:
71
70
  """
72
71
  Determines whether two XlsConditionValue instances are equal.
73
72
 
@@ -77,7 +76,7 @@ class XlsConditionValue ( SpireObject, IConditionValue) :
77
76
  Returns:
78
77
  bool: True if equal; otherwise, False.
79
78
  """
80
- intPtrfirst:c_void_p = first.Ptr
79
+ intPtrfirst:c_void_p = self.Ptr
81
80
  intPtrsecond:c_void_p = second.Ptr
82
81
 
83
82
  GetDllLibXls().XlsConditionValue_op_Equality.argtypes=[ c_void_p,c_void_p]
@@ -85,8 +84,7 @@ class XlsConditionValue ( SpireObject, IConditionValue) :
85
84
  ret = CallCFunction(GetDllLibXls().XlsConditionValue_op_Equality, intPtrfirst,intPtrsecond)
86
85
  return ret
87
86
 
88
- @staticmethod
89
- def op_Inequality(first:'XlsConditionValue',second:'XlsConditionValue')->bool:
87
+ def __ne__(self,second:'XlsConditionValue')->bool:
90
88
  """
91
89
  Determines whether two XlsConditionValue instances are not equal.
92
90
 
@@ -96,7 +94,7 @@ class XlsConditionValue ( SpireObject, IConditionValue) :
96
94
  Returns:
97
95
  bool: True if not equal; otherwise, False.
98
96
  """
99
- intPtrfirst:c_void_p = first.Ptr
97
+ intPtrfirst:c_void_p = self.Ptr
100
98
  intPtrsecond:c_void_p = second.Ptr
101
99
 
102
100
  GetDllLibXls().XlsConditionValue_op_Inequality.argtypes=[ c_void_p,c_void_p]
@@ -1,6 +1,6 @@
1
1
  from enum import Enum
2
2
  from plum import dispatch
3
- from typing import TypeVar,Union,Generic,List,Tuple
3
+ from typing import TypeVar,Union,Generic,List,Tuple,Optional
4
4
  from spire.xls.common import *
5
5
  from spire.xls import *
6
6
  from ctypes import *
@@ -133,6 +133,7 @@ class XlsConditionalFormat ( XlsObject, IConditionalFormat, ICloneParent) :
133
133
  GetDllLibXls().XlsConditionalFormat_get_OColor.argtypes=[c_void_p]
134
134
  GetDllLibXls().XlsConditionalFormat_get_OColor.restype=c_void_p
135
135
  intPtr = CallCFunction(GetDllLibXls().XlsConditionalFormat_get_OColor, self.Ptr)
136
+ from spire.xls.OColor import OColor
136
137
  ret = None if intPtr==None else OColor(intPtr)
137
138
  return ret
138
139
 
@@ -147,6 +148,7 @@ class XlsConditionalFormat ( XlsObject, IConditionalFormat, ICloneParent) :
147
148
  GetDllLibXls().XlsConditionalFormat_get_BackColorObject.argtypes=[c_void_p]
148
149
  GetDllLibXls().XlsConditionalFormat_get_BackColorObject.restype=c_void_p
149
150
  intPtr = CallCFunction(GetDllLibXls().XlsConditionalFormat_get_BackColorObject, self.Ptr)
151
+ from spire.xls.OColor import OColor
150
152
  ret = None if intPtr==None else OColor(intPtr)
151
153
  return ret
152
154
 
@@ -161,6 +163,7 @@ class XlsConditionalFormat ( XlsObject, IConditionalFormat, ICloneParent) :
161
163
  GetDllLibXls().XlsConditionalFormat_get_TopBorderColorObject.argtypes=[c_void_p]
162
164
  GetDllLibXls().XlsConditionalFormat_get_TopBorderColorObject.restype=c_void_p
163
165
  intPtr = CallCFunction(GetDllLibXls().XlsConditionalFormat_get_TopBorderColorObject, self.Ptr)
166
+ from spire.xls.OColor import OColor
164
167
  ret = None if intPtr==None else OColor(intPtr)
165
168
  return ret
166
169
 
@@ -175,6 +178,7 @@ class XlsConditionalFormat ( XlsObject, IConditionalFormat, ICloneParent) :
175
178
  GetDllLibXls().XlsConditionalFormat_get_BottomBorderColorObject.argtypes=[c_void_p]
176
179
  GetDllLibXls().XlsConditionalFormat_get_BottomBorderColorObject.restype=c_void_p
177
180
  intPtr = CallCFunction(GetDllLibXls().XlsConditionalFormat_get_BottomBorderColorObject, self.Ptr)
181
+ from spire.xls.OColor import OColor
178
182
  ret = None if intPtr==None else OColor(intPtr)
179
183
  return ret
180
184
 
@@ -189,6 +193,7 @@ class XlsConditionalFormat ( XlsObject, IConditionalFormat, ICloneParent) :
189
193
  GetDllLibXls().XlsConditionalFormat_get_LeftBorderColorObject.argtypes=[c_void_p]
190
194
  GetDllLibXls().XlsConditionalFormat_get_LeftBorderColorObject.restype=c_void_p
191
195
  intPtr = CallCFunction(GetDllLibXls().XlsConditionalFormat_get_LeftBorderColorObject, self.Ptr)
196
+ from spire.xls.OColor import OColor
192
197
  ret = None if intPtr==None else OColor(intPtr)
193
198
  return ret
194
199
 
@@ -203,6 +208,7 @@ class XlsConditionalFormat ( XlsObject, IConditionalFormat, ICloneParent) :
203
208
  GetDllLibXls().XlsConditionalFormat_get_RightBorderColorObject.argtypes=[c_void_p]
204
209
  GetDllLibXls().XlsConditionalFormat_get_RightBorderColorObject.restype=c_void_p
205
210
  intPtr = CallCFunction(GetDllLibXls().XlsConditionalFormat_get_RightBorderColorObject, self.Ptr)
211
+ from spire.xls.OColor import OColor
206
212
  ret = None if intPtr==None else OColor(intPtr)
207
213
  return ret
208
214
 
@@ -217,13 +223,14 @@ class XlsConditionalFormat ( XlsObject, IConditionalFormat, ICloneParent) :
217
223
  GetDllLibXls().XlsConditionalFormat_get_FontColorObject.argtypes=[c_void_p]
218
224
  GetDllLibXls().XlsConditionalFormat_get_FontColorObject.restype=c_void_p
219
225
  intPtr = CallCFunction(GetDllLibXls().XlsConditionalFormat_get_FontColorObject, self.Ptr)
226
+ from spire.xls.OColor import OColor
220
227
  ret = None if intPtr==None else OColor(intPtr)
221
228
  return ret
222
229
 
223
230
 
224
231
  @dispatch
225
232
 
226
- def MakeFormula(self)->str:
233
+ def MakeFormula(self)->Optional[str]:
227
234
  """Creates a formula string for the conditional format without parameters.
228
235
 
229
236
  Returns:
@@ -374,6 +381,7 @@ class XlsConditionalFormat ( XlsObject, IConditionalFormat, ICloneParent) :
374
381
  """
375
382
 
376
383
  """
384
+ from spire.xls.TopBottom import TopBottom
377
385
  GetDllLibXls().XlsConditionalFormat_get_TopBottom.argtypes=[c_void_p]
378
386
  GetDllLibXls().XlsConditionalFormat_get_TopBottom.restype=c_void_p
379
387
  intPtr = CallCFunction(GetDllLibXls().XlsConditionalFormat_get_TopBottom, self.Ptr)
@@ -400,17 +400,21 @@ class XlsConditionalFormats ( SpireObject, ICloneParent, IConditionalFormats) :
400
400
 
401
401
  @dispatch
402
402
 
403
- def AddCells(self ,arrCells:IList):
403
+ def AddCells(self ,arrRanges:List['Rectangle']):
404
404
  """
405
405
  Adds conditional formats to the specified cells.
406
406
 
407
407
  Args:
408
408
  arrCells (IList): The list of cells to add formats to.
409
409
  """
410
- intPtrarrCells:c_void_p = arrCells.Ptr
410
+ countarrRanges = len(arrRanges)
411
+ ArrayTypearrRanges = c_void_p * countarrRanges
412
+ arrayarrRanges = ArrayTypearrRanges()
413
+ for i in range(0, countarrRanges):
414
+ arrayarrRanges[i] = arrRanges[i].Ptr
411
415
 
412
- GetDllLibXls().XlsConditionalFormats_AddCellsA.argtypes=[c_void_p ,c_void_p]
413
- CallCFunction(GetDllLibXls().XlsConditionalFormats_AddCellsA, self.Ptr, intPtrarrCells)
416
+ GetDllLibXls().XlsConditionalFormats_AddCellsA.argtypes=[c_void_p ,ArrayTypearrRanges,c_int]
417
+ CallCFunction(GetDllLibXls().XlsConditionalFormats_AddCellsA, self.Ptr, arrayarrRanges,countarrRanges)
414
418
 
415
419
 
416
420
  def AddRange(self ,range:'IXLSRange'):
@@ -508,7 +512,7 @@ class XlsConditionalFormats ( SpireObject, ICloneParent, IConditionalFormats) :
508
512
  GetDllLibXls().XlsConditionalFormats_Clone.argtypes=[c_void_p ,c_void_p]
509
513
  GetDllLibXls().XlsConditionalFormats_Clone.restype=c_void_p
510
514
  intPtr = CallCFunction(GetDllLibXls().XlsConditionalFormats_Clone, self.Ptr, intPtrparent)
511
- ret = None if intPtr==None else SpireObject(intPtr)
515
+ ret = None if intPtr==None else XlsConditionalFormats(intPtr)
512
516
  return ret
513
517
 
514
518
 
@@ -617,6 +621,7 @@ class XlsConditionalFormats ( SpireObject, ICloneParent, IConditionalFormats) :
617
621
  GetDllLibXls().XlsConditionalFormats_GetEnumerator.restype=c_void_p
618
622
  intPtr = CallCFunction(GetDllLibXls().XlsConditionalFormats_GetEnumerator, self.Ptr)
619
623
  ret = None if intPtr==None else IEnumerator(intPtr)
624
+ ret._gtype = XlsConditionalFormat
620
625
  return ret
621
626
 
622
627
 
@@ -301,6 +301,7 @@ class IChartErrorBars (SpireObject) :
301
301
  workbook.SaveToFile("Chart.xlsx")
302
302
 
303
303
  """
304
+ from spire.xls.charts.ChartShadow import ChartShadow
304
305
  GetDllLibXls().IChartErrorBars_get_Shadow.argtypes=[c_void_p]
305
306
  GetDllLibXls().IChartErrorBars_get_Shadow.restype=c_void_p
306
307
  intPtr = CallCFunction(GetDllLibXls().IChartErrorBars_get_Shadow, self.Ptr)
@@ -315,6 +316,7 @@ class IChartErrorBars (SpireObject) :
315
316
  Gets the chart3 D options.
316
317
 
317
318
  """
319
+ from spire.xls.Format3D import Format3D
318
320
  GetDllLibXls().IChartErrorBars_get_Chart3DOptions.argtypes=[c_void_p]
319
321
  GetDllLibXls().IChartErrorBars_get_Chart3DOptions.restype=c_void_p
320
322
  intPtr = CallCFunction(GetDllLibXls().IChartErrorBars_get_Chart3DOptions, self.Ptr)
@@ -19,6 +19,7 @@ class IChartTrendLine (SpireObject) :
19
19
  Gets the IThreeDFormat object. Read-only.[Deprecated]
20
20
 
21
21
  """
22
+ from spire.xls.Format3D import Format3D
22
23
  GetDllLibXls().IChartTrendLine_get_Chart3DOptions.argtypes=[c_void_p]
23
24
  GetDllLibXls().IChartTrendLine_get_Chart3DOptions.restype=c_void_p
24
25
  intPtr = CallCFunction(GetDllLibXls().IChartTrendLine_get_Chart3DOptions, self.Ptr)
@@ -178,6 +178,7 @@ class IListObject (SpireObject) :
178
178
  workbook.SaveToFile("Table.xlsx")
179
179
 
180
180
  """
181
+ from spire.xls.XlsWorksheet import XlsWorksheet
181
182
  GetDllLibXls().IListObject_get_Worksheet.argtypes=[c_void_p]
182
183
  GetDllLibXls().IListObject_get_Worksheet.restype=c_void_p
183
184
  intPtr = CallCFunction(GetDllLibXls().IListObject_get_Worksheet, self.Ptr)
@@ -434,6 +435,7 @@ class IListObject (SpireObject) :
434
435
  Gets the AutoFiltersCollection collection in the table. Read-only.
435
436
 
436
437
  """
438
+ from spire.xls.collection.AutoFiltersCollection import AutoFiltersCollection
437
439
  GetDllLibXls().IListObject_get_AutoFilters.argtypes=[c_void_p]
438
440
  GetDllLibXls().IListObject_get_AutoFilters.restype=c_void_p
439
441
  intPtr = CallCFunction(GetDllLibXls().IListObject_get_AutoFilters, self.Ptr)
@@ -43,6 +43,7 @@ class IOleObject (SpireObject) :
43
43
  Returns:
44
44
  IXLSRange: The range representing the location of the OLE object.
45
45
  """
46
+ from spire.xls.XlsRange import XlsRange
46
47
  GetDllLibXls().IOleObject_get_Location.argtypes=[c_void_p]
47
48
  GetDllLibXls().IOleObject_get_Location.restype=c_void_p
48
49
  intPtr = CallCFunction(GetDllLibXls().IOleObject_get_Location, self.Ptr)
@@ -118,6 +119,7 @@ class IOleObject (SpireObject) :
118
119
  Returns:
119
120
  IPictureShape: The picture shape object associated with the OLE object.
120
121
  """
122
+ from spire.xls.XlsBitmapShape import XlsBitmapShape
121
123
  GetDllLibXls().IOleObject_get_Shape.argtypes=[c_void_p]
122
124
  GetDllLibXls().IOleObject_get_Shape.restype=c_void_p
123
125
  intPtr = CallCFunction(GetDllLibXls().IOleObject_get_Shape, self.Ptr)
@@ -1218,21 +1218,21 @@ class IWorksheet ( ITabSheet, IExcelApplication) :
1218
1218
 
1219
1219
 
1220
1220
 
1221
- @abc.abstractmethod
1222
- def add_CellValueChanged(self ,value:'CellValueChangedEventHandler'):
1223
- """
1221
+ # @abc.abstractmethod
1222
+ # def add_CellValueChanged(self ,value:'CellValueChangedEventHandler'):
1223
+ # """
1224
1224
 
1225
- """
1226
- pass
1225
+ # """
1226
+ # pass
1227
1227
 
1228
1228
 
1229
1229
 
1230
- @abc.abstractmethod
1231
- def remove_CellValueChanged(self ,value:'CellValueChangedEventHandler'):
1232
- """
1230
+ # @abc.abstractmethod
1231
+ # def remove_CellValueChanged(self ,value:'CellValueChangedEventHandler'):
1232
+ # """
1233
1233
 
1234
- """
1235
- pass
1234
+ # """
1235
+ # pass
1236
1236
 
1237
1237
 
1238
1238
  @property
@@ -12,6 +12,13 @@ class ImportObjectOptions (SpireObject) :
12
12
 
13
13
  This class provides various settings to control how data is imported into Excel worksheets.
14
14
  """
15
+ @dispatch
16
+ def __init__(self):
17
+ GetDllLibXls().ImportObjectOptions_Create.restype = c_void_p
18
+ intPtr = CallCFunction(GetDllLibXls().ImportObjectOptions_Create)
19
+
20
+ super(ImportObjectOptions, self).__init__(intPtr)
21
+
15
22
  @property
16
23
  def ConvertNumericData(self)->bool:
17
24
  """
@@ -84,9 +84,9 @@ class IShapes ( IEnumerable[XlsShape]) :
84
84
 
85
85
  """
86
86
 
87
- GetDllLibXls().IShapes_AddComment.argtypes=[c_void_p ,c_void_p,c_bool]
88
- GetDllLibXls().IShapes_AddComment.restype=c_void_p
89
- intPtr = CallCFunction(GetDllLibXls().IShapes_AddComment, self.Ptr, commentText,bIsParseOptions)
87
+ GetDllLibXls().IShapes_AddCommentCB.argtypes=[c_void_p ,c_void_p,c_bool]
88
+ GetDllLibXls().IShapes_AddCommentCB.restype=c_void_p
89
+ intPtr = CallCFunction(GetDllLibXls().IShapes_AddCommentCB, self.Ptr, commentText,bIsParseOptions)
90
90
  ret = None if intPtr==None else XlsComment(intPtr)
91
91
  return ret
92
92
 
@@ -111,9 +111,9 @@ class IShapes ( IEnumerable[XlsShape]) :
111
111
  """
112
112
 
113
113
  """
114
- GetDllLibXls().IShapes_AddComment1.argtypes=[c_void_p]
115
- GetDllLibXls().IShapes_AddComment1.restype=c_void_p
116
- intPtr = CallCFunction(GetDllLibXls().IShapes_AddComment1, self.Ptr)
114
+ GetDllLibXls().IShapes_AddComment.argtypes=[c_void_p]
115
+ GetDllLibXls().IShapes_AddComment.restype=c_void_p
116
+ intPtr = CallCFunction(GetDllLibXls().IShapes_AddComment, self.Ptr)
117
117
  ret = None if intPtr==None else XlsComment(intPtr)
118
118
  return ret
119
119
 
@@ -188,7 +188,7 @@ class IPivotTableOptions (SpireObject) :
188
188
  CallCFunction(GetDllLibXls().IPivotTableOptions_set_EnableFieldProperties, self.Ptr, value)
189
189
 
190
190
  @property
191
- def Indent(self)->'UInt32':
191
+ def Indent(self)->int:
192
192
  """
193
193
  Gets or sets the indent value for the PivotTable.
194
194
 
@@ -196,15 +196,14 @@ class IPivotTableOptions (SpireObject) :
196
196
  UInt32: The indent value.
197
197
  """
198
198
  GetDllLibXls().IPivotTableOptions_get_Indent.argtypes=[c_void_p]
199
- GetDllLibXls().IPivotTableOptions_get_Indent.restype=c_void_p
200
- intPtr = CallCFunction(GetDllLibXls().IPivotTableOptions_get_Indent, self.Ptr)
201
- ret = None if intPtr==None else UInt32(intPtr)
199
+ GetDllLibXls().IPivotTableOptions_get_Indent.restype=c_int
200
+ ret = CallCFunction(GetDllLibXls().IPivotTableOptions_get_Indent, self.Ptr)
202
201
  return ret
203
202
 
204
203
  @Indent.setter
205
- def Indent(self, value:'UInt32'):
206
- GetDllLibXls().IPivotTableOptions_set_Indent.argtypes=[c_void_p, c_void_p]
207
- CallCFunction(GetDllLibXls().IPivotTableOptions_set_Indent, self.Ptr, value.Ptr)
204
+ def Indent(self, value:int):
205
+ GetDllLibXls().IPivotTableOptions_set_Indent.argtypes=[c_void_p, c_int]
206
+ CallCFunction(GetDllLibXls().IPivotTableOptions_set_Indent, self.Ptr, value)
208
207
 
209
208
  @property
210
209
  def ErrorString(self)->str:
@@ -490,18 +489,17 @@ class IPivotTableOptions (SpireObject) :
490
489
  CallCFunction(GetDllLibXls().IPivotTableOptions_set_ShowDrillIndicators, self.Ptr, value)
491
490
 
492
491
  @property
493
- def DataPosition(self)->'Int16':
492
+ def DataPosition(self)->int:
494
493
  """
495
494
 
496
495
  """
497
496
  GetDllLibXls().IPivotTableOptions_get_DataPosition.argtypes=[c_void_p]
498
- GetDllLibXls().IPivotTableOptions_get_DataPosition.restype=c_void_p
499
- intPtr = CallCFunction(GetDllLibXls().IPivotTableOptions_get_DataPosition, self.Ptr)
500
- ret = None if intPtr==None else Int16(intPtr)
497
+ GetDllLibXls().IPivotTableOptions_get_DataPosition.restype=c_int
498
+ ret = CallCFunction(GetDllLibXls().IPivotTableOptions_get_DataPosition, self.Ptr)
501
499
  return ret
502
500
 
503
501
  @DataPosition.setter
504
- def DataPosition(self, value:'Int16'):
505
- GetDllLibXls().IPivotTableOptions_set_DataPosition.argtypes=[c_void_p, c_void_p]
506
- CallCFunction(GetDllLibXls().IPivotTableOptions_set_DataPosition, self.Ptr, value.Ptr)
502
+ def DataPosition(self, value:int):
503
+ GetDllLibXls().IPivotTableOptions_set_DataPosition.argtypes=[c_void_p, c_int]
504
+ CallCFunction(GetDllLibXls().IPivotTableOptions_set_DataPosition, self.Ptr, value)
507
505
 
Binary file
@@ -157,7 +157,7 @@ class PivotDataField ( SpireObject, IPivotDataField, ICloneParent) :
157
157
  GetDllLibXls().PivotDataField_Clone.argtypes=[c_void_p ,c_void_p]
158
158
  GetDllLibXls().PivotDataField_Clone.restype=c_void_p
159
159
  intPtr = CallCFunction(GetDllLibXls().PivotDataField_Clone, self.Ptr, intPtrparent)
160
- ret = None if intPtr==None else SpireObject(intPtr)
160
+ ret = None if intPtr==None else PivotDataField(intPtr)
161
161
  return ret
162
162
 
163
163
 
@@ -79,9 +79,9 @@ class PivotReportFilter (SpireObject) :
79
79
  Args:
80
80
  fieldName (str): The name of the field to use as a report filter.
81
81
  """
82
- GetDllLibXls().PivotReportFilter_Create.argtypes=[ c_void_p]
83
- GetDllLibXls().PivotReportFilter_Create.restype = c_void_p
84
- intPtr = CallCFunction(GetDllLibXls().PivotReportFilter_Create,fieldName)
82
+ GetDllLibXls().PivotReportFilter_CreateF.argtypes=[ c_void_p]
83
+ GetDllLibXls().PivotReportFilter_CreateF.restype = c_void_p
84
+ intPtr = CallCFunction(GetDllLibXls().PivotReportFilter_CreateF,fieldName)
85
85
 
86
86
  super(PivotReportFilter, self).__init__(intPtr)
87
87
  """
@@ -124,7 +124,7 @@ class PivotReportFilter (SpireObject) :
124
124
  GetDllLibXls().PivotReportFilter_get_FilterItemStrings.argtypes=[c_void_p]
125
125
  GetDllLibXls().PivotReportFilter_get_FilterItemStrings.restype=IntPtrArray
126
126
  intPtrArray = CallCFunction(GetDllLibXls().PivotReportFilter_get_FilterItemStrings, self.Ptr)
127
- ret = GetStrVectorFromArray(intPtrArray, str)
127
+ ret = GetStrVectorFromArray(intPtrArray, c_void_p)
128
128
  return ret
129
129
 
130
130