Kopiera intervalldata med stil med Node.js via C++
Contents
[
Hide
]
Kopiera endast intervalldata förklarar hur man kopierar data från ett område till ett annat. Speciellt tillämpar det en ny uppsättning stilar på de kopierade cellerna. Aspose.Cells kan också kopiera ett område komplett med formatering. Denna artikel förklarar hur.
Aspose.Cells erbjuder en serie klasser och metoder för att arbeta med områden, till exempel createRange(string, string), StyleFlag och applyStyle(Style, StyleFlag).
Detta exempel:
- Skapar en arbetsbok.
- Fyller ett antal celler i det första kalkbladet med data.
- Skapar en Range.
- Skapar ett Style-objekt med angivna formateringsattribut.
- Tillämpar stilen på dataområdet.
- Skapar ett andra cellområde.
- Kopierar data med formatering från det första området till det andra området.
const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Instantiate a new Workbook.
const workbook = new AsposeCells.Workbook();
// Get the first Worksheet Cells.
const cells = workbook.getWorksheets().get(0).getCells();
// Fill some sample data into the cells.
for (let i = 0; i < 50; i++)
{
for (let j = 0; j < 10; j++)
{
cells.get(i, j).putValue(`${i},${j}`);
}
}
// Create a range (A1:D3).
const range = cells.createRange("A1", "D3");
// Create a style object.
let style = workbook.createStyle();
// Specify the font attribute.
style.getFont().setName("Calibri");
// Specify the shading color.
style.setForegroundColor(AsposeCells.Color.Yellow);
style.setPattern(AsposeCells.BackgroundType.Solid);
// Specify the border attributes.
style.getBorders().get(AsposeCells.BorderType.TopBorder).setLineStyle(AsposeCells.CellBorderType.Thin);
style.getBorders().get(AsposeCells.BorderType.TopBorder).setColor(AsposeCells.Color.Blue);
style.getBorders().get(AsposeCells.BorderType.BottomBorder).setLineStyle(AsposeCells.CellBorderType.Thin);
style.getBorders().get(AsposeCells.BorderType.BottomBorder).setColor(AsposeCells.Color.Blue);
style.getBorders().get(AsposeCells.BorderType.LeftBorder).setLineStyle(AsposeCells.CellBorderType.Thin);
style.getBorders().get(AsposeCells.BorderType.LeftBorder).setColor(AsposeCells.Color.Blue);
style.getBorders().get(AsposeCells.BorderType.RightBorder).setLineStyle(AsposeCells.CellBorderType.Thin);
style.getBorders().get(AsposeCells.BorderType.RightBorder).setColor(AsposeCells.Color.Blue);
// Create the styleflag object.
const flag1 = new AsposeCells.StyleFlag();
// Implement font attribute
flag1.setFontName(true);
// Implement the shading / fill color.
flag1.setCellShading(true);
// Implement border attributes.
flag1.setBorders(true);
// Set the Range style.
range.applyStyle(style, flag1);
// Create a second range (C10:F12).
const range2 = cells.createRange("C10", "F12");
// Copy the range data with formatting.
range2.copy(range);
const outputFilePath = path.join(dataDir, "CopyRange.out.xlsx");
// Save the excel file.
workbook.save(outputFilePath);