日韩高清亚洲日韩精品一区二区三区,成熟人妻av无码专区,国产又A又黄又潮娇喘视频,男女猛烈无遮挡免费视频在线观看

純前端表格控件SpreadJS 中導(dǎo)入導(dǎo)出規(guī)范以及常見(jiàn)錯(cuò)誤解決辦法(前端數(shù)據(jù)導(dǎo)出為excel)

前言 | 問(wèn)題背景

SpreadJS表格控件有著很強(qiáng)大的純前端的導(dǎo)入導(dǎo)出功能,可以直接在純前端導(dǎo)入導(dǎo)出Excel,通過(guò)擴(kuò)展還可以實(shí)現(xiàn)服務(wù)器端導(dǎo)入導(dǎo)出。是用戶(hù)最常使用的功能之一。

使用規(guī)范

JS文件的引入

導(dǎo)入導(dǎo)出功能需要在引入SpreadJS基本JS文件的基礎(chǔ)上額外引入兩個(gè)文件:

  • gc.spread.excelio.xx.x.x.min.js(必選)
  • FileSaver.js(可選)

1、 gc.spread.excelio.xx.x.x.min.js是導(dǎo)入導(dǎo)出的核心文件,里面包含了導(dǎo)出導(dǎo)出的邏輯,將用戶(hù)提供的表格序列化ssjson文件轉(zhuǎn)換成Excel類(lèi)型(前端對(duì)應(yīng)為application/zip)的一個(gè)blob二進(jìn)制對(duì)象。這里注意因?yàn)镋xcel本身是一個(gè)壓縮格式,所以轉(zhuǎn)換的對(duì)象類(lèi)型對(duì)應(yīng)為application/zip,如果需要轉(zhuǎn)換為其他形式,請(qǐng)自行處理,例如將該對(duì)象base64編碼后轉(zhuǎn)換為字符串或者流等。

2、 FileSaver.js是第三方開(kāi)源的一個(gè)js組件,用戶(hù)做前端文件下載保存的功能。故而不是必須的,也可以自己處理相關(guān)操作或者用其他的類(lèi)型功能組件進(jìn)行替換。這里注意的是如果需要導(dǎo)出至服務(wù)器端,那么不需要引入此js文件??梢灾苯訉lob對(duì)象通過(guò)請(qǐng)求發(fā)至服務(wù)器端并在服務(wù)器端保存成Excel格式的文件即可。

瀏覽器支持

SpreadJS本身使用了html5的canvas技術(shù),所以瀏覽器支持必須是支持html5的瀏覽器,例如:chrome,firefox,IE9以上等。

而導(dǎo)入導(dǎo)出功能按照上面所說(shuō)如果要使用filesaver來(lái)做前端下載,那么IE瀏覽器需要10以上的版本才能支持FileSaver.js,這里跟SpreadJS本身的瀏覽器支持有些出入。

授權(quán)方式

如果是一般的html js css這樣的web應(yīng)用開(kāi)發(fā),導(dǎo)入導(dǎo)出組件不需要授權(quán)。只需要對(duì)SpreadJS進(jìn)行授權(quán)即可。

如果是typescript開(kāi)發(fā)常見(jiàn)于:angular,react,vue等框架使用,需要對(duì)導(dǎo)入導(dǎo)出組件(ExcelIO)進(jìn)行單獨(dú)授權(quán),像這樣:

GC.Spread.Sheets.LicenseKey = Excel.LicenseKey = \”yourkey\”;

常見(jiàn)問(wèn)題解決辦法

由于我們示例代碼中導(dǎo)入導(dǎo)出部分加入了try catch的異常捕獲,這樣會(huì)導(dǎo)致異常很難定位,這里列出常見(jiàn)可能會(huì)出問(wèn)題的情況:

  1. 導(dǎo)入時(shí)Excel文件是否為xlsx格式,SpreadJS支持的導(dǎo)入格式必須為xlsx格式
  2. FileSaver.js文件是否引用(這里有個(gè)前提,需要做純前端導(dǎo)出,并且使用的是我們官網(wǎng)例子中的方式)
  3. 如果使用了FileSaver請(qǐng)注意瀏覽器的支持范圍(參考上面第二點(diǎn)瀏覽器支持)
  4. 如果是框架開(kāi)發(fā),是否對(duì)ExcelIO組件進(jìn)行授權(quán)(參考上面第三點(diǎn)授權(quán)方式中的描述)

如果上述仍然沒(méi)有排查出問(wèn)題,可以將try catch的異常捕獲去掉來(lái)定位原因。如果還是無(wú)法排查問(wèn)題,可以像我們求助處理,一起討論。

關(guān)于葡萄城

賦能開(kāi)發(fā)者!葡萄城公司成立于 1980 年,是全球領(lǐng)先的集開(kāi)發(fā)工具、商業(yè)智能解決方案、管理系統(tǒng)設(shè)計(jì)工具于一身的軟件和服務(wù)提供商。西安葡萄城是其在中國(guó)的分支機(jī)構(gòu),面向全球市場(chǎng)提供軟件研發(fā)服務(wù),并為中國(guó)企業(yè)的信息化提供國(guó)際先進(jìn)的開(kāi)發(fā)工具、軟件和研發(fā)咨詢(xún)服務(wù)。葡萄城的控件和軟件產(chǎn)品在國(guó)內(nèi)外屢獲殊榮,在全球被數(shù)十萬(wàn)家企業(yè)、學(xué)校和政府機(jī)構(gòu)廣泛應(yīng)用。

相關(guān)新聞

聯(lián)系我們
聯(lián)系我們
公眾號(hào)
公眾號(hào)
在線咨詢(xún)
分享本頁(yè)
返回頂部