Intro
Excerpt |
---|
Any chart that references a range with data markers will have its data source updated when ExcelTemplate imports rows of data. Make changes to a template without making any changes to code. |
Open the template, right click on the chart and choose the "Select Data..." option. This will open a window with details about the charts data range. Though the range for the chart is only one row (=ChartSheet!$A$26:$B$26), will update the data formula when the data is bound to the data markers in the cells.
A populated version of the chart is available for download below.
Code
Code Block |
---|
public void GenerateReport()
{
// Create an instance of ExcelTemplate
ExcelTemplate xlt = new ExcelTemplate();
// Open the template workbook
string templatePath = @"..\..\ExcelTemplateFiles\ChartDemoTemplate.xlsx";
xlt.Open(templatePath);
DataTable dt = GetCSVData(@"..\..\ExcelData\ChartDemoData.csv");
// Pass the DataTable to ExcelTemplate
xlt.BindData(dt, "SalesData", xlt.CreateDataBindingProperties());
// Call the process() method to populate the
// template with the data source values and save
// the populated document
xlt.Process();
xlt.Save(@"..\..\ExcelOutputFiles\ChartDemo_output.xlsx");
}
/// <summary>
/// Reads the CSV and returns datatable
/// </summary>
/// <returns>DataTable of top 5 products</returns>
System.Data.DataTable GetCSVData(string csvFileName)
{
DataTable dt;
using (GenericParserAdapter parser = new GenericParserAdapter(csvFileName))
{
parser.ColumnDelimiter = ',';
parser.FirstRowHasHeader = true;
dt = parser.GetDataTable();
}
return dt;
}
}
|
...