Excel for UWP
小計の作成
タスク別ヘルプ > 小計の作成

次のコードは、ブックのセルを書式設定する例を示します。

XAML ビュー

次の手順を実行して、このトピック用の XAML ビューを作成します。

  1. ソリューションエクスプローラで[参照]を右クリックし、リストから[参照の追加]を選択します。
    1. C1.UWP.Excel.dll を参照します。
    2. [OK]をクリックして、アセンブリ参照をアプリケーションに追加します。
  2. XAML ビューで、<Grid> </Grid> タグの間にカーソルを置きます。
  3. ページに2つの標準 Button コントロールと1つの標準 TextBox コントロールを追加します。
    1. 最初のボタンのマークアップを次のように編集します。
      XAML マークアップ
      コードのコピー
      <Button x:Name="HelloButton" Content="Click Hello" />
      
    2. 2つ目のボタンのマークアップを次のように編集します。
      XAML マークアップ
      コードのコピー
      <Button x:Name="SaveButton" Content="保存..." />
      
    3. TextBox コントロールのマークアップを次のように編集します。 
      XAML マークアップ
      コードのコピー
      <TextBox               
         Name="_tbContent"
         Text="空白"
         IsReadOnly="True"
         AcceptsReturn="True"
         FontFamily="Courier New"
         Background="White" Margin="465,10,242,722" />
      
  4. HelloButton用のHelloButton_Click というイベントを作成して、MainPage.xaml のコードビューに切り替えます。これにより、コードに HelloButton_Click イベントも追加されます。
  5. デザインビューに切り替え、SaveButton をダブルクリックして、SaveButton_Click イベントをコードに追加します。これで、コードビューが開きます。

コードビュー

次の手順を実行して、このトピック用のコードビューを作成します。

  1. ページの先頭に using 文を追加します。
    C#
    コードのコピー
    using C1.Xaml.Excel; 
    
  2. 次のようなコードを MainPage クラスに追加します。
    C#
    コードのコピー
    public sealed partial class MainPage : Page
        {
            C1XLBook _book;
        } 
    
  3. InitializeComponent() メソッドに次のコードを追加して、C1XLBook を作成します。
    C#
    コードのコピー
    _book = new C1XLBook(); 
    
  4. RefreshView() メソッドを追加します。後でこのメソッドをコード内で呼び出します。
    C#
    コードのコピー
    void RefreshView()
            {
            } 
    
  5. セルを書式設定するためのコードを追加します。

    C# コードの書き方

    C#
    コードのコピー
    private void HelloButton_Click(object sender, RoutedEventArgs e)
            {
            XLSheet sheet = _book.Sheets[0];
                   // スタイルを作成します
                    XLStyle totalStyle = new XLStyle(_book);
                     totalStyle.Font = new XLFont("Arial", 12, true, false);
                   // アウトラインを作成し、スタイルを適用します
                    sheet[2, 1].Value = "Number";
                    sheet[2, 2].Value = "ID";
                    sheet[3, 1].Value = 12;
                    sheet[3, 2].Value = 17;
                    sheet.Rows[3].OutlineLevel = 2;
                    sheet.Rows[3].Visible = false;
                    sheet[4, 1].Value = 12;
                    sheet[4, 2].Value = 14;
                    sheet.Rows[4].OutlineLevel = 2;
                    sheet.Rows[4].Visible = false;
                    sheet[5, 1].Value = "12 Total";
                    sheet[5, 1].Style = totalStyle;
                    sheet[5, 2].Value = 31;
                    sheet[5, 2].Formula = "SUBTOTAL(9,C4:C5)";
                    sheet.Rows[5].OutlineLevel = 1;
                    sheet[6, 1].Value = 34;
                    sheet[6, 2].Value = 109;
                    sheet.Rows[6].OutlineLevel = 2;
                    sheet[7, 1].Value = "34 Total";
                    sheet[7, 1].Style = totalStyle;
                    sheet[7, 2].Value = 109;
                    sheet[7, 2].Formula = "SUBTOTAL(9,C7:C7)";
                    sheet.Rows[7].OutlineLevel = 1;
                    sheet[8, 1].Value = "Grand Total";
                    sheet[8, 1].Style = totalStyle;
                    sheet[8, 2].Value = 140;
                    sheet[8, 2].Formula = "SUBTOTAL(9,C4:C7)";
                    sheet.Rows[8].OutlineLevel = 0;
                }                                 
    
  6. ワークブックを保存します。

    C# コードの書き方

    C#
    コードのコピー
    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 ファイル", new List<string>() { ".xlsx" });
                 picker.FileTypeChoices.Add("BIFF Excel ファイル", new List<string>() { ".xls" });
                 picker.SuggestedFileName ="新しいブック";
                 var file = await picker.PickSaveFileAsync();
                 if (file != null)
                 {
                     try
                     {
                         // 手順1:ファイルを保存します
                         var fileFormat = Path.GetExtension(file.Path).Equals(".xls") ? FileFormat.Biff8 : FileFormat.OpenXml;
                         await _book.SaveAsync(file, fileFormat);
                         // 手順2:ユーザーフィードバック
                         _tbContent.Text = string.Format("ファイルを保存しました: {0}.", file.Path);
                         RefreshView();
                     }
                     catch (Exception x)
                     {
                         _tbContent.Text = string.Format("例外 : {0}", x.Message);
                     }
                 }
             }                                    
    
  7. プログラムを実行します。ファイルを保存してから開きます。スプレッドシートは次のようになります。

    SUBTOTAL 関数は、指定された行の合計を取得します。