Изменение существующего стиля с помощью C++
Для применения одинаковых параметров форматирования к ячейкам создайте новый объект стиля форматирования. Объект стиля форматирования представляет собой комбинацию параметров форматирования, таких как шрифт, размер шрифта, отступ, номер, граница, узоры и т. д., названных и сохраненных в виде набора. При применении все форматирование в этом стиле применяется.
Вы также можете использовать существующий стиль, сохранить его с книгой и использовать его для форматирования информации с теми же атрибутами.
Когда ячейки не явно форматируются, применяется стиль Обычный (стандартный стиль книги). В Microsoft Excel предопределено несколько стилей, кроме стиля Нормальный, включая запятую, валюту и процент.
Aspose.Cells позволяет изменять любой из этих стилей или любой другой стиль, который вы определяете с желаемыми атрибутами.
Использование Microsoft Excel
Для обновления стиля в Microsoft Excel 97-2003:
- В меню Формат, выберите Стиль.
- Выберите стиль, который вы хотите изменить в списке Имя стиля.
- Нажмите Изменить.
- Выберите параметры стиля, которые вы хотите с помощью вкладок в диалоговом окне Формат ячеек.
- Нажмите ОК.
- В разделе Стиль включает, укажите нужные особенности стиля.
- Нажмите OK, чтобы сохранить стиль и применить его к выбранному диапазону.
Использование Aspose.Cells
Следующие примеры демонстрируют, как использовать метод Style.Update.
Создание и изменение стиля
Этот пример создает объект Style, применяет его к диапазону ячеек и изменяет объект Style. Изменения автоматически применяются к ячейке и диапазону, к которому был применен стиль.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Create a workbook.
Workbook workbook;
// Create a new style object.
Style style = workbook.CreateStyle();
// Set the number format.
style.SetNumber(14);
// Set the font color to red color.
style.GetFont().SetColor(Color::Red());
// Name the style.
style.SetName(u"Date1");
// Get the first worksheet cells.
Cells cells = workbook.GetWorksheets().Get(0).GetCells();
// Specify the style (described above) to A1 cell.
cells.Get(u"A1").SetStyle(style);
// Create a range (B1:D1).
Range range = cells.CreateRange(u"B1", u"D1");
// Initialize styleflag object.
StyleFlag flag;
// Set all formatting attributes on.
flag.SetAll(true);
// Apply the style (described above) to the range.
range.ApplyStyle(style, flag);
// Modify the style (described above) and change the font color from red to black.
style.GetFont().SetColor(Color::Black());
// Done! Since the named style (described above) has been set to a cell and range,
// The change would be reflected (new modification is implemented) to cell (A1) and range (B1:D1).
style.Update();
// Save the excel file.
U16String dataDir(u"..\\Data\\02_OutputDirectory\\");
workbook.Save(dataDir + u"book_styles.out.xls");
std::cout << "Workbook saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}
Изменение существующего стиля
В этом примере используется простой шаблонный файл Excel, к которому уже был применен стиль Percent к диапазону. Пример:
- получает стиль,
- создает объект стиля и
- изменяет форматирование стиля.
Изменения автоматически применяются к диапазону, к которому был применен стиль.
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main() {
Aspose::Cells::Startup();
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-C
// Source directory path
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
// Path of input excel file
U16String inputPath = srcDir + u"book1.xlsx";
/*
* Create a workbook.
* Open a template file.
* In the book1.xlsx file, we have applied Ms Excel's
* Named style i.e., "Percent" to the range "A1:C8".
*/
Workbook workbook(inputPath);
// We get the Percent style and create a style object.
Style style = workbook.GetNamedStyle(u"Percent");
// Change the number format to "0.00%".
style.SetNumber(11);
// Set the font color.
Color redColor = Color::Red();
style.GetFont().SetColor(redColor);
// Update the style. so, the style of range "A1:C8" will be changed too.
style.Update();
// Save the excel file.
U16String outputPath = srcDir + u"book2.out.xlsx";
workbook.Save(outputPath);
std::cout << "Workbook saved successfully!" << std::endl;
Aspose::Cells::Cleanup();
}