Copying Rows and Columns in Ruby
Contents
[
Hide
]
Aspose.Cells - Copying Rows and Columns
Copying Rows
Aspose.Cells provides the copyRow method of the Cells class. This method copies all types of data including formulas, values, comments, cell formats, hidden cells, images and other drawing objects from the source row to the destination row.
The copyRow method takes the following parameters:
- the source Cells object,
- the source row index, and
- the destination row index.
Ruby Code
def copy_rows()
data_dir = File.dirname(File.dirname(File.dirname(__FILE__))) + '/data/'
# Instantiating a Workbook object by excel file path
workbook = Rjb::import('com.aspose.cells.Workbook').new(data_dir + 'Book1.xls')
# Accessing the first worksheet in the Excel file
worksheet = workbook.getWorksheets().get(0)
# Copy the second row with data, formattings, images and drawing objects
# to the 12th row in the worksheet.
worksheet.getCells().copyRow(worksheet.getCells(),1,11)
# Saving the modified Excel file in default (that is Excel 2003) format
workbook.save(data_dir + "Copy Rows.xls")
puts "Copy Rows Successfully."
end
Copying Columns
Aspose.Cells provides the copyColumn method of the Cells class, this method copies all types of data, including formulas - with updated references - and values, comments, cell formats, hidden cells, images and other drawing objects from the source column to the destination column.
The copyColumn method takes the following parameters:
- the source Cells object,
- source column index, and
- the destination column index.
Ruby Code
def copy_columns()
data_dir = File.dirname(File.dirname(File.dirname(__FILE__))) + '/data/'
# Instantiating a Workbook object by excel file path
workbook = Rjb::import('com.aspose.cells.Workbook').new
# Accessing the first worksheet in the Excel file
worksheet = workbook.getWorksheets().get(0)
# Put some data into header rows (A1:A4)
i = 0
while i < 5
worksheet.getCells().get(i, 0).setValue("Header Row #{i}")
i +=1
end
# Put some detail data (A5:A999)
i = 5
while i < 1000
worksheet.getCells().get(i, 0).setValue("Detail Row #{i}")
i +=1
end
# Create another Workbook.
workbook1 = Rjb::import('com.aspose.cells.Workbook').new
# Get the first worksheet in the book.
worksheet1 = workbook1.getWorksheets().get(0)
# Copy the first column from the first worksheet of the first workbook into
# the first worksheet of the second workbook.
worksheet1.getCells().copyColumn(worksheet.getCells(),0,2)
# Autofit the column.
worksheet1.autoFitColumn(2)
# Saving the modified Excel file in default (that is Excel 2003) format
workbook.save(data_dir + "Copy Columns.xls")
puts "Copy Columns Successfully."
end
Download Running Code
Download Copying Rows and Columns (Aspose.Cells) from any of the below mentioned social coding sites: