Изменения общедоступного API в Aspose.Cells 8.4.2
Добавленные API
Улучшен механизм создания диаграмм
Класс com.aspose.cells.charts.Chart предоставил метод setChartDataRange для упрощения задачи создания диаграмм. Метод setChartDataRange принимает два параметра, где первый параметр имеет тип string и указывает область ячеек, из которой нужно строить ряды данных. Второй параметр имеет тип Boolean и указывает ориентацию построения, то есть, строить ли ряды данных диаграммы из диапазона значений ячеек по строкам или по столбцам.
Следующий фрагмент кода показывает, как создать столбчатую диаграмму с помощью нескольких строк кода, предполагая, что данные рядов диаграммы находятся на том же листе, с ячейки A1 по D4.
Java
//Add a new chart of type Column to chart collection
int idx = worksheet.getCharts().add(ChartType.COLUMN, 6, 5, 20, 13);
//Retrieve the newly added chart instance
Chart chart = worksheet.getCharts().get(idx);
//Specify the chart's data series from cell A1 to D4
chart.setChartDataRange("A1:D4", true);
Добавлен метод VbaModuleCollection.add
Aspose.Cells for Java 8.4.2 предоставил метод VbaModuleCollection.add для добавления нового VBA-модуля в экземпляр Workbook. Метод VbaModuleCollection.add принимает параметр типа Worksheet для добавления модуля, специфичного для листа.
Следующий фрагмент кода показывает, как использовать метод add из коллекции VbaModuleCollection.
Java
//Create new workbook
Workbook workbook = new Workbook();
//Access first worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
//Add VBA module
int idx = workbook.getVbaProject().getModules().add(worksheet);
//Access the VBA Module, set its name and code
VbaModule module = workbook.getVbaProject().getModules().get(idx);
module.setName("TestModule");
module.setCodes("Sub ShowMessage()" + "\r\n" +
" MsgBox \"Welcome to Aspose!\"" + "\r\n" +
"End Sub");
//Save the workbook
workbook.save(output, SaveFormat.XLSM);
Перегруженный метод Cells.copyColumns добавлен
Aspose.Cells for Java 8.4.2 добавил перегруженную версию метода Cells.copyColumns для повторения исходных столбцов в пункт назначения. Новый метод принимает общим образом 5 параметров, где первые 4 параметра такие же, как у обычного метода Cells.copyColumns. Однако последний параметр типа int указывает количество столбцов пункта назначения, на которые должны повторяться исходные столбцы.
Следующий фрагмент кода показывает, как использовать вновь добавленный метод Cells.copyColumns.
Java
//Load an existing workbook
Workbook workbook = new Workbook(input);
//Access first worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
//Access cells of first worksheet
Cells cells = worksheet.getCells();
//Copy the first two columns (A & B) along with formatting
//to columns G, H & I.
//Please note, the columns G & H will be replaced by A & B respectively
//whereas, column I will be replaced by the column A
cells.copyColumns(cells, 0, 2, 6, 3);
//Save the workbook
workbook.save(output);
Добавлены перечисления Fields PasteType.DEFAULT и PasteType.ALL_EXCEPT_BORDERS
С выходом v8.4.2 API Aspose.Cells добавил 2 новых перечисления для PasteType, подробности ниже.
- PasteType.DEFAULT: Работает аналогично функции Excel “Все” для вставки диапазона ячеек.
- PasteType.ALL_EXCEPT_BORDERS: Работает аналогично функции Excel “Все кроме границ” для вставки диапазона ячеек.
Следующий образец кода демонстрирует использование поля PasteType.DEFAULT.
Java
//Load an existing workbook
Workbook workbook = new Workbook(input);
//Access first worksheet
Worksheet worksheet = workbook.getWorksheets().get(0);
//Access cells of first worksheet
Cells cells = worksheet.getCells();
//Create source & destination ranges
Range source = cells.createRange("A1:B6");
Range destination = cells.createRange("D1:E6");
//Create an instance of PasteOptions and set its PasteType property
PasteOptions options = new PasteOptions();
options.setPasteType(PasteType.DEFAULT);
//Copy the source range onto the destination range with everything except column widths
destination.copy(source, options);
//Save the workbook
workbook.save(output);