如何在 Node.js 中使用 REST API 将 CSV 转换为 Excel

在 Node.js 中使用 REST API 将 CSV 转换为 Excel

CSV 或逗号分隔值是最灵活的数据格式,用于在不同的电子表格程序之间导入和导出数据。大多数数据上传接口和应用程序都可以打开它。而 Excel(XLS 和 XLSX)文件格式用于存储复杂的表格数据。如果您想在程序之间交换数据,将数据从一个应用程序导入和导出到另一个应用程序,那么 CSV 文件格式是最佳选择。今天,我们将学习如何在 Node.js 中使用 REST API 将 CSV 转换为 Excel。在之前的一篇文章中,我们看到了[如何在 Node.js 中使用 REST API 将 Excel 转换为 CSV 格式。](https://blog.groupdocs.cloud/zh/conversion/convert-excel-to-csv-format-using- rest-api-in-node.js/)

本文应涵盖以下主题:

CSV 到 Excel 转换 REST API 和 Node.js SDK

为了将 CSV 转换为 Excel 文件格式,使用 GroupDocs.Conversion Cloud 的 Node.js SDK API。它是一个独立于平台的 Nodejs 文档转换库。它允许您将任何 支持的文件格式 的文档和图像无缝转换为您需要的任何格式。 Word、PowerPoint, Excel、PDF、HTML、CAD、光栅图像等50多种文档和图像之间轻松转换。它还提供.NET、Java、PHP、Ruby、Android和Python SDK作为其文档转换家族成员 为 Cloud API。

您可以在控制台中使用以下命令将 GroupDocs.Conversion Cloud 安装到您的 Node.js 项目:

npm install groupdocs-conversion-cloud

在开始执行步骤和可用代码示例之前,请从 仪表板 获取您的客户端 ID 和客户端密码。获得 ID 和密码后,请添加如下所示的代码:

# 从 http://api.groupdocs.cloud 在您的节点应用程序中导入 Node.js SDK
global.groupdocs_conversion_cloud = require("groupdocs-conversion-cloud");
global.fs = require("fs");

// 从 https://dashboard.groupdocs.cloud 获取 clientId 和 clientSecret(需要免费注册)。
global.clientId = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx";
global.clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
global.myStorage = "test-internal-storage";
const config = new groupdocs_conversion_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";

如何在 Node.js 中使用 REST API 将 CSV 转换为 Excel 文件

您可以按照以下步骤在云端以编程方式将 csv 转换为 nodejs 中的 xls/xlsx 格式:

  1. 上传 CSV文件到云端
  2. 转换 Nodejs CSV 到 Excel 文件
  3. 下载转换后的XLSX文件

上传 CSV 文件

首先,使用以下代码示例将 excel 文件上传到云端:

// 从系统驱动器打开 IOStream 中的文件。
var resourcesFolder = 'H:\\groupdocs-cloud-data\\sample-file.csv';
// 读取文件
fs.readFile(resourcesFolder, (err, fileStream) => {
  // 构建FileApi
  var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
  // 创建上传文件请求
  var request = new groupdocs_conversion_cloud.UploadFileRequest("sample-file.csv", fileStream, myStorage);
  // 上传文件
  fileApi.uploadFile(request)
    .then(function (response) {
      console.log("Expected response type is FilesUploadResult: " + response.uploaded.length);
    })
    .catch(function (error) {
      console.log("Error: " + error.message);
    });
});

因此,上传的 Excel 文件将在云端仪表板的 文件部分 中可用。

在 Node.js 中将 CSV 转换为 XLSX 格式

您可以按照以下步骤以编程方式将 csv 转换为 nodejs 中的 excel xlsx:

  • 创建 ConvertApi 的实例
  • 创建 ConvertSettings 的实例
  • 设置存储名称和输入的excel文件路径
  • 将“csv”分配给格式
  • 现在,提供输出 csv 文件路径
  • 使用 ConvertSettings 创建 ConvertDocumentRequest
  • 通过使用 ConvertDocumentRequest 调用 convertDocument() 方法进行转换

以下代码示例显示了如何使用 REST API 在 Nodejs 中将 CSV 转换为 Excel 文件:

// 如何在 Node.js 中使用 REST API 将 CSV 转换为 Excel 文件
const convert = async () => {
  const convertApi = groupdocs_conversion_cloud.ConvertApi.fromKeys(clientId, clientSecret);

  const settings = new groupdocs_conversion_cloud.ConvertSettings();
  settings.storageName = myStorage;
  settings.filePath = "nodejs-testing/sample-file.csv";
  settings.format = "xlsx";
  settings.outputPath = "nodejs-testing/sample-file.xlsx";

  try {
    // 创建转换文档请求
    const request = new groupdocs_conversion_cloud.ConvertDocumentRequest(settings);
    await convertApi.convertDocument(request);
  } 
  catch (err) {
    throw err;
  }
}

convert()
.then(() => {
  console.log("Successfully converted CSV to XLSX file format:");
})
.catch((err) => {
  console.log("Error occurred while converting the Excel file:", err);
})

下载转换后的文件

上面的代码示例会将转换后的 CSV 文件保存在云端。现在你知道如何在 nodejs 中将 CSV 转换为 Excel。接下来,使用以下代码示例下载 excel 文件:

// 构建 FileApi 以下载转换后的文件
var fileApi = groupdocs_conversion_cloud.FileApi.fromConfig(config);
// 创建下载文件请求
let request = new groupdocs_conversion_cloud.DownloadFileRequest("nodejs-testing/sample-file.xlsx", myStorage);
// 下载文件和响应类型 Stream
fileApi.downloadFile(request)
    .then(function (response) {
        // 将文件保存在系统目录中
        fs.writeFile("H:\\groupdocs-cloud-data\\sample-file.xlsx", response, "binary", function (err) { });
        console.log("Expected response type is Stream: " + response.length);
    })
    .catch(function (error) {
        console.log("Error: " + error.message);
    });

免费的 CSV 到 Excel 在线转换器

如何免费在线将 CSV 转换为 Excel?请尝试以下免费在线将 CSV 转换为 Excel,它是使用上述 API 开发的。

结论

CSV 和 Excel 文件广泛用于存储和传输数据。据此,本文介绍了如何在 Node.js 应用程序中将 CSV 文件更改为 XLSX 文件。现在你知道了:

  • 如何使用 Node.js 将 CSV 转换为 XLSX;
  • 以编程方式上传 CSV,然后下载转换后的 Excel 文件;
  • 免费在线 CSV 到 excel 转换器;

此外,您可以使用 文档 了解有关 GroupDocs.Conversion Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。

问一个问题

您可以通过我们的免费支持论坛 询问有关如何将 CSV 转换为 Excel 格式的问题

也可以看看