Search Results for

    Show / Hide Table of Contents

    Step by step tutorial on FlexCel reports (C# / netframework)

    Note

    This demo is available in your FlexCel installation at <FlexCel Install Folder>\samples\csharp\VS2022\netframework\20.Reports\A0.Reporting Tutorial and also at https:​//​github.​com/​tmssoftware/​TMS-​FlexCel.​NET-​demos/​tree/​master/​csharp/​VS2022/​netframework/​Modules/​20.​Reports/​A0.​Reporting Tutorial

    Overview

    This demo is the completed project from the FlexCel reporting tutorial video at

    https://www.tmssoftware.com/flexcel/tutorial.htm

    Note: This demo does not run from MainDemo and it needs .NET 2.0 or newer.

    It also needs the Adventure Works demo database from

    http://www.codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=4004 (SQLServer 2005)

    or

    http://www.codeplex.com/MSFTDBProdSamples/Release/ProjectReleases.aspx?ReleaseId=8392 (SQLServer 2008)

    In order to run this demo, open the website from Visual Studio 2005 or newer, by doing: Menu->File->Open->Website

    and pointing to the "Modules\20.Reports\A0.Reporting Tutorial" folder.

    Concepts

    • Concepts are explained in the video. This is just the finished code and template so you can take a look at it.

    • In order to actually run this demo, you might need to edit web.config and change the connection settings for your SQL Server.

    Files

    Default.aspx.cs

    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using FlexCel.Core;
    using FlexCel.XlsAdapter;
    using FlexCel.Render;
    using FlexCel.Report;
    using System.IO;
    
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    
        private ExcelFile CreateReport()
        {
            XlsFile Result = new XlsFile(true);
            Result.Open(MapPath("~/App_Data/template.xls"));
            using (FlexCelReport fr = new FlexCelReport())
            {
                LoadData(fr);
    
                fr.SetValue("ReportCaption", "Hello from FlexCel!");
                fr.Run(Result);
                return Result;
            }
        }
    
        private void LoadData(FlexCelReport fr)
        {
            DataSet1 Data = new DataSet1();
            DataSet1TableAdapters.ProductTableAdapter ProductAdapter = new DataSet1TableAdapters.ProductTableAdapter();
            ProductAdapter.Fill(Data.Product);
    
            DataSet1TableAdapters.ProductPhotoTableAdapter ProductPhotoAdapter = new DataSet1TableAdapters.ProductPhotoTableAdapter();
            ProductPhotoAdapter.Fill(Data.ProductPhoto);
    
            DataSet1TableAdapters.ProductProductPhotoTableAdapter ProductProductPhotoAdapter = new DataSet1TableAdapters.ProductProductPhotoTableAdapter();
            ProductProductPhotoAdapter.Fill(Data.ProductProductPhoto);
    
            fr.AddTable(Data);
        }
    
        protected void Button1_Click(object sender, EventArgs e)
        {
            ExcelFile xls = CreateReport();
            FlexCelAspViewer1.HtmlExport.Workbook = xls;
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            ExcelFile xls = CreateReport();
    
            using (MemoryStream ms = new MemoryStream())
            {
                xls.Save(ms);
                ms.Position = 0;
                Response.Clear();
                Response.AddHeader("Content-Disposition", "attachment; filename=Test.xls");
                Response.AddHeader("Content-Length", ms.Length.ToString());
                Response.ContentType = "application/excel"; //octet-stream";
                Response.BinaryWrite(ms.ToArray());
                Response.End();
            }
    
    
        }
        protected void Button3_Click(object sender, EventArgs e)
        {
            ExcelFile xls = CreateReport();
    
            using (MemoryStream ms = new MemoryStream())
            {
                using (FlexCelPdfExport pdf = new FlexCelPdfExport())
                {
                    pdf.Workbook = xls;
                    pdf.BeginExport(ms);
                    pdf.ExportAllVisibleSheets(false, "FlexCel");
                    pdf.EndExport();
                    ms.Position = 0;
                    Response.Clear();
                    Response.AddHeader("Content-Disposition", "attachment; filename=Test.pdf");
                    Response.AddHeader("Content-Length", ms.Length.ToString());
                    Response.ContentType = "application/pdf"; //octet-stream";
                    Response.BinaryWrite(ms.ToArray());
                    Response.End();
                }
            }
    
        }
    }
    
    In This Article
    Back to top FlexCel Studio for the .NET Framework v7.24.0.0
    © 2002 - 2025 tmssoftware.com