在单词表中添加小计行的数据导出

时间:2015-05-19 09:02:51

标签: c# datagridview ms-word

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

E.g:

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++;
      }

1 个答案:

答案 0 :(得分:0)

此代码将在每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;
     }
  }