ComponentOne Excel for UWP
Excel for UWP Task-Based Help / Adding Content to a Workbook
In This Topic
    Adding Content to a Workbook
    In This Topic

    To create a new workbook and add values to the first ten cells, complete the following steps:

    In XAML View

    1. Right-click References in the Solution Explorer and select Add Reference from the list.
    1. Browse to find C1.UWP.Excel.dll.
    2. Click OK to add the assembly reference to your application.
    1. In XAML View, place your cursor between the <Grid> </Grid> tags.
    2. Add two standard Button controls and one standard TextBox control to the page.
    1. Edit the markup for the first button so that it resembles the following:
    Markup
    Copy Code
    <Button x:Name="HelloButton" Content="Click Hello" />
    
    1. Edit the markup for the second button so that it resembles the following:
    Markup
    Copy Code
    <Button x:Name="SaveButton" Content="Save" />
    
    1. Edit the markup for the TextBox control so that it resembles the following:
    Markup
    Copy Code
    <TextBox               
       Name="_tbContent"
       Text="Empty"
       IsReadOnly="True"
       AcceptsReturn="True"
       FontFamily="Courier New"
       Background="White" Margin="465,10,242,722" /> 
    
    1. Create  an event named HelloButton_Click for HelloButton and switch to the code view of MainPage.xaml. This will also add a HelloButton_Click event to the code.
    1. Switch back to Design View and double-click the SaveButton to add a SaveButton_Click event to the code. This will open the Code View.

    In Code View

    1. Add a using statement to the top of the page:
    C#
    Copy Code
    using C1.Xaml.Excel;
    
    1. Add the following code to the MainPage class so that it resembles the following:
    C#
    Copy Code
    public sealed partial class MainPage : Page
        {
            C1XLBook _book;
        }
    
    1. Create a C1XLBook by adding the following code to the InitializeComponent() method:
    C#
    Copy Code
    _book = new C1XLBook();
    
    1. Add the RefreshView() method. You will call this method later in the code:
    C#
    Copy Code
    void RefreshView()
    {
    }
    
    1. Get the default sheet and name it.
    2. Create styles for the odd and even values.
    3. Add values to the first ten cells.
    C#
    Copy Code
    // step 1: create a new workbook
                _book = new C1XLBook();
    
                // step 2: get the sheet that was created by default, give it a name
                XLSheet sheet = _book.Sheets[0];
                sheet.Name = "Hello World";
    
                // step 3: create styles for odd and even values
                XLStyle styleOdd = new XLStyle(_book);
                styleOdd.Font = new XLFont("Tahoma", 9, false, true);
                styleOdd.ForeColor = Color.FromArgb(255, 0, 0, 255);
                XLStyle styleEven = new XLStyle(_book);
                styleEven.Font = new XLFont("Tahoma", 9, true, false);
                styleEven.ForeColor = Color.FromArgb(255, 255, 0, 0);
    
                // step 4: write content and format 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;
               
    }
    
    1. Save the workbook so that you can open it in Excel.
    C#
    Copy Code
    async void SaveButton_Click(object sender, RoutedEventArgs e)
            {
                Debug.Assert(_book != null);
    
                var picker = new Windows.Storage.Pickers.FileSavePicker();
                picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary;
                picker.FileTypeChoices.Add("Open XML Excel file", new List<string>() { ".xlsx" });
                picker.FileTypeChoices.Add("BIFF Excel file", new List<string>() { ".xls" });
                picker.SuggestedFileName = "New Book";
    
                var file = await picker.PickSaveFileAsync();
                if (file != null)
                {
                    try
                    {
                        // step 1: save file
                        var fileFormat = Path.GetExtension(file.Path).Equals(".xls") ? FileFormat.Biff8 : FileFormat.OpenXml;
                        await _book.SaveAsync(file, fileFormat);
                        // step 2: user feedback
                        _tbContent.Text = string.Format("File has been saved to: {0}.", file.Path);
                        RefreshView();
                    }
                    catch (Exception x)
                    {
                        _tbContent.Text = string.Format("EXCEPTION: {0}", x.Message);
                    }
                }
            }
    
    See Also