Преобразование листа в изображение и Лист в изображение по странице
Этот документ предназначен для предоставления разработчикам подробного понимания того, как преобразовать лист в файл изображения и лист с несколькими страницами в файл изображения на страницу.
Иногда может потребоваться представить рабочие листы в виде изображений, например, для использования их в приложениях или веб-страницах. Возможно, вам понадобится вставить изображения в документ Word, файл PDF, презентацию PowerPoint или использовать их в другом сценарии. Просто говоря, вам нужно отобразить рабочий лист в виде изображения. Aspose.Cells поддерживает преобразование рабочих листов в файлы изображений Microsoft Excel. Также Aspose.Cells поддерживает преобразование рабочей книги в несколько файлов изображений, по одному на страницу.
Вы можете использовать автоматизацию Office для достижения этой цели, но у автоматизации Office есть свои недостатки. Существует несколько причин и проблем, например, безопасность, стабильность, масштабируемость/скорость, цена и функции. Короче говоря, есть много причин, но основная заключается в том, что сама компания Microsoft настоятельно рекомендует отказаться от автоматизации Office.
Использование Aspose.Cells для преобразования листа в файл изображения
В этой статье показано, как создать консольное приложение в Visual Studio, преобразовать рабочий лист в изображение и преобразовать рабочий лист в одно изображение для каждого рабочего листа с помощью нескольких простейших строк кода, используя API Aspose.Cells.
Вам нужно импортировать пространство имен Aspose.Cells.Rendering в вашу программу/проект. Оно имеет несколько ценных классов, таких как SheetRender, ImageOrPrintOptions, WorkbookRender, и так далее. Класс Aspose.Cells.Rendering.SheetRender представляет рабочий лист для отображения изображений для рабочего листа и имеет перегруженный метод ToImage, который может преобразовать рабочий лист в файлы изображений напрямую с любыми установленными атрибутами или опциями. Он может возвращать объект System.Drawing.Bitmap, и вы можете сохранить файл изображения на диск/поток. Поддерживаются несколько форматов изображений, например BMP, PNG, GIF, JPG, JPEG, TIFF, EMF и другие.
В этой статье объясняется, как:
- Преобразовать рабочий лист в изображение
- Преобразовать каждую страницу в рабочем листе в изображение
Это задача показывает, как использовать Aspose.Cells для преобразования рабочего листа из шаблонной рабочей книги в файл изображения.
Установка проекта
- Сначала скачайте Aspose.Cells for .NET.
- Установите его на свой компьютер для разработки. Все компоненты Aspose, когда установлены, работают в режиме оценки. Режим оценки не имеет временных ограничений и только вставляет в произведенные документы водяные знаки. Теперь запустите Visual Studio.Net и создайте новое консольное приложение. В этом примере используется консольное приложение C#, но вы также можете использовать VB.NET. Добавьте ссылку на Aspose.Cells в созданный проект.
Преобразовать рабочий лист в файл изображения
Я создал новую рабочую книгу в Microsoft Excel и добавил некоторые данные в первый рабочий лист: Testbook.xlsx (1 рабочий лист). Затем преобразуйте рабочий лист шаблона в файл изображения под названием SheetImage.jpg.
Ниже приведен используемый компонентом код для выполнения этой задачи. Он преобразует Sheet1 в Testbook.xlsx в файл изображения, чтобы показать, насколько легко осуществляется это преобразование.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Source directory | |
string sourceDir = RunExamples.Get_SourceDirectory(); | |
//Output directory | |
string outputDir = RunExamples.Get_OutputDirectory(); | |
// Open a template excel file | |
Workbook book = new Workbook(sourceDir + "sampleConvertWorksheettoImageFile.xlsx"); | |
// Get the first worksheet. | |
Worksheet sheet = book.Worksheets[0]; | |
// Define ImageOrPrintOptions | |
ImageOrPrintOptions imgOptions = new ImageOrPrintOptions(); | |
imgOptions.OnePagePerSheet = true; | |
// Specify the image format | |
imgOptions.ImageType = Drawing.ImageType.Jpeg; | |
// Render the sheet with respect to specified image/print options | |
SheetRender sr = new SheetRender(sheet, imgOptions); | |
// Render the image for the sheet | |
Bitmap bitmap = sr.ToImage(0); | |
// Save the image file | |
bitmap.Save(outputDir + "outputConvertWorksheettoImageFile.jpg"); |
Использование Aspose.Cells для преобразования листа в изображение по страницам
В этом примере показано, как использовать Aspose.Cells для преобразования листа из шаблонной книги, которая содержит несколько страниц, в один файл изображения на каждой странице.
Преобразовать рабочий лист в изображение по страницам
Я создал новую рабочую книгу в Microsoft Excel и добавил некоторые данные в первый рабочий лист: Testbook2.xlsx (1 рабочий лист).
Теперь преобразуйте рабочий лист шаблона Sheet1 в файлы изображений (по одному файлу на страницу). Поскольку я уже создал консольное приложение для выполнения этой задачи, я пропущу шаги создания этого консольного приложения и перейду непосредственно к шагам преобразования рабочего листа.
Ниже приведенный код используется компонентом для выполнения этой задачи. Он преобразует Лист1 в файле Testbook2.xls в изображения по страницам.
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET | |
//Source directory | |
string sourceDir = RunExamples.Get_SourceDirectory(); | |
//Output directory | |
string outputDir = RunExamples.Get_OutputDirectory(); | |
Workbook book = new Workbook(sourceDir + "sampleConvertWorksheetToImageByPage.xlsx"); | |
Worksheet sheet = book.Worksheets[0]; | |
Aspose.Cells.Rendering.ImageOrPrintOptions options = new Aspose.Cells.Rendering.ImageOrPrintOptions(); | |
options.HorizontalResolution = 200; | |
options.VerticalResolution = 200; | |
options.ImageType = Drawing.ImageType.Tiff; | |
// Sheet2Image By Page conversion | |
SheetRender sr = new SheetRender(sheet, options); | |
for (int j = 0; j < sr.PageCount; j++) | |
{ | |
sr.ToImage(j, outputDir + "outputConvertWorksheetToImageByPage_" + (j + 1) + ".tif"); | |
} |