Spire.Office NET 7.7.6 重大重量 Spire.Office 7.7.X JAVA

破解版网上很多:Spire.Office for Java is a combination  of Java Office APIs that contains Spire.Doc for Java, Spire.XLS for Java, Spire.PDF for Java, Spire.Presentation for Java and Spire.Barcode for Java.


破解版网上很多:::Spire.Office for .NET is a combination  of Enterprise-Level Office .NET API offered by E-iceblue. It includes Spire.Doc, Spire.XLS, Spire.Spreadsheet, Spire.Presentation, Spire.PDF, Spire.DataExport, Spire.OfficeViewer, Spire.PDFViewer, Spire.DocViewer, Spire.Barcode and Spire.Email. Spire.Office contains the most up-to-date versions of the above .NET API.

release of Spire.Office 7.7.6. In this release, Spire.PDF supports creating tagged PDF files and PDF/UA files; Spire.Doc supports reserving the text direction when using the new engine to convert Word to PDF; Spire.Presentation supports cropping slide pictures; Spire.XLS supports calculating "UNICODE" formulas. Moreover, a number of known issues are fixed successfully. More details are listed 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.
Here is a list of changes made in this release
Spire.Doc
CategoryIDDescription
New feature-Supports reserving the text direction when using new engine to convert Word to PDF.
Adjustment-Abandons public IStyle FindById(int styleId) method.
Adjustment-Abandons public IStyle FindByIstd(int istd) method.
Adjustment-Adopts public IStyle FindByIdentifier(int sIdentifier) method.
BugSPIREPDF-6923Fixes the issue that the pagination was incorrect after converting Word to PDF.
BugSPIREPDF-7103Fixes the issue that the content format was incorrect after converting Word to PDF.
SPIREPDF-7796
BugSPIREPDF-7591Fixes the issue that the line breaks were incorrect after converting Word to PDF.
BugSPIREPDF-7601Fixes the issue that the text in table was incomplete after converting Word to PDF.
BugSPIREPDF-7660Fixes the issue that the application threw the "InvalidOperationException" when loading HTML.
BugSPIREPDF-7793Fixes the issue that the application threw the "InvalidCastException" when replacing picture.
BugSPIREPDF-7821Fixes the issue that the application threw "FileNotFoundException" when loading HTML.
BugSPIREPDF-7826Fixes the issue that the field text was not set correctly.
BugSPIREPDF-7830Fixes the issue that the location of mathematical formula was incorrect after converting Word to PDF.
BugSPIREPDF-7892Fixes the issue that setting LinkToPrevious as false didn't take effect when converting Word to PDF using new engine.
BugSPIREPDF-7922Fixes the issue that the application threw the "InvalidOperationException" when converting Word to PDF.
Bug-Fixes the reference issue of Comment.CommentMarkEnd and Comment.CommentMarkStart.
BugSPIREDOC-7218Fixes the issue that the count of paragraph characters was incorrect.
BugSPIREDOC-7317Fixes the issue that there are extra columns after merging cells.
BugSPIREDOC-7467Fixes the issue that the application throws "NullReferenceException: Object reference not set to an instance of an object" when loading HTML files.
BugSPIREDOC-7604Fixes the issue that extra border lines in the table after converting Word to PDF.
BugSPIREDOC-7833Fixes the issue that table borders missing after converting HTML to Word.
BugSPIREDOC-7884Fixes the issue that the table position changed after converting HTML to Word.
BugSPIREDOC-7933Fixes the issue with incorrect table layout when generating Doc format documents.
BugSPIREDOC-7967Fixes the issue of image loss after converting RTF to PDF.
BugSPIREDOC-7968Fixed the issue that the multiple columns did not take effect after creating multiple columns and converting Word to PDF.
BugSPIREDOC-8002Fixes the issue that there are extra spaces after inserting text to bookmarks.
BugSPIREDOC-8033Fixes the issue that the Word to PDF converting program hangs.
BugSPIREDOC-8106Fixes the issue of incorrect images after converting Word to PDF
BugSPIREDOC-8125Fixes the issue that the application throws an exception "Property value is of unsupported type" when setting custom properties to Null for a document
Spire.PDF
CategoryIDDescription
New featureSPIREPDF-3803Support creating tagged PDF files.
//Note:At present, in order to ensure the validity of the output tagged PDF file, it is necessary to add the valid license of Spire.PDF for .net to remove the red warning watermark.
 
//Spire.License.LicenseProvider.SetLicenseKey("valid license key");
 
//Create a pdf document
PdfDocument doc = new PdfDocument();
 
//Add page
doc.Pages.Add();
 
//Set tab order
doc.Pages[0].SetTabOrder(TabOrder.Structure);
 
//Create PdfTaggedContent
PdfTaggedContent taggedContent = new PdfTaggedContent(doc);
taggedContent.SetLanguage("en-US");
taggedContent.SetTitle("test");
 
//Set font
PdfTrueTypeFont font = new PdfTrueTypeFont(new System.Drawing.Font("Times New Roman", 10), true);
PdfSolidBrush brush = new PdfSolidBrush(Color.Black);
 
//Append elements
PdfStructureElement article = taggedContent.StructureTreeRoot.AppendChildElement(PdfStandardStructTypes.Document);
PdfStructureElement paragraph1 = article.AppendChildElement(PdfStandardStructTypes.Paragraph);
PdfStructureElement span1 = paragraph1.AppendChildElement(PdfStandardStructTypes.Span);
span1.BeginMarkedContent(doc.Pages[0]);
 
PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Justify);
doc.Pages[0].Canvas.DrawString("Spire.PDF for .NET is a professional PDF API applied to creating, writing, editing, handling and reading PDF files.",
font, brush, new Rectangle(40, 0, 480, 80), format);
span1.EndMarkedContent(doc.Pages[0]);
 
PdfStructureElement paragraph2 = article.AppendChildElement(PdfStandardStructTypes.Paragraph);
paragraph2.BeginMarkedContent(doc.Pages[0]); doc.Pages[0].Canvas.DrawString("Spire.PDF for .NET can be applied to easily convert Text, Image, SVG, HTML to PDF and convert PDF to Excel with C#/VB.NET in high quality.",
font, brush, new Rectangle(40, 80, 480, 60), format);
paragraph2.EndMarkedContent(doc.Pages[0]);
 
PdfStructureElement figure1 = article.AppendChildElement(PdfStandardStructTypes.Figure);
//Set Alternate text 
figure1.Alt = "replacement text1";
figure1.BeginMarkedContent(doc.Pages[0], null);
PdfImage image = PdfImage.FromFile(@"E-logo.png");
doc.Pages[0].Canvas.DrawImage(image, new PointF(40, 200), new SizeF(100, 100));
figure1.EndMarkedContent(doc.Pages[0]);
 
PdfStructureElement figure2 = article.AppendChildElement(PdfStandardStructTypes.Figure);
//Set Alternate text
figure2.Alt = "replacement text2";
figure2.BeginMarkedContent(doc.Pages[0], null);
  doc.Pages[0].Canvas.DrawRectangle(PdfPens.Black, new Rectangle(300, 200, 100, 100));
figure2.EndMarkedContent(doc.Pages[0]);
 
//Save to file
String result = "CreateTaggedFile_result.pdf";
doc.SaveToFile(result);
doc.Close();
New featureSPIREPDF-4559Support creating PDF/UA files.
//Note:At present, in order to ensure the validity of the output PDF/UA file, it is necessary to add the valid license of Spire.PDF for .net to remove the red warning watermark.
//Spire.License.LicenseProvider.SetLicenseKey("valid license key");
 
//Create a pdf document
PdfDocument doc = new PdfDocument();
 
//Add page
doc.Pages.Add();
 
//Set tab order
doc.Pages[0].SetTabOrder(TabOrder.Structure);
 
//Create PdfTaggedContent
PdfTaggedContent taggedContent = new PdfTaggedContent(doc);
taggedContent.SetLanguage("en-US");
taggedContent.SetTitle("test");
 
//Set PDF/UA1 identification
taggedContent.SetPdfUA1Identification();
 
//Set font
PdfTrueTypeFont font = new PdfTrueTypeFont(new System.Drawing.Font("Times New Roman", 10), true);
PdfSolidBrush brush = new PdfSolidBrush(Color.Black);
 
//Append elements
PdfStructureElement article = taggedContent.StructureTreeRoot.AppendChildElement(PdfStandardStructTypes.Document);
PdfStructureElement paragraph1 = article.AppendChildElement(PdfStandardStructTypes.Paragraph);
PdfStructureElement span1 = paragraph1.AppendChildElement(PdfStandardStructTypes.Span);
span1.BeginMarkedContent(doc.Pages[0]);
 
PdfStringFormat format = new PdfStringFormat(PdfTextAlignment.Justify);
doc.Pages[0].Canvas.DrawString("Spire.PDF for .NET is a professional PDF API applied to creating, writing, editing, handling and reading PDF files.",
font, brush, new Rectangle(40, 0, 480, 80), format);
span1.EndMarkedContent(doc.Pages[0]);
 
PdfStructureElement paragraph2 = article.AppendChildElement(PdfStandardStructTypes.Paragraph);
paragraph2.BeginMarkedContent(doc.Pages[0]);
doc.Pages[0].Canvas.DrawString("Spire.PDF for .NET can be applied to easily convert Text, Image, SVG, HTML to PDF and convert PDF to Excel with C#/VB.NET in high quality.",
font, brush, new Rectangle(40, 80, 480, 60), format);
paragraph2.EndMarkedContent(doc.Pages[0]);
 
PdfStructureElement figure1 = article.AppendChildElement(PdfStandardStructTypes.Figure);
//Set Alternate text 
figure1.Alt = "replacement text1";
figure1.BeginMarkedContent(doc.Pages[0], null);
PdfImage image = PdfImage.FromFile(@"E-logo.png");
doc.Pages[0].Canvas.DrawImage(image, new PointF(40, 200), new SizeF(100, 100));
figure1.EndMarkedContent(doc.Pages[0]);
 
PdfStructureElement figure2 = article.AppendChildElement(PdfStandardStructTypes.Figure);
//Set Alternate text
figure2.Alt = "replacement text2";
figure2.BeginMarkedContent(doc.Pages[0], null);
  doc.Pages[0].Canvas.DrawRectangle(PdfPens.Black, new Rectangle(300, 200, 100, 100));
figure2.EndMarkedContent(doc.Pages[0]);
 
//Save to file
String result = "CreatePDFUAFile_result.pdf";
doc.SaveToFile(result);
doc.Close();
BugSPIREPDF-4227Fixes the issue that the application threw "System.NotSupportedException" when signing a PDF document with a timestamp server.
BugSPIREPDF-4596Fixes the issue that the content format was incorrect after converting PDF to excel file.
BugSPIREPDF-5214Fixes the issue that the application threw "System.NullReferenceException" when converting PDF to SVG.
BugSPIREPDF-5247Fixes the issue that the stamp content format was incorrect after printing PDF file.
BugSPIREPDF-5266Optimizes the time consumption issue when finding PDF file text.
BugSPIREPDF-5277Fixes the issue that the ReplaceAllText() function didn't take effect.
BugSPIREPDF-5292Optimizes the DrawString() method to draw Html string.
BugSPIREPDF-5314Fixes the issue that the RemoveCustomProperty() function effect was incorrect.
BugSPIREPDF-5317Fixes the issue that the application threw "System.OutOfMemoryException" when compressing PDF images.
BugSPIREPDF-5318Fixes the issue that the output PDF couldn't be opened after converting from a u3d file.
BugSPIREPDF-5319Fixes the issue that the size of the extracted images was incorrect.
BugSPIREPDF-5330Fixes the issue that the QR code of the PDF file was incorrect after converting PDF to image.
BugSPIREPDF-5331Fixes the issue that the application threw "System.NullReferenceException" when extracting text from a PDF/A file.
BugSPIREPDF-5333Fixes the issue that it wasn't able to find text from a PDF file.
BugSPIREPDF-5336Fixes the issue that the application threw "Invalid year in date string" after loading and then directly saving a PDF file.
BugSPIREPDF-5351Fixes the issue that the content lost after printing a PDF file.
BugSPIREPDF-5305Fixes the issue that the application threw "System.IndexOutOfRangeException" when merging PDF files.
Spire.PDFViewer
CategoryIDDescription
BugSPIREPDFVIEWER-492Optimizes document loading time.
BugSPIREPDFVIEWER-542Fixes the issue that the document became blank when viewing.
BugSPIREPDFVIEWER-547Fixes the issue that the application threw "value can not be null" when rotating PDF.
BugSPIREPDFVIEWER-551Fixes the issue that the stamp was lost when viewing.
Spire.XLS
CategoryIDDescription
New featureSPIREXLS-3944Supports setting whether to keep the number format of the data when exporting to DataTable.
ExportTableOptions options = new ExportTableOptions();
options.KeepDataFormat = false;
DataTable table = sheet.ExportDataTable(1, 1, sheet.LastDataRow, sheet.LastDataColumn, options);
New feature-Supports calculating "UNICODE" formulas.
BugSPIREXLS-3902Fixes the issue that the column names of the pivot table were offset after converting Excel to PDF.
BugSPIREXLS-3957Fixes the issue that "System.FormatException: Input string was not in a correct format" was thrown when loading HTML files
BugSPIREXLS-3966Fixes the issue that formulas were not calculated after inserting formulas.
BugSPIREXLS-3967Fixes the issue that "CellRange.DisplayedText" property getting incorrect value.
BugSPIREXLS-3971Fixes the issue that "System.FormatException: The string is not recognized as a valid DateTime" exception was thrown when converting Excel to PDF.
BugSPIREXLS-3972Fixes an issue that the application threw a null pointer exception when getting the name manager for a non-contiguous range.
Spire.Presentation
CategoryIDDescription
New featureSPIREPPT-1965Supports cropping slide picture.
SlidePicture slidePicture =    (SlidePicture)presentation.Slides[0].Shapes[0];
slidePicture.Crop(float x, float y, float   width, float height);
New featureSPIREPPT-1984Provides InsertPicture(stream) to insert picture from file stream.
presentation.Slides[0].Shapes[0].InsertPicture(Stream stream)
New feature-Supports creating new chart types in PowerPoint2016 (Waterfall, Treemap, Boxandwhisker, Histogram, Pareto, SunBurst).
  public void CreateWaterFall(Presentation ppt)
  {
      IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.WaterFall, new RectangleF(50, 50, 500, 400), false);
      chart.ChartData[0, 1].Text = "Series 1";
      string[] categories = { "Category 1", "Category 2", "Category 3", "Category 4", "Category 5", "Category 6", "Category 7" };
      for (int i = 0; i < categories.Length; i++)
      {
          chart.ChartData[i + 1, 0].Text = categories[i];
      }
      double[] values = { 100, 20, 50, -40, 130, -60, 70 };
      for (int i = 0; i < values.Length; i++)
      {
          chart.ChartData[i + 1, 1].NumberValue = values[i];
      }
      chart.Series.SeriesLabel = chart.ChartData[0, 1, 0, 1];
      chart.Categories.CategoryLabels = chart.ChartData[1, 0, categories.Length, 0];
      chart.Series[0].Values = chart.ChartData[1, 1, values.Length, 1];
 
      ChartDataPoint chartDataPoint = new ChartDataPoint(chart.Series[0]);
      chartDataPoint.Index = 2;
      chartDataPoint.SetAsTotal = true;
      chart.Series[0].DataPoints.Add(chartDataPoint);
      ChartDataPoint chartDataPoint2 = new ChartDataPoint(chart.Series[0]);
      chartDataPoint2.Index = 5;
      chartDataPoint2.SetAsTotal = true;
      chart.Series[0].DataPoints.Add(chartDataPoint2);
      chart.Series[0].ShowConnectorLines = true;
      chart.Series[0].DataLabels.LabelValueVisible = true;
      chart.ChartLegend.Position = ChartLegendPositionType.Right;
      chart.ChartTitle.TextProperties.Text = "WaterFall";
  }
  public void CreateTreeMap(Presentation ppt)
  {
      IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.TreeMap, new RectangleF(50, 50, 500, 400), false);
      chart.ChartData[0, 3].Text = "Series 1";
 
      string[,] categories = {{"Branch 1","Stem 1","Leaf 1"},{"Branch 1","Stem 1","Leaf 2"},{"Branch 1","Stem 1", "Leaf 3"},
           {"Branch 1","Stem 2","Leaf 4"},{"Branch 1","Stem 2","Leaf 5"},{"Branch 1","Stem 2","Leaf 6"},{"Branch 1","Stem 2","Leaf 7"},
           {"Branch 2","Stem 3","Leaf 8"},{"Branch 2","Stem 3","Leaf 9"},{"Branch 2","Stem 4","Leaf 10"},{"Branch 2","Stem 4","Leaf 11"},
           {"Branch 2","Stem 5","Leaf 12"},{"Branch 3","Stem 5","Leaf 13"},{"Branch 3","Stem 6","Leaf 14"},{"Branch 3","Stem 6","Leaf 15"}};
 
      for (int i = 0; i < 15; i++)
      {
          for (int j = 0; j < 3; j++)
              chart.ChartData[i + 1, j].Text = categories[i, j];
      }
      double[] values = { 17, 23, 48, 22, 76, 54, 77, 26, 44, 63, 10, 15, 48, 15, 51 };
      for (int i = 0; i < values.Length; i++)
      {
          chart.ChartData[i + 1, 3].NumberValue = values[i];
      }
      chart.Series.SeriesLabel = chart.ChartData[0, 3, 0, 3];
      chart.Categories.CategoryLabels = chart.ChartData[1, 0, values.Length, 2];
      chart.Series[0].Values = chart.ChartData[1, 3, values.Length, 3];
 
      chart.Series[0].DataLabels.CategoryNameVisible = true;
      chart.Series[0].TreeMapLabelOption = TreeMapLabelOption.Banner;
      chart.ChartTitle.TextProperties.Text = "TreeMap";
 
      chart.HasLegend = true;
      chart.ChartLegend.Position = ChartLegendPositionType.Top;
  }
  public void CreateSunBurs(Presentation ppt)
  {
      IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.SunBurst, new RectangleF(50, 50, 500, 400), false);
      chart.ChartData[0, 3].Text = "Series 1";
 
      string[,] categories = {{"Branch 1","Stem 1","Leaf 1"},{"Branch 1","Stem 1","Leaf 2"},{"Branch 1","Stem 1", "Leaf 3"},
           {"Branch 1","Stem 2","Leaf 4"},{"Branch 1","Stem 2","Leaf 5"},{"Branch 1","Leaf 6",null},{"Branch 1","Leaf 7", null},
           {"Branch 2","Stem 3","Leaf 8"},{"Branch 2","Leaf 9",null},{"Branch 2","Stem 4","Leaf 10"},{"Branch 2","Stem 4","Leaf 11"},
           {"Branch 2","Stem 5","Leaf 12"},{"Branch 3","Stem 5","Leaf 13"},{"Branch 3","Stem 6","Leaf 14"},{"Branch 3","Leaf 15",null}};
 
      for (int i = 0; i < 15; i++)
      {
          for (int j = 0; j < 3; j++)
              chart.ChartData[i + 1, j].Value = categories[i, j];
      }
      double[] values = { 17, 23, 48, 22, 76, 54, 77, 26, 44, 63, 10, 15, 48, 15, 51 };
      for (int i = 0; i < values.Length; i++)
      {
          chart.ChartData[i + 1, 3].NumberValue = values[i];
      }
      chart.Series.SeriesLabel = chart.ChartData[0, 3, 0, 3];
      chart.Categories.CategoryLabels = chart.ChartData[1, 0, values.Length, 2];
      chart.Series[0].Values = chart.ChartData[1, 3, values.Length, 3];
 
      chart.Series[0].DataLabels.CategoryNameVisible = true;
 
      chart.ChartTitle.TextProperties.Text = "SunBurst";
 
      chart.HasLegend = true;
      chart.ChartLegend.Position = ChartLegendPositionType.Top;
  }
  public void CreatePareto(Presentation ppt)
  {
      IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.Pareto, new RectangleF(50, 50, 500, 400), false);
 
      chart.ChartData[0, 1].Text = "Series 1";
 
      string[] categories = { "Category 1", "Category 2", "Category 4", "Category 3", "Category 4", "Category 2", "Category 1",
          "Category 1", "Category 3", "Category 2", "Category 4", "Category 2", "Category 3",
          "Category 1", "Category 3", "Category 2", "Category 4", "Category 1", "Category 1",
          "Category 3", "Category 2", "Category 4", "Category 1", "Category 1", "Category 3",
          "Category 2", "Category 4", "Category 1"};
      for (int i = 0; i < categories.Length; i++)
      {
          chart.ChartData[i + 1, 0].Text = categories[i];
      }
 
      double[] values = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };
      for (int i = 0; i < values.Length; i++)
      {
          chart.ChartData[i + 1, 1].NumberValue = values[i];
      }
      chart.Series.SeriesLabel = chart.ChartData[0, 1, 0, 1];
      chart.Categories.CategoryLabels = chart.ChartData[1, 0, categories.Length, 0];
      chart.Series[0].Values = chart.ChartData[1, 1, values.Length, 1];
 
      chart.PrimaryCategoryAxis.IsBinningByCategory = true;
 
      chart.Series[1].Line.FillFormat.FillType = FillFormatType.Solid;
      chart.Series[1].Line.FillFormat.SolidFillColor.Color = Color.Red;
 
      chart.ChartTitle.TextProperties.Text = "Pareto";
 
      chart.HasLegend = true;
      chart.ChartLegend.Position = ChartLegendPositionType.Bottom;
  }
  public void CreateHistogram(Presentation ppt)
  {
      IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.Histogram, new RectangleF(50, 50, 500, 400), false);
      chart.ChartData[0, 0].Text = "Series 1";
      double[] values = { 1, 1, 1, 3, 3, 3, 3, 5, 5, 5, 8, 8, 8, 9, 9, 9, 12, 12, 13, 13, 17, 17, 17, 19,
          19, 19, 25, 25, 25, 25, 25, 25, 25, 25, 29, 29, 29, 29, 32, 32, 33, 33, 35, 35, 41, 41, 44, 45, 49, 49 };
 
      for (int i = 0; i < values.Length; i++)
      {
          chart.ChartData[i + 1, 1].NumberValue = values[i];
      }
      chart.Series.SeriesLabel = chart.ChartData[0, 0, 0, 0];
      chart.Series[0].Values = chart.ChartData[1, 0, values.Length, 0];
 
      chart.PrimaryCategoryAxis.NumberOfBins = 7;
 
      chart.PrimaryCategoryAxis.GapWidth = 20;
 
      chart.ChartTitle.TextProperties.Text = "Histogram";
 
      chart.ChartLegend.Position = ChartLegendPositionType.Bottom;
  }
  public void CreateBoxAndWhisker(Presentation ppt)
  {
      IChart chart = ppt.Slides[0].Shapes.AppendChart(ChartType.BoxAndWhisker, new RectangleF(50, 50, 500, 400), false);
      string[] seriesLabel = { "Series 1", "Series 2", "Series 3" };
 
 
      for (int i = 0; i < seriesLabel.Length; i++)
      {
 
          chart.ChartData[0, i + 1].Text = "Series 1";
      }
      string[] categories = {"Category 1", "Category 1", "Category 1", "Category 1", "Category 1", "Category 1", "Category 1",
           "Category 2", "Category 2", "Category 2", "Category 2", "Category 2", "Category 2",
           "Category 3", "Category 3", "Category 3", "Category 3", "Category 3"};
      for (int i = 0; i < categories.Length; i++)
      {
          chart.ChartData[i + 1, 0].Text = categories[i];
      }
      double[,] values = new double[18, 3]{{-7,-3,-24},{-10,1,11},{-28,-6,34},{47,2,-21},{35,17,22},{-22,15,19},{17,-11,25},
                       {-30,18,25},{49,22,56},{37,22,15},{-55,25,31},{14,18,22},{18,-22,36},{-45,25,-17},
                       {-33,18,22},{18,2,-23},{-33,-22,10},{10,19,22}};
 
      for (int i = 0; i < seriesLabel.Length; i++)
      {
          for (int j = 0; j < categories.Length; j++)
          {
              chart.ChartData[j + 1, i + 1].NumberValue = values[j, i];
          }
      }
      chart.Series.SeriesLabel = chart.ChartData[0, 1, 0, seriesLabel.Length];
      chart.Categories.CategoryLabels = chart.ChartData[1, 0, categories.Length, 0];
 
      chart.Series[0].Values = chart.ChartData[1, 1, categories.Length, 1];
      chart.Series[1].Values = chart.ChartData[1, 2, categories.Length, 2];
      chart.Series[2].Values = chart.ChartData[1, 3, categories.Length, 3];
 
      chart.Series[0].ShowInnerPoints = false;
      chart.Series[0].ShowOutlierPoints = true;
      chart.Series[0].ShowMeanMarkers = true;
      chart.Series[0].ShowMeanLine = true;
      chart.Series[0].QuartileCalculationType = QuartileCalculation.ExclusiveMedian;
 
      chart.Series[1].ShowInnerPoints = false;
      chart.Series[1].ShowOutlierPoints = true;
      chart.Series[1].ShowMeanMarkers = true;
      chart.Series[1].ShowMeanLine = true;
      chart.Series[1].QuartileCalculationType = QuartileCalculation.InclusiveMedian;
 
      chart.Series[2].ShowInnerPoints = false;
      chart.Series[2].ShowOutlierPoints = true;
      chart.Series[2].ShowMeanMarkers = true;
      chart.Series[2].ShowMeanLine = true;
      chart.Series[2].QuartileCalculationType = QuartileCalculation.ExclusiveMedian;
 
      chart.HasLegend = true;
      chart.ChartTitle.TextProperties.Text = "BoxAndWhisker";
      chart.ChartLegend.Position = ChartLegendPositionType.Top;
  }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值