ITPub博客

纯干货分享: 如何在 React 框架中使用SpreadJS

原创 IT综合 作者:77rou 时间:2018-05-25 16:13:43 0 删除 编辑

第1步:设置HTML5页面

首先,我们需要在页面中添加对React的引用:

 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>SpreadJS React Demo</title> <script src="https://unpkg.com/react@16/umd/react.development.js"></script> <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script> </head> </html> 

在这个页面中,我们将使用Babel的预编译版本(称为babel-standalone),因此我们也会添加一个对此的引用:

<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>

最后,添加对Spread.Sheets的引用:

 <script src="http://cdn.grapecity.com/spreadjs/hosted/scripts/gc.spread.sheets.all.11.0.0.min.js"></script> <link rel="stylesheet" type="text/css" href="http://cdn.grapecity.com/spreadjs/hosted/css/gc.spread.sheets.excel2013white.11.0.0.css">

在我们编写任何脚本之前,我们需要定义一个DIV元素来包含Spread实例。我们称之为“root”。

 <div id="root"></div> 

第2步:为Spread.Sheets创建一个React类

接下来,在页面中添加一个脚本元素。我们将把所有的代码放在这里:

 <script type="text/babel"> </script>

然后,为Spread.Sheets定义一个React组件,以便我们可以定义一个扩展React.Component的类:

 class ReactSpreadJS extends React.Component{
    } 

该类需要在其中定义componentDidMount和render函数。componentDidMount函数在组件被挂载后立即被调用,所以我们用它来初始化Spread实例:

 componentDidMount() { //In the DidMount life cycle, we initialize Spread Sheet instance, and the host is defined in the Component template. let spread = new GC.Spread.Sheets.Workbook(this.refs.spreadJs, {sheetCount: 3}); if(this.props.workbookInitialized){ this.props.workbookInitialized(spread);
        }
    } 

接下来,在渲染函数中定义Spread.Sheets DOM元素:

 render() { //Define the Spread.Sheets DOM template return(
            <div ref="spreadJs" style={{width:'100%',height:'100%'}}>
            
); }

第3步:为组件创建一个应用程序类

首先,通过App类定义应用程序React组件:

 //Define the application react component. class App extends React.Component{
    } 

接下来,添加一个您将调用ReactSpreadJS组件的渲染函数:

 render(){ //In the root component, it include one ReactSpreadJS component. return( <div style={{width:'800px',height:'600px'}}> <ReactSpreadJS workbookInitialized = {(spread)=>{console.log(spread)}}> </ReactSpreadJS> </div> )
    } 

要完成脚本,请告诉React通过使用ReactDOM.render来初始化应用程序:

 ReactDOM.render( //Main entry, initialize application react component. <App/>, document.getElementById('root')
    ); 



这就是使用React将Spread.Sheets添加到HTML页面所需的全部内容。这只是React和Spread.Sheets的基本使用,但可以轻松扩展。

SpreadJS下载链接:http://www.grapecity.com.cn/download/?pid=57

SpreadJS官网链接:http://www.grapecity.com.cn/developer/spreadjs


关于SpreadJS前端表格控件

SpreadJS 纯前端表格控件是基于 HTML5 的 JavaScript 电子表格和网格功能控件,适用于.NET、Java 、Web应用程序、移动端等多种平台的表格数据处理和类Excel功能的表格程序开发。全中文操作界面,零学习成本!便于您在系统开发过程中,更安全的管理Excel 数据,更快捷的完成海量数据交互,更方便的进行数据导出、导入、排序、过滤、增删改查、可视化及Excel 导入/导出等操作。SpreadJS自面世以来,备受华为、中通、中国民航飞行学院、中国平安 、中国能建、浪潮等国内知名企业客户青睐。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28298702/viewspace-2155120/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-10-23

博文推荐

SAP CRM中间件下载equipment时遇到的一个错误

i042416

Docker镜像的目录存储讲解

i042416

小技巧:不用任何媒体处理软件进行视频压缩

i042416

译文——OkHttp, 安卓和Java应用的HTTP&HTTP2.0客户端

zhuyiquan90

从“悲剧”的几个运维场景谈谈运维开发的痛点

jeanron100

Java微服务应用测试,走起

jeanron100

几类历史数据沉淀的方案过渡

jeanron100

从零开始串联Python前后端技术

jeanron100

使用贪心算法解决集合覆盖问题

jeanron100

Python实现工厂模式的两个例子

jeanron100