Copiar rangos de Excel con Node.js mediante C++
Contents
[
Hide
]
Introducción
En Excel, puede seleccionar un rango, copiarlo y luego pegarlo con opciones específicas en la misma hoja de cálculo, en otras hojas de cálculo o en otros archivos.
Copiar rangos usando Aspose.Cells for Node.js via C++
Aspose.Cells for Node.js via C++ proporciona algunos métodos sobrecargados Range.copy(Range, PasteOptions) para copiar el rango. Y Range.copyStyle(Range) solo copia el estilo del rango; Range.copyData(Range) solo copia los valores del rango.
Copiar Rango
Creando dos rangos: el rango fuente, el rango destino, y luego copiando el rango fuente al rango destino con el método Range.copy
.
Vea el siguiente código:
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Instantiate a new Workbook.
const workbook = new AsposeCells.Workbook();
// Get all the worksheets in the book.
let worksheets = workbook.getWorksheets();
// Get the first worksheet in the worksheets collection.
let worksheet = workbook.getWorksheets().get(0);
// Create a range of cells.
let sourceRange = worksheet.getCells().createRange("A1", "A2");
// Input some data with some formattings into A few cells in the range.
sourceRange.get(0, 0).setValue("Test");
sourceRange.get(1, 0).setValue(123);
// Create target range of cells.
let targetRange = worksheet.getCells().createRange("B1", "B2");
// Copy source range to target range in the same worksheet
targetRange.copy(sourceRange);
// Create target range of cells.
workbook.getWorksheets().add();
worksheet = workbook.getWorksheets().get(1);
targetRange = worksheet.getCells().createRange("A1", "A2");
// Copy source range to target range in another worksheet
targetRange.copy(sourceRange);
// Copy to another workbook
const anotherWorkbook = new AsposeCells.Workbook();
worksheet = workbook.getWorksheets().get(0);
targetRange = worksheet.getCells().createRange("A1", "A2");
// Copy source range to target range in another workbook
targetRange.copy(sourceRange);
Pegar Rango Con Opciones
Aspose.Cells for Node.js via C++ soporta pegar el rango con tipos específicos.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);
// Get all the worksheets in the book.
const worksheets = workbook.getWorksheets();
// Get the first worksheet in the worksheets collection.
const worksheet = workbook.getWorksheets().get(0);
// Create a range of cells.
const sourceRange = worksheet.getCells().createRange("A1", "A2");
// Input some data with some formattings into
// A few cells in the range.
sourceRange.get(0, 0).setValue("Test");
sourceRange.get(1, 0).setValue(123);
// Create target range of cells.
const targetRange = worksheet.getCells().createRange("B1", "B2");
// Init paste options.
const options = new AsposeCells.PasteOptions();
// Set paste type.
options.setPasteType(AsposeCells.PasteType.ValuesAndFormats);
options.setSkipBlanks(true);
// Copy source range to target range
targetRange.copy(sourceRange, options);
Solo copiar datos del rango
También, puedes copiar los datos con el método Range.copyData
como se muestra en el siguiente código:
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const filePath = path.join(dataDir, "sample.xlsx");
// Loads the workbook which contains hidden external links
const workbook = new AsposeCells.Workbook(filePath);
// Get all the worksheets in the book.
const worksheets = workbook.getWorksheets();
// Get the first worksheet in the worksheets collection.
const worksheet = worksheets.get(0);
// Create a range of cells.
const sourceRange = worksheet.getCells().createRange("A1", "A2");
// Input some data with some formattings into
// A few cells in the range.
sourceRange.get(0, 0).setValue("Test");
sourceRange.get(1, 0).setValue(123);
// Create target range of cells.
const targetRange = worksheet.getCells().createRange("B1", "B2");
// Copy the data of source range to target range
targetRange.copyData(sourceRange);