使用Aspose.Cells合并多个工作表

原文来自:慧都控件网 http://www.evget.com/zh-CN/Info/catalog/18074.html

有时,需要将多个工作表合并成一个。如果单纯的手工操作,费时又费力,效果还不佳,但是使用Aspose.Cells就可以很简单的实现。本文将展示读取一个源工作簿,并将其中的工作表合并成一个的代码示例。

我们将利用复制的方法将工作簿中的多个源工作表内容复制到一个工作表中。

源工作簿

在这里我们先创建一个源工作簿,其中有三个工作表。请参见图片的所有三个工作表。

使用Aspose.Cells合并多个工作表

使用Aspose.Cells合并多个工作表

使用Aspose.Cells合并多个工作表

输出的工作薄

在运行下面的示例代码之后,您将得到只有一个工作表的工作簿,其中包含上面三个工作表中的所有数据,如图所示:

使用Aspose.Cells合并多个工作表

示例代码:

 [C#]

string filePath = @"c:\source.xlsx";

Workbook workbook = new Workbook(filePath);

Workbook destWorkbook = new Workbook();

Worksheet destSheet = destWorkbook.Worksheets[0];

int TotalRowCount = 0;

for (int i = 0; i < workbook.Worksheets.Count; i++)
{
      Worksheet sourceSheet = workbook.Worksheets[i];

      Range sourceRange = sourceSheet.Cells.MaxDisplayRange;

      Range destRange = destSheet.Cells.CreateRange(sourceRange.FirstRow + TotalRowCount, sourceRange.FirstColumn,
            sourceRange.RowCount, sourceRange.ColumnCount);

      destRange.Copy(sourceRange);

      TotalRowCount = sourceRange.RowCount + TotalRowCount;
}

destWorkbook.Save("output.xlsx");

[VB]

Dim filePath As String = "C:\source.xlsx"

Dim workbook As Workbook = New Workbook(filePath)

Dim destWorkbook As Workbook = New Workbook()

Dim destSheet As Worksheet = destWorkbook.Worksheets(0)

Dim TotalRowCount As Integer = 0

For i = 0 To workbook.Worksheets.Count - 1
    Dim sourceSheet As Worksheet = workbook.Worksheets(i)

    Dim sourceRange As Range = sourceSheet.Cells.MaxDisplayRange

    Dim destRange As Range = destSheet.Cells.CreateRange(sourceRange.FirstRow + TotalRowCount, sourceRange.FirstColumn, _
  sourceRange.RowCount, sourceRange.ColumnCount)

    destRange.Copy(sourceRange)

    TotalRowCount = sourceRange.RowCount + TotalRowCount

Next

destWorkbook.Save("output.xlsx")

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值