Преобразование электронной таблицы в различные форматы изображений
Преобразование Рабочего листа в изображение
Рабочие листы содержат данные, которые вы хотите проанализировать. Например, рабочий лист может содержать параметры, итоги, проценты, исключения и вычисления.
Как разработчик вам может понадобиться представить рабочие листы в виде изображений. Например, вам может потребоваться использовать изображение рабочего листа в приложении или на веб-странице. Вам может понадобиться вставить изображение в документ 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(); |