前言

SpreadJS作为一款性能出众的纯前端电子表格控件,自2015年发布以来,已经被广泛应用于各领域“在线Excel”数据管理项目中。NPM,作为管理Node.js库最有力的手段,解决了很多NodeJS代码部署的问题。

如今,为让您更方便的使用产品和更好地管理项目中的SpreadJS代码,我们已将SpreadJS应用打包发布到了NPM服务器。如您需要,请点击查看(需要翻墙)

NPM简介

也许您刚刚接触前端开发,或者刚刚使用NodeJS。NPM对于您来说,可能会感到些许陌生。这里,是NPM的简单介绍,希望能够帮您:NPM是随同NodeJS一起发布的包管理工具,也是目前用于管理node.js库最有效的手段。它能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

1.       允许用户从NPM服务器下载别人编写的第三方包到本地使用。

2.       允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。

3.       允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

本文中,我们将向您介绍如何在webpack项目中使用SpreadJS NPM包。

安装Node.js和NPM

在使用该项目之前,请确保下载并安装Node.jsNPM

安装项目文件和文件夹

现在已经安装了Node.jsNPM,我们将创建在webpack项目中使用的文件夹和文件。第一个创建的文件夹将被称为spreadjs_webpack

创建文件夹后,打开命令提示符,导航到创建的文件夹,然后输入以下命令:

npm init -y

这将创建一个包含以下内容的package.json文件:

{
"name": "spreadjs_webpack",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}

在创建该文件之后,输入以下命令,并在每个命令后面输入:

npm install webpack --save
npm install webpack-cli --save

这会将一个node_modules文件夹添加到项目中,这是我们获取Spread引用的地址。

首先,我们将创建一个webpack.config.js文件。创建该文件,然后将以下内容添加到文件中:

const path = require('path');

module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
mode: "development",
optimization: {
minimize: false
}
}

另外,package.json文件需要稍微改变:

{
"name": "spreadjs_webpack",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "webpack --config webpack.config.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"webpack": "^4.6.0",
"webpack-cli": "^2.1.2"
}
}

在同一个spreadjs_webpack文件夹中,我们将创建一个dist文件夹并在该文件夹中创建一个名为index.html的html文件。这个html应该从以下内容开始:

<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<title>SpreadJS Development</title>
<script src="bundle.js"></script>
</head> <body>
<div id="ss" style="width:80%;height:80vh;border:1px solid lightgray"></div>
</body> </html>

我们需要手动创建的最后一个文件夹和文件是spreadjs_webpack文件夹中的src文件夹,以及该文件夹中的index.js文件。我们稍后将添加内容。目录的结构应该如下所示:

spreadjs_webpack
|- package.json
|- webpack.config.js
|- /dist
|- index.html
|- /src
|-index.js

安装Spread.Sheets并添加引用

回到命令提示符,输入以下命令来安装Spread.Sheets

npm install @grapecity/spread-sheets

一旦安装完毕,回到package.json文件并在依赖项部分为Spread.Sheets添加一个依赖项:

{
"name": "spreadjs_webpack",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"build": "webpack --config webpack.config.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@grapecity/spread-sheets": "^11.1.0",
"webpack": "^4.6.0",
"webpack-cli": "^2.1.2"
}
}

要完成HTML文件,请将Spread.Sheets css文件从node_modules / @ grapecity / spread-sheets / styles文件夹复制到dist文件夹。更新index.html 文件以引用此css文件:

<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<title>SpreadJS Development</title>
<link href="gc.spread.sheets.excel2013white.css" rel="stylesheet" />
<script src="bundle.js"></script>
</head> <body>
<div id="ss" style="width:80%;height:80vh;border:1px solid lightgray"></div>
</body> </html>

现在我们可以在index.js文件中添加代码来实际初始化Spread.Sheets组件:

var gc = require('@grapecity/spread-sheets');

window.onload = function () {
var workbook = new gc.Spread.Sheets.Workbook(document.getElementById("ss"));
var worksheet = workbook.getActiveSheet();
worksheet.getCell(3,3).value("SpreadJS Npm Package in Webpack Project");
}

要测试项目,请返回到命令提示符并输入以下命令:

npm run build

要正确运行页面,请在Web浏览器中打开index.html文件:

总结

本教程展示了在webpack项目中使用SpreadJS NPM包是多么容易。这只是一个开始,你可以在此基础上创建更高级的项目。

关于SpreadJS – 可嵌入您系统的在线Excel

SpreadJS 纯前端表格控件是基于 HTML5 的 JavaScript 电子表格和网格功能控件,适用于 .NET、Java 、Web 应用程序、移动端等多种平台的表格数据处理和类 Excel 功能的表格程序开发。全中文操作界面,零学习成本!便于您在系统开发过程中,更安全的管理 Excel 数据,更快捷的完成海量数据交互,更方便的进行数据导出、导入、排序、过滤、增删改查、可视化及 Excel 导入/导出等操作。

SpreadJS使用进阶指南 - 使用 NPM 管理你的项目的更多相关文章

  1. HTML5游戏开发进阶指南(亚马逊5星畅销书,教你用HTML5和JavaScript构建游戏!)

    HTML5游戏开发进阶指南(亚马逊星畅销书,教你用HTML5和JavaScript构建游戏!) [印]香卡(Shankar,A.R.)著 谢光磊译 ISBN 978-7-121-21226-0 201 ...

  2. Weex入门与进阶指南

    Weex入门与进阶指南 标签: WeexiOSNative 2016-07-08 18:22 59586人阅读 评论(8) 收藏 举报 本文章已收录于:  iOS知识库  分类: iOS(87)  职 ...

  3. SQL 横转竖 、竖专横 (转载) 使用Dapper.Contrib 开发.net core程序,兼容多种数据库 C# 读取PDF多级书签 Json.net日期格式化设置 ASPNET 下载共享文件 ASPNET 文件批量下载 递归,循环,尾递归 利用IDisposable接口构建包含非托管资源对象 《.NET 进阶指南》读书笔记2------定义不可改变类型

    SQL 横转竖 .竖专横 (转载)   普通行列转换 问题:假设有张学生成绩表(tb)如下: 姓名 课程 分数 张三 语文 74 张三 数学 83 张三 物理 93 李四 语文 74 李四 数学 84 ...

  4. 【读书笔记】读《高性能网站建设指南》及《高性能网站建设进阶指南:Web开发者性能优化最佳实践》

    这两本书就一块儿搞了,大多数已经理解,简单做个标记.主要对自己不太了解的地方,做一些记录.   一.读<高性能网站建设指南> 0> 黄金性能法则:只有10%~20%的最终用户响应时间 ...

  5. HTML5游戏开发进阶指南

    <HTML5游戏开发进阶指南> 基本信息 作者: (印)香卡(Shankar,A.R.)    译者: 谢光磊 出版社:电子工业出版社 ISBN:9787121212260 上架时间:20 ...

  6. iOS进阶指南试读之UI篇

    iOS进阶指南试读之UI篇 UI篇 UI是一个iOS开发工程师的基本功.怎么说?UI本质上就是你调用苹果提供给你的API来完成设计师的设计.所以,想提升UI的功力也很简单,没事就看看UIKit里的各个 ...

  7. HTML5游戏开发进阶指南 中文pdf扫描版​

    HTML5游戏开发进阶指南介绍了HTML5游戏开发的一般过程和技巧.全书共分12章,第1章介绍了本书相关的HTML5的诸多新特性,包括在canvas上绘图.播放声音等,另外还引入了子画面页的概念:第2 ...

  8. 学习推荐《从Excel到Python数据分析进阶指南》高清中文版PDF

    Excel是数据分析中最常用的工具,本书通过Python与Excel的功能对比介绍如何使用Python通过函数式编程完成Excel中的数据处理及分析工作.在Python中pandas库用于数据处理,我 ...

  9. Java 服务端入门和进阶指南

    作者:谢龙 链接:https://www.zhihu.com/question/29581524/answer/44872235 来源:知乎 著作权归作者所有,转载请联系作者获得授权. 现在互联网上资 ...

随机推荐

  1. vue项目实践-前后端分离关于权限的思路

    前后端分离后权限的思路 最近看到许多关于权限的思路,但好像都是使用动态加载路由的方式,现在也分享下我在项目中使用的解决方案. 前后端分离关于权限的处理每个人都不一样,根据项目选择制定合适的方案就好 我 ...

  2. 一个完整的 Web 请求到底发生了什么

    阅读本文大概需要 7 分钟. 一.从输入一个网址开始 当我们在浏览器输入一个网址,然后按下回车,接下来浏览器显示了页面.网速好的话这之间可能就一秒,但在这一秒内到底发生了什么? 本文主要内容是试图记录 ...

  3. [Swift]LeetCode142. 环形链表 II | Linked List Cycle II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Note ...

  4. [Swift]LeetCode292. Nim游戏 | Nim Game

    You are playing the following Nim Game with your friend: There is a heap of stones on the table, eac ...

  5. [Swift]LeetCode593. 有效的正方形 | Valid Square

    Given the coordinates of four points in 2D space, return whether the four points could construct a s ...

  6. python-正则表达式练习

    1.匹配普通URL ^(http://)([a-z]+)\.([a-z]+)\.(com|cn|net|edu)(/(\w)+)+(.+) 2.匹配type返回的字符串中的类型 import re r ...

  7. Spark中SQL列和并为一行

    在使用数据库的时候,需要将查询出来的一列按照逗号合并成一行. 原表名字为 TABLE ,表中的部分原始数据为: +---------+------------------------+ | BASIC ...

  8. 经典案例复盘——运维专家讲述如何实现K8S落地

    经典案例复盘——运维专家讲述如何实现K8S落地 背景介绍 运满满自开始微服务改造以来,线上线下已有数千个微服务的 Java 实例在运行中.这些 Java 实例部署在数百台云服务器或虚机上,除少数访问量 ...

  9. TCP/IP 三次握手

    网络连接状态 网络连接状态(11种)非常重要这里既包含三次握手中的也包括四次断开中的,所以要熟悉. LISTEN 被动打开,首先服务器需要打开一个socket进行监听,监听来自远方TCP端口的连接请求 ...

  10. Linux 项目上线管理 MAVEN + expect 一台机器管理所有机器的应用程序

    一.目的 在一台服务器上面管理所有机器的应用程序. 设想是通过一条命令能够知道所有应用程序是否running 如果not running 查看具体项目的log 跟踪具体原因,程序问题汇报相关负责人 二 ...