We're pleased to announce the release of Spire.Office 9.9.0. This version adds many new features, for example, Spire.XLS supports identify OLE objects in Msg format and disabling DTD processing; Spire.Presentation supports setting the global font directory when execute conversion feature, and also adds two properties to obtain the last row and last column of the chart's data source. What’s more, a series of issues occurred when processing Excel, PDF and PowerPoint files have been successfully fixed. More details are given below.
In this version, the most recent versions of Spire.Doc, Spire.PDF, Spire.XLS, Spire.Presentation, Spire.Email, Spire.DocViewer, Spire.PDFViewer, Spire.Spreadsheet, Spire.OfficeViewer, Spire.DataExport, Spire.Barcode are included.
DLL Versions:
- Spire.Doc.dll v12.8.12
- Spire.Pdf.dll v10.9.0
- Spire.XLS.dll v14.9.5
- Spire.Presentation.dll v9.9.2
- Spire.Barcode.dll v7.3.3
- Spire.Email.dll v6.6.0
- Spire.DocViewer.Forms.dll v8.8.1
- Spire.PdfViewer.Asp.dll v7.12.23
- Spire.PdfViewer.Forms.dll v7.12.23
- Spire.Spreadsheet v7.5.2
- Spire.OfficeViewer.Forms.dll v8.7.15
- Spire.DataExport.dll v4.9.0
- Spire.DataExport.ResourceMgr.dll v2.1.0
Here is a list of changes made in this release
Spire.XLS
Category | ID | Description |
New feature | SPIREXLS-5307 | Adds the 'OleObjectType.Msg' type to identify OLE objects in Msg format.
Workbook wb = new Workbook(); wb.LoadFromFile(inputFile); Worksheet sheet =wb.Worksheets[0]; OleObjectType type; if (sheet.HasOleObjects) { for (int i = 0; i < sheet.OleObjects.Count; i++) { var Object = sheet.OleObjects[i]; type = sheet.OleObjects[i].ObjectType; switch (type) { case OleObjectType.Msg: File.WriteAllBytes(outputFile_1, Object.OleData); break; ...... } } } |
New feature | SPIREXLS-5359 | Adds the 'workbook.ProhibitDtd = true' property to disable DTD processing.
Workbook workbook = new Workbook(); workbook.ProhibitDtd = true; workbook.LoadFromFile(inputFile); workbook.SaveToFile(outputFile, ExcelVersion.Version2013); workbook.Dispose(); |
New feature | SPIREXLS-5395 | Implements the support for the BAHTTEXT formula.
Workbook workbook = new Workbook(); workbook.Worksheets[0].Range["A3"].Value2 = 1234; workbook.Worksheets[0].Range["C3"].Formula = "=BAHTTEXT(A3)"; workbook.Worksheets[0].Range["A9"].Value = "1234"; workbook.Worksheets[0].Range["C9"].Formula = "=BAHTTEXT(A9)"; workbook.SaveToFile(outputFile, ExcelVersion.Version2013); workbook.Dispose(); |
New feature | SPIREXLS-5255 | Supports adding filters to row fields/column fields of pivot tables.
XlsPivotTable pt1 = workbook.Worksheets["PivotTable_1"].PivotTables[0] as XlsPivotTable; pt1.RowFields[0].AddValueFilter(PivotValueFilterType.Between, pt1.DataFields[0], 100000, 1000000); pt1.ColumnFields[0].AddValueFilter(PivotValueFilterType.Between, pt1.DataFields[0], 100000, 1000000); pt1.CalculateData(); |
New feature | SPIREXLS-5393 | Supports the issue that the TEXTBEFORE formula is now available.
workbook.Worksheets[0].Range["A1"].Formula = "=TEXTBEFORE(\"Red riding hood's, red hood\", \"hood\")"; |
New feature | SPIREXLS-5394 | Supports the issue that the TEXTSPLIT formula is now available.
Supports the issue that the TEXTSPLIT formula is now available. workbook.Worksheets[0].Range["B2:D2"].FormulaArray = "=TEXTSPLIT(A2, \" \")"; |
New feature | SPIREXLS-5397 | Supports the issue that the TEXTAFTER formula is now available.
workbook.Worksheets[0].Range["A3"].Formula = "=TEXTAFTER(\"Red riding hood’s, red hood\", \"\")"; |
Bug | SPIREXLS-5108 | Fixed the issue that the table borders were inconsistent in color after converting an Excel document to a picture. |
Bug | SPIREXLS-5280 | Fix the issue that the content was incorrect after converting an Excel document to a CSV document. |
Bug | SPIREXLS-5315 | Fix the issue that the order of setting different font styles for the contents of a cell affected the inconsistency of the results. |
Bug | SPIREXLS-5321 | Fix the issue that icons were lost after converting an Excel document to an HTML document. |
Bug | SPIREXLS-5332 | Fix the issue that the data in the pivot table was lost when converting an Excel document to a picture. |
Bug | SPIREXLS-5346 | Fix the issue that the result of data summing using MarkerDesigner function was incorrect. |
Bug | SPIREXLS-5360 | Fixed the issue that the program threw System.OutOfMemoryException when converting charts to pictures. |
Bug | SPIREXLS-5361 | Fixed the issue that the formatting was changed after saving as an XLSX document. |
Bug | SPIREXLS-5363 | Fixed the issue that the spacing between words became larger after converting an Excel document to a PDF document. |
Bug | SPIREXLS-5400 | Fix the issue that the text line breaks were incorrect after converting an Excel document to a PDF document. |
Bug | SPIREXLS-5355 | Fixes the issue that the content is incorrect when converting Excel documents to images. |
Bug | SPIREXLS-5467 | Fixes the issue that an exception "System.InvalidCastException" is thrown when copying worksheets containing charts. |
Bug | SPIREXLS-5468 | Fixes the issue that there is a discrepancy in data after the decimal point when converting Excel documents to PDF. |
Spire.PDF
Category | ID | Description |
Bug | SPIREPDF-4562 SPIREPDF-5019 |
Improves the speed of printing PDF documents. |
Bug | SPIREPDF-4445 | Fixes the issue that content is blank when converting PDF documents to images. |
Bug | SPIREPDF-6938 | Fixes the issue that the program throws a System.FormatException: "Header checksum illegal" when compressing PDF documents. |
Bug | SPIREPDF-6969 | Fixes the issue that the program throws a System.NullReferenceException: "Object reference not set to an instance of an object." when converting PDF documents to OFD documents. |
Bug | SPIREPDF-6970 | Fixes the issue that the program throws a System.Exception: "Header of the stream cannot be read." when extracting images. |
Bug | SPIREPDF-6971 | Fixes the issue that the content is incorrect when converting SVG files to PDF documents. |
Bug | SPIREPDF-6974 | Fixes the issue with font errors when converting SVG files to PDF documents. |
Bug | SPIREPDF-6979 | Fixes the issue that the program throws a System.IndexOutOfRangeException: "Index is outside the bounds of the array." when converting PDF documents to images. |
Bug | SPIREPDF-6981 | Fixes the issue that the program throws a System.NullReferenceException: "Object reference not set to an instance of an object." when retrieving fonts. |
Bug | SPIREPDF-6995 | Fixes the issue that results are incorrect when extracting text multiple times. |
Bug | SPIREPDF-6997 | Fixes the issue that the program throws a System.NullReferenceException: "Object reference not set to an instance of an object." when converting PDF documents to PDFA1B documents. |
Spire.Presentation
Category | ID | Description |
New feature | SPIREPPT-2567 | Supports setting the global font directory when execute the conversion function.
Presentation.SetCustomFontsDirctory("myfonts"); |
New feature | SPIREPPT-2594 | Adds the "IChart.ChartData.LastRowIndex" and "IChart.ChartData.LastColIndex" properties to obtain the last row and last column of the chart's data source.
Presentation ppt = new Presentation(); ppt.LoadFromFile(inputFile); StringBuilder stringBuilder= new StringBuilder(); IChart chart = ppt.Slides[0].Shapes[0] as IChart; if (chart != null) { int lastRow = chart.ChartData.LastRowIndex; int lastCol = chart.ChartData.LastColIndex; sb.AppendLine("lastRow" + lastRow + "\r\n" + "lastColumn" + lastCol); int dataRow = chart.Series[2].Values[chart.Series[2].Values.Count - 1].Row; int dataColumn = chart.Series[2].Values[chart.Series[2].Values.Count - 1].Column; sb.AppendLine("dataRow" + datarow + "\r\n" + "dataColumn" + dataColumn); chart.ChartData.Clear(dataRow + 1, 0, lastRow + 1, lastCol + 1); chart.ChartData.Clear(0, dataColumn + 1, lastRow + 1, lastCol + 1); } File.WriteAllText(outputFile_T,stringBuilder.ToString()); ppt.SaveToFile(outputFile, FileFormat.Pptx2013); ppt.Dispose(); |
Bug | SPIREPPT-2582 | Fixes the issue that the type changed from "graphic" to "image" when copying shapes. |
Bug | SPIREPPT-2590 | Fixes the issue that the content was incorrect when converting PPTX documents to SVG documents. |