Spire.Office 9.9.0 is released

2024-09-29 09:27:31

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
Click the link to get the version Spire.Office 9.9.0:
More information of Spire.Office new release or hotfix:

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.