原創(chuàng)|其它|編輯:郝浩|2012-11-12 11:12:55.000|閱讀 2348 次
概述:有時(shí),需要將多個(gè)工作表合并成一個(gè)。如果單純的手工操作,費(fèi)時(shí)又費(fèi)力,效果還不佳,但是使用Aspose.Cells就可以很簡單的實(shí)現(xiàn)。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
有時(shí),需要將多個(gè)工作表合并成一個(gè)。如果單純的手工操作,費(fèi)時(shí)又費(fèi)力,效果還不佳,但是使用Aspose.Cells就可以很簡單的實(shí)現(xiàn)。本文將展示讀取一個(gè)源工作簿,并將其中的工作表合并成一個(gè)的代碼示例。
我們將利用復(fù)制的方法將工作簿中的多個(gè)源工作表內(nèi)容復(fù)制到一個(gè)工作表中。
在這里我們先創(chuàng)建一個(gè)源工作簿,其中有三個(gè)工作表。請參見圖片的所有三個(gè)工作表。
在運(yùn)行下面的示例代碼之后,您將得到只有一個(gè)工作表的工作簿,其中包含上面三個(gè)工作表中的所有數(shù)據(jù),如圖所示:
示例代碼:
[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")
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:慧都控件網(wǎng)