通过Node.js在C++中将工作表转换为图片和按页面转换工作表为图片

使用Aspose.Cells for Node.js via C++将工作表转换为图片文件

本文介绍如何创建控制台应用程序,将工作表转换为图片,以及使用Aspose.Cells API以几行简单的代码将工作表转换为一张图片或每个工作表一张图片。

你需要导入多个与渲染功能相关的类,比如SheetRenderImageOrPrintOptionsWorkbookRender等。SheetRender类代表一张工作表,用于渲染工作表的图片,具有一个重载的toImage(number)方法,可以直接将工作表转换为带有任何属性或选项的图像文件。它可以返回一个图像对象,你可以将图像保存到磁盘/流中。支持的图像格式包括BMP、PNG、GIF、JPG、JPEG、TIFF、EMF等几种。

本文解释了如何:

  • 将工作表转换为图像
  • 将工作表中的每个页面转换为图像

此任务显示如何使用Aspose.Cells将模板工作簿中的工作表转换为图像文件。

设置项目

  1. 首先,下载Aspose.Cells for Node.js via C++
  2. 在你的开发计算机上安装它。所有Aspose组件安装后,均处于评估模式。评估模式没有时间限制,只会在生成的文档中加入水印。现在启动你的开发环境,创建一个新的控制台应用程序。本示例使用Node.js控制台应用,但你可以使用任何与Node.js集成的设置。将Aspose.Cells引用到已创建的项目中。

将工作表转换为图像文件

我在Microsoft Excel中创建了一个新工作簿,并在第一个工作表中添加了一些数据:Testbook.xlsx(1个工作表)。接下来,将模板文件的工作表Sheet1转换为名为SheetImage.jpg的图像文件。

以下是组件用来完成任务的代码。它将Testbook.xlsx中的Sheet1转换为图像文件,以说明这种转换有多么简便。

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// Source directory
const sourceDir = path.join(__dirname, "data");
// Output directory
const outputDir = path.join(__dirname, "output");

// Open a template excel file
const filePath = path.join(sourceDir, "sampleConvertWorksheettoImageFile.xlsx");
const workbook = new AsposeCells.Workbook(filePath);

// Get the first worksheet.
const sheet = workbook.getWorksheets().get(0);

// Define ImageOrPrintOptions
const imgOptions = new AsposeCells.ImageOrPrintOptions();
imgOptions.setOnePagePerSheet(true);

// Specify the image format
imgOptions.setImageType(AsposeCells.ImageType.Jpeg);

// Render the sheet with respect to specified image/print options
const sr = new AsposeCells.SheetRender(sheet, imgOptions);

// Save the image file
const outputFilePath = outputDir + "outputConvertWorksheettoImageFile.jpg";

sr.toImage(0, outputFilePath);

使用Aspose.Cells for Node.js via C++按页面将工作表转换为图片文件

此示例演示如何使用Aspose.Cells将模板工作簿中具有多个页面的工作表转换为每页一个图像文件。

按页转换工作表为图像

我在Microsoft Excel中创建了一个新工作簿,并在第一个工作表中添加了一些数据:Testbook2.xlsx(1个工作表)。

现在,将模板文件的工作表Sheet1转换为图像文件(每页一个文件)。由于我已经创建了执行复制任务的控制台应用程序,因此我将跳过创建控制台应用程序的步骤,直接转移到工作表转换步骤。

以下是组件完成任务所使用的代码。它将Testbook2.xlsx中的Sheet1按页转换为图像文件。

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// Source directory
const sourceDir = path.join(__dirname, "data");
// Output directory
const outputDir = path.join(__dirname, "output");

const filePath = path.join(sourceDir, "sampleConvertWorksheetToImageByPage.xlsx");
const workbook = new AsposeCells.Workbook(filePath);
const sheet = workbook.getWorksheets().get(0);

const options = new AsposeCells.ImageOrPrintOptions();
options.setHorizontalResolution(200);
options.setVerticalResolution(200);
options.setImageType(AsposeCells.ImageType.Tiff);

// Sheet2Image By Page conversion
const sr = new AsposeCells.SheetRender(sheet, options);
for (let j = 0; j < sr.getPageCount(); j++) 
{
sr.toImage(j, outputDir + "outputConvertWorksheetToImageByPage_" + (j + 1) + ".tif");
}