在word表中导出数据,添加小计行

本文关键字:添加 数据 word | 更新日期: 2023-09-27 17:49:56

我将数据从DataGridView导出到Word表。

例如:

Amount | Number | Name | Unit price | Sum
3      | 0815   | test | 1,50       | 4,50

这很好。但是,如果我有太多的位置,出现换页符,我就会自动插入(在页尾)一个额外的行,包含该页上所有位置的总和。

我该怎么做??

下面是导出数据的方法
      for (int r = 0; r < dg.Rows.Count; r++)
      {
          oTable.Cell(j, 1).Range.Text = iPos.ToString();
          oTable.Cell(j, 2).Range.Text = Number.ToString();
          oTable.Cell(j, 3).Range.Text = Name.ToString();
          oTable.Cell(j, 4).Range.Text = UnitPrice.ToString();
          oTable.Cell(j, 5).Range.Text = Sum.ToString();
          j += 3;
          iPos++;
      }

在word表中导出数据,添加小计行

这段代码将每隔10次计算小计并插入它们:

 var subTotal = 0;
 for (int r = 0; r < dg.Rows.Count; r++)
  {
      oTable.Cell(j, 1).Range.Text = iPos.ToString();
      oTable.Cell(j, 2).Range.Text = Number.ToString();
      oTable.Cell(j, 3).Range.Text = Name.ToString();
      oTable.Cell(j, 4).Range.Text = UnitPrice.ToString();
      oTable.Cell(j, 5).Range.Text = Sum.ToString();
      j += 3;
      iPos++;
     //Every 10th row is a subtotal (because you do 3 row jumps j+=3)  
     subtotal+=Sum;
     if ((j % 3 * 10) == 0) {
           var currentRow = oTable.Rows[j];
           //Insert after this row
           var subtotalRow = oTable.Rows.Add(currentRow)
           subtotalRow.Cells[5].Range.Text = subtotal.ToString();
           subtotal = 0;
     }
  }