【SpreadJS教程】如何在Node.js中生成前端Excel电子表格(一)

下载SpreadJS最新版本

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

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

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

点击下载项目示例

SpreadJS

SpreadJS和Node.js入门

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

  • Installing Node.js via Package Manager
  • 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>

猜你喜欢

转载自blog.csdn.net/xiaochuachua/article/details/86590407