找回密码
 立即注册

QQ登录

只需一步,快速开始

alizee10251 讲师达人认证 悬赏达人认证 SpreadJS 开发认证

银牌会员

98

主题

150

帖子

2840

积分

银牌会员

积分
2840

活字格认证活字格高级认证微信认证勋章

alizee10251 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
银牌会员   /  发表于:2018-6-4 11:53  /   查看:5408  /  回复:0
本帖最后由 alizee1025 于 2018-6-4 11:56 编辑

SpreadJS最好的功能之一就是能够在不同的框架中使用它。本文将演示如何在简单的Web页面中使用Babel JavaScript编译器将SpreadJS与React快速结合。
第1步:设置HTML5页面
首先,我们需要在页面中添加对React的引用:
  1.     <!DOCTYPE html>
  2.     <html>
  3.     <head>
  4.         <meta charset="UTF-8" />
  5.         <title>SpreadJS React Demo</title>
  6.         <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
  7.         <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
  8.     </head>
  9.     </html>
  10.    
复制代码

在这个页面中,我们将使用Babel的预编译版本(称为babel-standalone),因此我们也会添加一个对此的引用:
  1. <script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>
复制代码

最后,添加对Spread.Sheets的引用:
  1.     <script src="http://cdn.grapecity.com/spreadjs/hosted/scripts/gc.spread.sheets.all.11.0.0.min.js"></script>
  2.     <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”。
  1. <div id="root"></div>
复制代码


第2步:为Spread.Sheets创建一个React类
接下来,在页面中添加一个脚本元素。我们将把所有的代码放在这里:
  1.     <script type="text/babel">    </script>
复制代码

然后,为Spread.Sheets定义一个React组件,以便我们可以定义一个扩展React.Component的类:
  1.     class ReactSpreadJS extends React.Component{    }
复制代码

该类需要在其中定义componentDidMount和render函数。componentDidMount函数在组件被挂载后立即被调用,所以我们用它来初始化Spread实例:
  1.     componentDidMount() {
  2.         //In the DidMount life cycle, we initialize Spread Sheet instance, and the host is defined in the Component template.
  3.         let spread = new GC.Spread.Sheets.Workbook(this.refs.spreadJs, {sheetCount: 3});
  4.    
  5.         if(this.props.workbookInitialized){
  6.             this.props.workbookInitialized(spread);
  7.         }
  8.     }
复制代码

接下来,在渲染函数中定义Spread.Sheets DOM元素:
  1.     render() {
  2.         //Define the Spread.Sheets DOM template
  3.         return(
  4.             <div ref="spreadJs"  style={{width:'100%',height:'100%'}}>
  5.             </div>);
  6.     }
复制代码


第3步:为组件创建一个应用程序类
首先,通过App类定义应用程序React组件:
  1.     //Define the application react component.
  2.     class App extends React.Component{
  3.     }
复制代码

接下来,添加一个您将调用ReactSpreadJS组件的渲染函数:
  1.     render(){
  2.         //In the root component, it include one ReactSpreadJS component.
  3.         return(
  4.                 <div style={{width:'800px',height:'600px'}}>
  5.                     <ReactSpreadJS workbookInitialized = {(spread)=>{console.log(spread)}}>
  6.    
  7.                     </ReactSpreadJS>
  8.                 </div>
  9.         )
  10.     }
复制代码

要完成脚本,请告诉React通过使用ReactDOM.render来初始化应用程序:
  1.     ReactDOM.render(
  2.         //Main entry, initialize application react component.
  3.             <App/>,
  4.         document.getElementById('root')
  5.     );
复制代码

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


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



0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部