Excel for WPF | ComponentOne
Using Excel for WPF and Silverlight / Creating Documents
In This Topic
    Creating Documents
    In This Topic

    To create a new XLS file using Excel for WPF and Silverlight, three steps are required:

    1. Add a reference to C1.WPF.Excel.dll to C1.Silverlight.Excel.dll and create a C1XLBook.
    2. Add content to the sheets. Each sheet contains cells (XLCell objects) that have a Value and a Style property.
    3. Save the book to a file using the Save method.

    For example, the following code creates a new Excel file with a single sheet containing numbers from 1 to 100.

    C#
    Copy Code
    // step 1: create a new workbook to be saved
    C1XLBook book = new C1XLBook();
    
    // step 2: write content into some cells
    XLSheet sheet = book.Sheets[0];
       for (int i = 0; i < 100; i++)
        sheet[i, 0].Value = i + 1;
    
    // step 3: save and open the file
    book.Save(@"C:\MyFiles\Test\test.xls");
    System.Diagnostics.Process.Start(@"C:\MyFiles\Test\test.xls");
    

    Step 2 is the most interesting one. The code starts by retrieving an XLSheet object that represents the single worksheet in the new Excel workbook. This sheet is created automatically when you add or create a new C1XLBook. Then the code uses the sheet indexer to reference cells in the sheet and assign them values from 1 to 100.

    Note that the indexer in the XLSheet object automatically creates cells, if necessary. This makes it easy to fill worksheets that you create. If you want to find out the sheet dimensions, use the sheet's Rows.Count and Columns.Count properties.

    Of course, you are not limited to assigning values to cells. You can also use styles to format the cells. Just create one or more XLStyle objects and assign them to cells much like you did values. This revised version of the code above creates a sheet where even numbers are shown in bold red characters with yellow highlighting and odd numbers are shown in italic blue.

    C#
    Copy Code
    // step 1: create a new workbook to be saved
    C1XLBook book = new C1XLBook();
    var sheet = book.Sheets[0];
    // step 2: create styles for odd and even values
    var styleOdd = new XLStyle(book);
    styleOdd.Font = new XLFont("Tahoma", 9, false, true);
    styleOdd.ForeColor = Colors.Blue;
    var styleEven = new XLStyle(book);
    styleEven.Font = new XLFont("Tahoma", 9, true, false);
    styleEven.ForeColor = Colors.Red;
    styleEven.BackColor = Colors.Yellow;
    // step 3: write content into some cells
         for (int i = 0; i < 100; i++)
            {
                 XLCell cell = sheet[i, 0];
                 cell.Value = i + 1;
                 cell.Style = ((i + 1) % 2 == 0) ? styleEven : styleOdd;
             }
    // step 4: save and open the file
    book.Save(@"C:\MyFiles\Test\test.xls");
    System.Diagnostics.Process.Start(@"C:\MyFiles\Test\test.xls");
    

    The code is similar. The main difference is the new step 2, which creates styles for odd and even cells. The new styles are assigned to cells in step 3, along with the cell values.

    This is what the file created by the code above looks like when opened in Microsoft Excel:

     

    Excel document