Преобразование электронной таблицы в различные форматы изображений

Преобразование Рабочего листа в изображение

Рабочие листы содержат данные, которые вы хотите проанализировать. Например, рабочий лист может содержать параметры, итоги, проценты, исключения и вычисления.

Как разработчик вам может понадобиться представить рабочие листы в виде изображений. Например, вам может потребоваться использовать изображение рабочего листа в приложении или на веб-странице. Вам может понадобиться вставить изображение в документ Microsoft Word, файл PDF, презентацию PowerPoint или в другой тип документа. Просто говоря, вам нужно, чтобы рабочий лист был отображен в виде изображения, чтобы вы могли его использовать в другом месте.

Aspose.Cells поддерживает преобразование рабочих листов Excel в изображения. Чтобы использовать эту функцию, вам нужно импортировать пространство имен Aspose.Cells.Rendering в свою программу или проект. Оно имеет несколько ценных классов для отображения и печати, например SheetRender, ImageOrPrintOptions и другие.

Класс Aspose.Cells.Rendering.ISheetRender представляет рабочий лист для отображения в виде изображений. Он имеет перегруженный метод ToImage, который может преобразовывать рабочий лист в файлы изображений с различными атрибутами или параметрами. Поддерживается несколько форматов изображений, например BMP, PNG, GIF, JPG, JPEG, TIFF, EMF.

Ниже приведен фрагмент кода, демонстрирующий, как преобразовать рабочий лист в Excel-файле в файл изображения.

Формат PNG

Пожалуйста, ознакомьтесь со следующим образцом кода, его образцом файла Excel и выходными изображениями в формате PNG.

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\\");
// Output directory path.
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input Excel file.
U16String sampleConvertingWorksheetToDifferentImageFormats = srcDir + u"sampleConvertingWorksheetToDifferentImageFormats.xlsx";
// Create an empty workbook.
Workbook workbook(sampleConvertingWorksheetToDifferentImageFormats);
// Access first worksheet.
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Create image or print options object.
ImageOrPrintOptions imgOptions;
// Specify the image format.
imgOptions.SetImageType(ImageType::Png);
// Specify horizontal and vertical resolution
imgOptions.SetHorizontalResolution(200);
imgOptions.SetVerticalResolution(200);
// Render the sheet with respect to specified image or print options.
SheetRender sr(worksheet, imgOptions);
// Get page count.
int pageCount = sr.GetPageCount();
// Create string builder object for string concatenations.
std::string sb;
// Render each page to png image one by one.
for (int i = 0; i < pageCount; i++)
{
// Clear string builder and create output image path with string concatenations.
sb = "";
sb += outDir.ToUtf8();
sb += "outputConvertingWorksheetToImagePNG_";
sb += std::to_string(i);
sb += ".png";
// Get the output image path.
U16String outputPNG(sb.c_str());
// Convert worksheet to png image.
sr.ToImage(i, outputPNG);
}
Aspose::Cells::Cleanup();

Формат TIFF

Пожалуйста, ознакомьтесь со следующим образцом кода, его образцом файла Excel и выходным изображением в формате TIFF.

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\\");
// Output directory path.
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input Excel file.
U16String sampleConvertingWorksheetToDifferentImageFormats = srcDir + u"sampleConvertingWorksheetToDifferentImageFormats.xlsx";
// Create an empty workbook.
Workbook workbook(sampleConvertingWorksheetToDifferentImageFormats);
// Access first worksheet.
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Create image or print options object.
ImageOrPrintOptions imgOptions;
// Specify the image format.
imgOptions.SetImageType(ImageType::Tiff);
// Specify horizontal and vertical resolution
imgOptions.SetHorizontalResolution(200);
imgOptions.SetVerticalResolution(200);
// Render the sheet with respect to specified image or print options.
SheetRender sr(worksheet, imgOptions);
// Get the output image path.
U16String outputTiff = outDir + u"outputConvertingWorksheetToImageTiff.tiff";
// Convert worksheet to tiff image.
sr.ToTiff(outputTiff);
Aspose::Cells::Cleanup();

Преобразование Рабочего листа в SVG

SVG означает масштабируемую векторную графику. SVG является спецификацией на основе стандартов XML для двумерной векторной графики. Это открытый стандарт, над разработкой которого работает Консорциум Всемирной паутины (W3C) с 1999 года.

Aspose.Cells for C++ смог конвертировать листы в изображение SVG с версии 18.5.0.

Чтобы использовать эту функцию, импортируйте пространство имен Aspose.Cells.Rendering в свою программу или проект. Оно имеет несколько ценных классов для отображения и печати, например ISheetRender, IImageOrPrintOptions и другие.

Класс Aspose.Cells.Rendering.IImageOrPrintOptions указывает, что рабочий лист будет сохранен в формате SVG. Ниже приведен фрагмент кода, демонстрирующий, как преобразовать рабочий лист в Excel-файле в файл изображения формата SVG.

Пожалуйста, ознакомьтесь со следующим образцом кода, его образцом файла Excel и выходными изображениями в формате SVG.

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\\");
// Output directory path.
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
// Path of input Excel file.
U16String sampleConvertingWorksheetToDifferentImageFormats = srcDir + u"sampleConvertingWorksheetToDifferentImageFormats.xlsx";
// Create an empty workbook.
Workbook workbook(sampleConvertingWorksheetToDifferentImageFormats);
// Access first worksheet.
Worksheet worksheet = workbook.GetWorksheets().Get(0);
// Create image or print options object.
ImageOrPrintOptions imgOptions;
// Specify the image format.
imgOptions.SetImageType(ImageType::Svg);
// Specify horizontal and vertical resolution
imgOptions.SetHorizontalResolution(200);
imgOptions.SetVerticalResolution(200);
// Render the sheet with respect to specified image or print options.
SheetRender sr(worksheet, imgOptions);
// Get page count.
int pageCount = sr.GetPageCount();
// Create string builder object for string concatenations.
std::string sb;
// Render each page to png image one by one.
for (int i = 0; i < pageCount; i++)
{
// Clear string builder and create output image path with string concatenations.
sb = "";
sb += outDir.ToUtf8();
sb += "outputConvertingWorksheetToImageSVG_";
sb += std::to_string(i);
sb += ".svg";
// Get the output image path.
U16String outputSvg(sb.c_str());
// Convert worksheet to svg image.
sr.ToImage(i, outputSvg);
}
Aspose::Cells::Cleanup();