Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.



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 Block

public void GenerateReport()
            // Create an instance of ExcelTemplate
            ExcelTemplate xlt = new ExcelTemplate();
            // Open the template workbook
            string templatePath = @"..\..\ExcelTemplateFiles\ChartDemoTemplate.xlsx";
            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
        /// <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;