0 0
kissgbi

kissgbi作者

发布于 2019-11-23 #好文阅读

干货: React框架中如何使用SpreadJS

什么是SpreadJS?它有什么用?
SpreadJS是纯前端表格控件,类似于我们常用的Excel,说白了就是网页在线做表格,是基于 HTML5 的 JavaScript 电子表格和网格功能控件,适用于.NET、Java 、Web应用程序、移动端等跨平台的表格数据处理兼容450种以上的Excel公式。
怎么使用呢?本文就是介绍这个的!
第1步:我们需要在页面中添加对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">
<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%'}}>
            </div>);
    }

第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页面所需的全部内容。下载地址呢,自己百度找吧!

0 条评论

夜间
模式

夜间模式

页面皮肤

分享
好友