当前位置: 首页 > Web前端 > JavaScript

基于Next.js的在线Excel

时间:2023-03-26 21:41:08 JavaScript

使用React从头开始??构建一个完整的Web应用程序需要哪些步骤?当然,这不是把大象放进冰箱那么简单。只需要分为三步:打开冰箱,拿起大象,放入冰箱。有很多细节需要我们考虑,比如:代码必须用bundler(比如webpack)打包,用babel这样的编译器转译。需要对生产环境进行优化,例如代码拆分。有些页面需要预渲染以提高页面性能和SEO,您可能还想使用服务器端渲染或客户端渲染。必须编写一些服务器端代码以将React应用程序连接到数据存储。这些问题都是我们需要关注的,但是Next.js的出现完美的解决了这些问题,而且都可以用一个框架来解决。Next.js框架抽象层次恰到好处,“开发者体验”极佳,包括静态和服务端融合渲染、支持TypeScript、智能打包、路由预取等功能,无需任何配置,开箱即用,这些内容让开发团队在编写代码时有“未雨绸缪巧克力”的丝滑体验。认识Next.jsNext.js是一个React开发框架,可以帮助我们构建React应用程序。作为一个轻量级的React服务端渲染应用框架,它内置了许多特性,包括但不限于:直观的、基于页面的路由系统(并支持动态路由)预渲染——支持静态生成(SSG)在页面级别和服务器端渲染(SSR)自动代码拆分以加快页面加载速度具有优化的预取功能的客户端路由内置对CSS和Sass的支持,并支持任何CSS-in-JS库开发环境支持利用ServerlessFunctions和APIRouting实现快速刷新API功能完全可扩展目前,Next.js正在数以万计的网站和Web应用程序中使用,其中包括许多世界知名公司和领先品牌。可以说,其看得见的易用性牢牢抓住了用户的心。无论是针对企业用户还是小微开发者,都提供从基础框架到发布运维的相应解决方案。下面我们就带大家实现基于Next.js的类Excel控件的在线表格编辑功能。实战之旅首先需要安装Node.js,Node.js版本需要高于10.13。安装过程可以参考:https://nodejs.org/en/安装完成后,就可以创建一个Next.js应用了。打开终端窗口,进入创建应用程序的程序目录,执行以下命令:#其背后的工作是通过调用create-next-app工具完成的,它创建了一个Next.js应用程序。npxcreate-next-appnextjs-spreadjs安装完成后,执行npmrundev。如果项目可以正常启动,说明项目已经正常创建。默认情况下,创建的项目会在3000端口启动,如下图:然后可以下载项目页面删除index.js中一些不需要的内容元素,在项目路径下加载我们接下来写的类Excel表格控件。最终显示效果如图:红色区域为表格主体,上方工具栏为在线表格编辑器。在实际项目中,我们可以单独导入组件运行时,也可以导入所有在线表格编辑区(在线表格编辑器会包含关联的运行时)。首先,我们需要在package.json中加入如下依依:"@grapecity/spread-sheets":"15.1.0","@grapecity/spread-sheets-react":"15.1.0","@grapecity/spread-excelio":"15.1.0","@grapecity/spread-sheets-charts":"15.1.0","@grapecity/spread-sheets-print":"15.1.0","@grapecity/spread-sheets-pdf":"15.1.0","@grapecity/spread-sheets-barcode":"15.1.0","@grapecity/spread-sheets-shapes":"15.1.0","@grapecity/spread-sheets-resources-zh":"15.1.0","@grapecity/spread-sheets-languagepackages":"15.1.0","@grapecity/spread-sheets-pivot-addon":"15.1.0","@grapecity/spread-sheets-tablesheet":"15.1.0","@grapecity/spread-sheets-designer":"15.1.0","@grapecity/spread-sheets-designer-resources-cn":"15.1.0","@grapecity/spread-sheets-designer-react":"15.1.0"接下来我们在项目根目录下新建一个components文件夹,并新建一个OnlineDesigner.js文件,在里面导入spreadjs相关资源,导入componentruntime详细代码如下:importReact,{useState,useEffect}from"react"import'@grapecity/spread-sheets-resources-zh';importGCfrom'@grapecity/spread-sheets'import{SpreadSheets,Worksheet}from'@grapecity/spread-sheets-react'import'@grapecity/spread-sheets/styles/gc.spread.sheets.excel2013lightGray.css'GC.Spread.Common.CultureManager.culture("zh-cn");出口defaultfunctionOnlineSpread(){const[spread,setSpread]=useState(null)constinitSpread=(entity)=>{setSpread(entity)//获取活动表letsheet=entity.getActiveSheet()//设置数据表.setValue(0,0,'Grapecity')}return(<>)}创建完成后,我们需要在create目录下将定义好的组件导入到index.js中。这里需要注意的是,在引入组件的时候,不要使用服务端渲染(SSR),否则会出现文档未定义的错误。这个错误一般与nodejs无法操作dom对象有关。具体引入方法为:constOnlineSpread=dynamic(()=>import('../components/OnlineSpread.js'),{ssr:false})引入完成后,我们就可以在当前页面使用了,简化index.js中的代码,最终代码如下:'../components/OnlineSpread.js'),{ssr:false})constOnlineDesigner=dynamic(()=>import('../components/OnlineDesigner.js'),{ssr:false})export默认函数Home(){return(

Nextjs-SPreadJS
)}执行npmrundev,显示效果如下:我们需要继续在components文件夹下新的OnlineDesigner.js,引入在线表格编辑器:importReact,{useState,useEffect}from"react"import'@grapecity/spread-sheets-designer-resources-cn';import"@grapecity/spread-sheets/styles/gc.spread.sheets.excel2013white.css"import'@grapecity/spread-sheets-designer/styles/gc.spread.sheets.designer.min.css'import"@grapecity/spread-sheets-tablesheet”;导入“@grapecity/spread-sheets-barcode”;导入“@grapecity/spread-sheets-charts”;导入“@grapecity/spread-sheets-shapes”;导入“@grapecity/spread-sheets-languagepackages”;导入“@grapecity/spread-sheets-print”;导入“@grapecity/spread-sheets-pdf”;导入“@grapecity/spread-sheets-pivot-addon”;导入“@grapecity/spread-sheets-resources-zh";import"@grapecity/spread-sheets-designer-resources-cn";从'@grapecity/spread-sheets-designer-react'导入{Designer};import"@grapecity/spread-sheets-resources-zh"从"@grapecity/spread-sheets"导入GC.Spread.Common.CultureManager.culture('zh-cn')导出默认函数OnlineDesigner(){const[designer,setDesigner]=useState(null)constinitDesigner=(entity)=>{setDesigner(entity)letspread=entity.getWorkbook()letsheet=spread.getActiveSheet()sheet.setValue(0,0,'Grapecity')}return(<>)}编写完成之后,在index.js中导入集合即可:importHeadfrom'next/head'importImagefrom'next/image'importdynamicfrom'next/dynamic'constOnlineDesigner=dynamic(()=>import('../components/OnlineDesigner.js'),{ssr:false})exportdefaultfunctionHome(){return(
Nextjs-SPreadJS</title><metaname="description"content="createnextapp"/></Head>{/*<OnlineSpread/>*/}<OnlineDesigner/></div>)}执行npmrundev,显示效果如下:到这里我们就成功完成了基于Next.js的在线表单编辑功能,有兴趣的可以查看:https://demo.grapecity.com.cn...</p> </div> </div> <div class="zuowen_sxy"> <div class="prev">上一篇:<a title="我毕业于Shopee" href="/webqianduan/177009.html">我毕业于Shopee</a> </div> <div class="prev">下一篇:<a title="解决ts开发时引入图片报错:“找不到xxx或其相应的类型声明” 的问题" href="/webqianduan/177011.html">解决ts开发时引入图片报错:“找不到xxx或其相应的类型声明” 的问题</a> </div> </div> <div class="related_about"> <div class="related_about_t"><code>基于Next.js的在线Excel相关文章</code></div> <ul> <li><a href="/kejifunen/371168.html" target="_blank" title="比尔盖茨!没想到你可以用智能手表来管理你的牛群">比尔盖茨!没想到你可以用智能手表来管理你的牛群</a></li> <li><a href="/kejifunen/371163.html" target="_blank" title="奥克斯实行“使用60天不满意包退”的四大理由">奥克斯实行“使用60天不满意包退”的四大理由</a></li> <li><a href="/kejifunen/371159.html" target="_blank" title="解析可穿戴设备大数据突破硬件限制的三大关键因素">解析可穿戴设备大数据突破硬件限制的三大关键因素</a></li> <li><a href="/kejifunen/371157.html" target="_blank" title="暑假惊喜不仅是录取通知书,还有天房带来的贴心实惠的智能锁! ">暑假惊喜不仅是录取通知书,还有天房带来的贴心实惠的智能锁! </a></li> <li><a href="/kejifunen/371155.html" target="_blank" title="红领队是索尼OLED电视A1的粉丝,你呢? ">红领队是索尼OLED电视A1的粉丝,你呢? </a></li> <li><a href="/kejifunen/371149.html" target="_blank" title="可穿戴设备的天花板很低,取代手机是伪命题">可穿戴设备的天花板很低,取代手机是伪命题</a></li> <li><a href="/kejifunen/371141.html" target="_blank" title="韩国学者推出可完全替代智能手机的概念智能眼镜">韩国学者推出可完全替代智能手机的概念智能眼镜</a></li> <li><a href="/kejifunen/371140.html" target="_blank" title="从本次MWC上海看国民VR时代的六大武器">从本次MWC上海看国民VR时代的六大武器</a></li> <li><a href="/kejifunen/371136.html" target="_blank" title="风暴之镜4评测!这款让我们又爱又恨的产品">风暴之镜4评测!这款让我们又爱又恨的产品</a></li> <li><a href="/kejifunen/371135.html" target="_blank" title="颠覆传统的智能三星Gear S2外观详细解读">颠覆传统的智能三星Gear S2外观详细解读</a></li> <li><a href="/kejifunen/371131.html" target="_blank" title="Android P强力优化蓝牙耳机!自动记住多个设备的音量">Android P强力优化蓝牙耳机!自动记住多个设备的音量</a></li> <li><a href="/kejifunen/371129.html" target="_blank" title="难得一见的清华深度学习课程!我们“偷”了全套干货">难得一见的清华深度学习课程!我们“偷”了全套干货</a></li> <li><a href="/kejifunen/371124.html" target="_blank" title="神奇的智能裤,穿上它就告别轮椅! ">神奇的智能裤,穿上它就告别轮椅! </a></li> <li><a href="/kejifunen/371121.html" target="_blank" title="苹果的祝福! JDI将全力进击智能手表市场">苹果的祝福! JDI将全力进击智能手表市场</a></li> <li><a href="/kejifunen/371118.html" target="_blank" title="三星曝20个新漏洞!黑客可以控制你家的摄像头和门锁">三星曝20个新漏洞!黑客可以控制你家的摄像头和门锁</a></li> <li><a href="/kejifunen/371116.html" target="_blank" title="了解一下BOSE新款耳塞,内置10种不同的自然白噪音帮助睡眠">了解一下BOSE新款耳塞,内置10种不同的自然白噪音帮助睡眠</a></li> <li><a href="/kejifunen/371115.html" target="_blank" title="马斯克承认特斯拉自研芯片其实是被逼的! ">马斯克承认特斯拉自研芯片其实是被逼的! </a></li> <li><a href="/kejifunen/371113.html" target="_blank" title="智能硬件可能会侵犯人类隐私,目前的政策基本上是白费力气">智能硬件可能会侵犯人类隐私,目前的政策基本上是白费力气</a></li> <li><a href="/kejifunen/371106.html" target="_blank" title="VR体验中心火爆,从密室逃脱到VR的“转变”你了解多少">VR体验中心火爆,从密室逃脱到VR的“转变”你了解多少</a></li> <li><a href="/kejifunen/371101.html" target="_blank" title="智能手表Ticwatch!两会记者最喜欢的高科技设备">智能手表Ticwatch!两会记者最喜欢的高科技设备</a></li> </ul> </div> </div> <div class="main-right"> <div class="right_fix"> <div class="r_con"> <div class="r_title">最新推荐</div> <ul> <li><em>1</em><a href="/kejifunen/371280.html" title="魅族MX4搭配的inWatch π智能手表详解" target="_blank">魅族MX4搭配的inWatch π智能手表详解</a></li> <li><em>2</em><a href="/kejifunen/371279.html" title="这才是真正的黑科技!最强国筹Bet365下周五正式发布! " target="_blank">这才是真正的黑科技!最强国筹Bet365下周五正式发布! </a></li> <li><em>3</em><a href="/kejifunen/371278.html" title="速冷、舒适、节能堪称“全能”,美的极爽空调特价促销" target="_blank">速冷、舒适、节能堪称“全能”,美的极爽空调特价促销</a></li> <li><em>4</em><a href="/kejifunen/371277.html" title="日薪5000元的苏宁空调安装体验官有何经历? " target="_blank">日薪5000元的苏宁空调安装体验官有何经历? </a></li> <li><em>5</em><a href="/kejifunen/371276.html" title="黑科技!专业运动员的智能手环刷新了可穿戴设备的未来" target="_blank">黑科技!专业运动员的智能手环刷新了可穿戴设备的未来</a></li> <li><em>6</em><a href="/kejifunen/371268.html" title="石墨烯可以将普通纸张变成用于柔性显示器和可穿戴设备的新材料" target="_blank">石墨烯可以将普通纸张变成用于柔性显示器和可穿戴设备的新材料</a></li> <li><em>7</em><a href="/kejifunen/371266.html" title="小米手环3体验!也许它可以取代你的智能手表" target="_blank">小米手环3体验!也许它可以取代你的智能手表</a></li> <li><em>8</em><a href="/kejifunen/371265.html" title="有人想众筹开发一款监测屁的健康可穿戴设备" target="_blank">有人想众筹开发一款监测屁的健康可穿戴设备</a></li> <li><em>9</em><a href="/kejifunen/371262.html" title="苹果新款Apple Watch开箱!您对它的外观满意吗? " target="_blank">苹果新款Apple Watch开箱!您对它的外观满意吗? </a></li> <li><em>10</em><a href="/kejifunen/371260.html" title="可穿戴挑战赛的20万美元大奖就是这款手环" target="_blank">可穿戴挑战赛的20万美元大奖就是这款手环</a></li> </ul> </div> <div class="r_con"> <div class="r_title">猜你喜欢</div> <ul class="you_like"> <li><em>1</em><a href="/kejifunen/371257.html" title="独家的!逃跑时老板的公章被抢走了!这个明星机器人深陷破产困境" target="_blank">独家的!逃跑时老板的公章被抢走了!这个明星机器人深陷破产困境</a></li> <li><em>2</em><a href="/kejifunen/371256.html" title="VR“断断续续”的流行还存在这些问题" target="_blank">VR“断断续续”的流行还存在这些问题</a></li> <li><em>3</em><a href="/kejifunen/371253.html" title="这种可以骑乘并自动跟随人的移动机器人在海外收获了无数粉丝" target="_blank">这种可以骑乘并自动跟随人的移动机器人在海外收获了无数粉丝</a></li> <li><em>4</em><a href="/kejifunen/371251.html" title="董明珠对美的的犀利点评!根本不是对手,算是长辈" target="_blank">董明珠对美的的犀利点评!根本不是对手,算是长辈</a></li> <li><em>5</em><a href="/kejifunen/371249.html" title="诺基亚用时尚诠释智能手表的未来" target="_blank">诺基亚用时尚诠释智能手表的未来</a></li> <li><em>6</em><a href="/kejifunen/371246.html" title="智能手环的准确性受到质疑,厂商盲目跟风,忽视软实力" target="_blank">智能手环的准确性受到质疑,厂商盲目跟风,忽视软实力</a></li> <li><em>7</em><a href="/kejifunen/371242.html" title="可穿戴设备!你有自己的信息" target="_blank">可穿戴设备!你有自己的信息</a></li> <li><em>8</em><a href="/kejifunen/371230.html" title="LV高管!瑞士奢侈手表行业将受益于智能手表的繁荣" target="_blank">LV高管!瑞士奢侈手表行业将受益于智能手表的繁荣</a></li> <li><em>9</em><a href="/kejifunen/371227.html" title="致力于可穿戴设备的续航能力,下一代电池会取代锂电池吗? " target="_blank">致力于可穿戴设备的续航能力,下一代电池会取代锂电池吗? </a></li> <li><em>10</em><a href="/kejifunen/371224.html" title="雷军透露,小米手环2的图片已于5月10日发布" target="_blank">雷军透露,小米手环2的图片已于5月10日发布</a></li> <li><em>11</em><a href="/kejifunen/371219.html" title="iPhone XS上市不温不火的背后,国产高性价比手机备受追" target="_blank">iPhone XS上市不温不火的背后,国产高性价比手机备受追</a></li> <li><em>12</em><a href="/kejifunen/371218.html" title="手机照片盲评:哪张照片最适合你的选择? " target="_blank">手机照片盲评:哪张照片最适合你的选择? </a></li> <li><em>13</em><a href="/kejifunen/371215.html" title="全面评测399元华为荣耀手环零!你不知道的偏执" target="_blank">全面评测399元华为荣耀手环零!你不知道的偏执</a></li> <li><em>14</em><a href="/kejifunen/371211.html" title="被小猪佩奇祝福的社会人都out了,据说这群新社会人比较受欢迎" target="_blank">被小猪佩奇祝福的社会人都out了,据说这群新社会人比较受欢迎</a></li> <li><em>15</em><a href="/kejifunen/371210.html" title="除了小龙虾,世界杯还有这些值得关注的技术" target="_blank">除了小龙虾,世界杯还有这些值得关注的技术</a></li> <li><em>16</em><a href="/kejifunen/371200.html" title="谷歌的硬件一直广受好评,但并不受欢迎,推出两款智能手表的底气" target="_blank">谷歌的硬件一直广受好评,但并不受欢迎,推出两款智能手表的底气</a></li> <li><em>17</em><a href="/kejifunen/371192.html" title="什么能让你摆脱“随机无蛋”的可穿戴产品? " target="_blank">什么能让你摆脱“随机无蛋”的可穿戴产品? </a></li> <li><em>18</em><a href="/kejifunen/371182.html" title="林林的爆料!可穿戴设备的实用性还不够" target="_blank">林林的爆料!可穿戴设备的实用性还不够</a></li> <li><em>19</em><a href="/kejifunen/371172.html" title="微软HoloLens眼镜!打破虚拟与现实的界限" target="_blank">微软HoloLens眼镜!打破虚拟与现实的界限</a></li> <li><em>20</em><a href="/kejifunen/371171.html" title="高通推出Snapdragon Wear 2500,增加在可穿" target="_blank">高通推出Snapdragon Wear 2500,增加在可穿</a></li> </ul> </div> </div> </div> </div> <div class="related_article"></div> <div class="footer"> <p>Copyright © 2012-2022 程序源 版权所有<a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">豫ICP备2022028201号</a></p> <p>重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。 如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。</p> </div> <!-- 应用插件标签 start --> <!-- 应用插件标签 end --> </body> </html>