V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
https://www.v2ex.com/pro/about
powertoolsteam
V2EX  ›  推广

如何在 Node.js 中生成前端 Excel 电子表格(上)

  •  
  •   powertoolsteam · Mar 6, 2019 · 1838 views
    This topic created in 2609 days ago, the information mentioned may be changed or developed.

    有时您可能需要在 Node.js 应用程序生成 Excel 文件。您可能需要从数据库或 Web 服务获取数据,然后输出到 Excel 文件以进行进一步的报告或分析。SpreadJS 可以在服务器端不依赖任何 Excel 的情况下实现这一点。

    Node.js 是一种流行的事件驱动的 JavaScript 运行时环境,通常用于创建 Web 应用程序。它可以同时处理多个连接,并且不像大多数其他模型那样依赖于线程。

    在本教程中,我们将使用 Spread JS 收集用户输入的信息并自动将其导出到 Excel 文件 - 所有这些都在 Node.js 应用程序中。凭借 Spread JS 的强大功能,无论是单独使用 Spread JS 还是使用 Node.js ,性能都不会受到影响。

    点击下载项目示例( https://grapecitycontentcdn.azureedge.net/blogs/spread/20180827-using-spread-with-nodejs/spreadsheetsnodejsappp.zip )

    SpreadJS 和 Node.js 入门

    首先,我们需要安装 Node.js 和 Mock-Browser,BufferJS 和 FileReader,这些都可以在以下链接中找到:

    我们将使用 Visual Studio 来创建应用程序。打开 Visual Studio 后,使用 JavaScript> Node.js> Blank Node.js 控制台应用程序模板创建一个新应用程序。这将自动创建所需的文件并打开“ app.js ”文件,本例中我们只需改动这一个文件。

    对于 BufferJS 库,您需要下载该软件包,然后通过导航到项目文件夹(一旦创建)并运行以下命令,在项目中手动安装它:

    npm install
    

    安装完成后,可能需要打开项目的 package.json 文件并将其添加到“ dependencies ”部分。文件内容应如下所示:

    <pre><code class="language-javascript">
    {
      "name": "spread-sheets-node-jsapp",
      "version": "0.0.0",
      "description": "SpreadSheetsNodeJSApp",
      "main": "app.js",
      "author": {
        "name": "admin"
      },
      "dependencies": {
        "FileReader": "^0.10.2",
         "bufferjs": "1.0.0",
         "mock-browser": "^0.92.14"
      }
    }
    </code></pre>
    

    在此示例中,我们将使用 Node.js 的文件系统模块。加载方式:

    <pre><code class="language-javascript">
    var fs = require('fs')
    </code></pre>
    

    为了将 SpreadJS 与 Node.js 一起使用,我们可以加载我们安装的 Mock-Browser:

    <pre><code class="language-javascript">
    var mockBrowser = require('mock-browser').mocks.MockBrowser
    </code></pre>
    

    在加载 SpreadJS 脚本之前,我们需要初始化模拟浏览器。初始化我们稍后可能需要在应用程序中使用到的变量,尤其是“ window ”:

    <pre><code class="language-javascript">
    global.window = mockBrowser.createWindow()
    global.document = window.document
    global.navigator = window.navigator
    global.HTMLCollection = window.HTMLCollection
    global.getComputedStyle = window.getComputedStyle
    </code></pre>
    

    初始化 FileReader 库:

    <pre><code class="language-javascript">
    var fileReader = require('filereader');
    global.FileReader = fileReader;
    </code></pre>
    

    使用 SpreadJS npm 包

    现在,需要将 SpreadJS 包和 ExcelIO 包添加到项目中。您可以通过右键单击解决方案资源管理器的“ npm ”部分并选择“安装新的 NPM 包”将这些添加到项目中。您可以通过搜索“ GrapeCity ”并安装以下 2 个包:

    @grapecity/spread-sheets
    @grapectiy/spread-excelio
    

    将 SpreadJS npm 包添加到项目后,应该使用正确的依赖项自动上传 package.json:

    <pre><code class="language-javascript">
    {
        "name": "spread-sheets-node-jsapp",
        "version": "0.0.0",
        "description": "SpreadSheetsNodeJSApp",
        "main": "app.js",
        "author": {
        "name": "admin"
      },
      "dependencies": {
        "@grapecity/spread-excelio": "^11.2.1",
        "@grapecity/spread-sheets": "^11.2.1",
        "FileReader": "^0.10.2",
        "bufferjs": "1.0.0",
        "mock-browser": "^0.92.14"
      }
    }
    </code></pre>
    

    现在我们需要在 app.js 文件中添加依赖:

    <pre><code class="language-javascript">
    var GC = require('@grapecity/spread-sheets')
    var GCExcel = require('@grapecity/spread-excelio');
    </code></pre>
    

    使用 npm 软件包时,还需要设置许可证密钥:

    <pre><code class="language-javascript">
    GC.Spread.Sheets.LicenseKey = "<YOUR KEY HERE>"
    </code></pre>
    

    在这个特定的应用程序中,我们将向用户显示他们正在使用的 SpreadJS 版本。为此,我们可以请求 package.json 文件,然后引用依赖项以获取版本号:

    <pre><code class="language-javascript">
    var packageJson = require('./package.json')
    console.log('\n** Using Spreadjs Version "' + packageJson.dependencies["@grapecity/spread-sheets"] + '" **')
    </code></pre>
    

    本例将 SpreadJS 与 Node.js 结合使用,演示了 SpreadJS 的多功能性和可扩展性!有关此类,演示,视频和教程的更多文章,请查看葡萄城官方博客页面。( https://www.grapecity.com.cn/blogs/how-to-generate-a-excel-spreadsheet-in-nodejs

    SpreadJS

    纯前端表格控件 SpreadJS ( https://www.grapecity.com.cn/developer/spreadjs ),是市面上布局与功能都与 Excel 高度类似的一款表格控件,全中文操作界面,适用于.NET 、Java、移动端等多个平台的类 Excel 数据开发,备受华为、中通、民航飞行学院等国内知名企业客户青睐。

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2994 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 97ms · UTC 15:22 · PVG 23:22 · LAX 08:22 · JFK 11:22
    ♥ Do have faith in what you're doing.