Free Support Forum - aspose.com

Export facility for excel chart

We would be interested in using your Aspose.Excel product but we need an export to gif (or other image format) facility. I noticed that your Aspose.Chart product already provides this functionality. Is this something that is planned for Aspose.Excel in the near future?

Dear Andre,

Good question.

1. Currently Aspose.Excel can not export charts in Excel spreadsheets yet.
2. Aspose.Chart can not be used for this purpose as its object model is totally different from MSChart object model, that is utilised in Microsoft Excel charting.
3. We will make Aspose.MSChart for this purpose.
4. Hopefully Aspose.MSChart can be available in 6 months. So can you be patient to wait for it?
5. Do you need import charts created with MSChart into Excel spreadsheets?

Thanks for the prompt reply.

No we don’t need the import facility. We use the export facility to generate a gif file that we include in an HTML page. The chart comes from a pre-existing excel spreadsheet. We currently do this using Microsoft Excel through COM but we want to replace Microsoft Excel with a proper .NET component. So far the Aspose.Excel component seems like the best candidate except that it does not support the chart export.

Might there be a temporary solution that could resolve our problem?

Dear Andre,

Sorry for not replying earlier.

As the chart is in your pre-existing spreadsheet, can you export the chart in Microsoft Excel by hand? For example, use a screen capturing program to capture the chart then produce a gif file.

@Andre,

Please note, Aspose.Excel has been renamed to become Aspose.Cells now. It supports to convert the Excel Charts to images and PDF formats without requiring any additional tools or applications. In order to provide rendering support, the Chart class has exposed ToImage & ToPdf methods with a variety of overloads to best suit the application requirements.

See the following sample code for your reference:
e.g
Sample code:

// Instantiating a Workbook object
Workbook workbook = new Workbook();
// Adding a new worksheet to the Workbook
int sheetIndex = workbook.Worksheets.Add();
// Obtaining the reference of the newly added worksheet by passing its index to WorksheetCollection
Worksheet worksheet = workbook.Worksheets[sheetIndex];

// Adding sample values to cells
worksheet.Cells["A1"].PutValue(50);
worksheet.Cells["A2"].PutValue(100);
worksheet.Cells["A3"].PutValue(150);
worksheet.Cells["B1"].PutValue(4);
worksheet.Cells["B2"].PutValue(20);
worksheet.Cells["B3"].PutValue(50);

// Adding a chart to the worksheet
int chartIndex = worksheet.Charts.Add(Aspose.Cells.Charts.ChartType.Column, 5, 0, 15, 5);
// Accessing the instance of the newly added chart
Aspose.Cells.Charts.Chart chart = worksheet.Charts[chartIndex];
// Adding Series Collection (chart data source) to the chart ranging from "A1" cell to "B3"
chart.NSeries.Add("A1:B3", true);

// Create an instance of ImageOrPrintOptions and set a few properties
ImageOrPrintOptions options = new ImageOrPrintOptions()
{
    VerticalResolution = 300,
    HorizontalResolution = 300,
    SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias
};
// Convert chart to image with additional settings
chart.ToImage("chartPNG_out.png", options);

See the document for your further reference:

You may also download the up-to-date examples/demos here.