整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          如何使用 JavaScript 實現前端導入和導出 excel 文件

          、SpreadJS 簡介

          SpreadJS 是一款基于 HTML5 的純 JavaScript 電子表格和網格功能控件,以“高速低耗、純前端、零依賴”為產品特色,可嵌入任何操作系統,同時滿足 .NET、Java、響應式 Web 應用及移動跨平臺的表格數據處理和類 Excel 的表格應用開發,為終端用戶帶來親切的 Excel 體驗。

          本文將以 xlsx 文件格式為例,展示如何使用 SpreadJS 實現前端導入和導出excel文件。

          • SpreadJS 官網
          • 本文在線Demo示例
          • 導入導出Excel視頻演示

          1. 主要功能

          a. 功能、UI 與 Excel 高度類似

          b. 兼容 450 種以上的 Excel 公式

          c. 符合 UMD 規范,可按需加載

          d. 完善的數據可視化,支持形狀、圖表、迷你圖

          e. 純前端導入、導出 Excel 文件

          f. 使用 HTML5 圖形(Canvas)繪制界面,具備高性能和響應速度

          2. 安裝包目錄結構

          ├── Spread.Sheets SpreadJS產品包

          │ └── Designer SpreadJS 表格設計器

          │ ├── Spread.Sheets-Designer.12.0.0.AppImage [Mac]

          │ ├── Spread.Sheets-Designer.12.0.0.dmg [Linux]

          │ └── Spread.Sheets-Designer.12.0.0 [Windows]

          │ └── Spread.Sheets.Docs.12.0.0 SpreadJS 表格接口文檔

          │ ├── content

          │ └── index

          │ └── Spread.Sheets.Release.12.0.0 SpreadJS 表格 JavaScript 庫/演示用例

          │ ├── css 樣式文件

          │ ├── definition TS 引用文件

          │ ├── readme

          │ ├── samples 示例代碼(包括原生JS,Angular,Vue,React)

          │ ├── scripts JS文件

          │ ├── GrapeCity-EULA

          │ └── LICENSE

          3. 如何使用

          a. Spread.Sheets不依賴任何第三方組件。它只需要引用下列文件:

          gc.spread.sheets.xx.x.x.css,gc.spread.sheets.all.xx.x.x.min.js。

          <link rel="styleSheet" href="gc.spread.sheets.xx.x.x.css" />

          <script src="gc.spread.sheets.all.xx.x.x.min.js" type="text/javascript"></script>

          <script src="gc.spread.sheets.resources.zh.xx.x.x.min.js" type="text/javascript"></script>

          b. 在頁面的body元素中添加一個DOM元素作為它的容器。

          <div id="ss" style="width:100%; height:360px;border: 1px solid gray;"></div>

          c. 用代碼“new GC.Spread.Sheets.Workbook(document.getElementById('ss'), { sheetCount: 1 })”來初始化Spread。

          window.onload = function () {

          var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'), { sheetCount: 1 });

          };

          d. 初始化 SpreadJS 在線示例

          二、前端導入導出Excel

          實現前端導入導出只需要引入 gc.spread.excelio 庫,使用 excelIO.open 和 excelIO.save 兩個方法即可,不需要配置任何選項,代碼十分簡潔易懂。

          具體步驟如下:

          前端導入導出支持將 Spread json 導出為excel文件(.xlsx)和將 excel 文件導入為 Spread json.

          • 使用前端導入導出, 你需要將相關的js文件添加的 document 的 head 區域。例如:

          <head>

          ...

          <script src='.../spreadjs/gc.spread.sheets.all.x.xx.xxxxx.x.min.js' type='text/javascript'></script>

          <script src='.../spreadjs/plugins/gc.spread.excelio.x.xx.xxxxx.x.min.js' type='text/javascript'></script>

          </head>

          • 初始化 Workbook 實例和 ExcelIO 實例:

          var spread = new GC.Spread.Sheets.Workbook(document.getElementById('ss'));

          var excelIo = new GC.Spread.Excel.IO();

          • 接下來你就可以使用 open 方法將 excel 文件導入為 spread json,使用 save 方法將 spread json 導出為excel文件。例如:

          //import excel file to Spread.Sheets json

          excelIo.open(excelFile, function (json) {

          var workbookObj = json;

          workbook.fromJSON(workbookObj);

          }, function (e) {

          // process error

          console.log(e);

          });

          //export Spread.Sheets json to excel file

          excelio.save(json, function (blob) {

          //do whatever you want with blob

          //such as you can save it

          }, function (e) {

          //process error

          console.log(e);

          });

          • 同時,你還可打開或保存一個帶有密碼保護的 excel 文件,只需要在 open 和 save 方法中傳入參數 options{password:xxxx} 即可。例如:

          //import excel file to Spread.Sheets json

          excelIo.open(excelFile, function (json) {

          var workbookObj = json;

          workbook.fromJSON(workbookObj);

          }, function (e) {

          // process error

          console.log(e);

          },{password:xxxx});

          //export Spread.Sheets json to excel file

          excelio.save(json, function (blob) {

          //do whatever you want with blob

          //such as you can save it

          }, function (e) {

          //process error

          console.log(e);

          },{password:xxxx});

          • 前端導入導出 Excel 的示例源碼及數據源下載:
          1. 示例源碼:ExcelIO.html
          2. 數據源文件:excel_data.js

          三、處理單元格合并

          一般來說,前端生成 excel 而不是 csv,其最主要的原因都是為了解決 csv 不能實現單元格合并的問題,假設我們要生成帶有單元格格式的 Excel 文件,也可以通過 SpreadJS 內置屬性實現:

          • 調用 addSpan 方法來合并指定區域的單元格, 以此來構建一個新的更大的單元格, 參見以下示例代碼:

          // Merge cells and set label

          sheet.addSpan(1, 4, 1, 7);

          sheet.setValue(1, 4, "Goods");

          // Merge cells across multi rows (3) and columns (4)

          sheet.addSpan(20, 1, 3, 4);

          sheet.getCell(20, 1).value("Demo").hAlign.vAlign;

          • 調用 removeSpan 方法來分解指定包含合并的單元格:

          sheet.removeSpan(20, 1);

          Workbook的 allowUserDragMerge 選項表明是否允許通過鼠標拖拽來合并單元格。把 allowUserDragMerge 改為 true,在選擇區域邊緣處會出現一個特殊的標記。

          // default value is false

          spread.options.allowUserDragMerge = true;

          備注: 確定你要展現在合并單元格中的信息在合并前處于合并區域的最左上單元格, 合并單元格中的其他單元格信息將被隱藏, 直到合并信息被分解(與 Excel 相同)。

          處理單元格合并的示例源碼及數據源下載:cellSpan.html

          四、自定義 Excel 的文件樣式

          Spread.Sheets 提供一個樣式的類, 其中包含很多可配置屬性, 如前景色、背景色等。

          • 你可以通過這些屬性,構造一個樣式并設置不同的參數, 示例代碼如下:

          var style = new GC.Spread.Sheets.Style();

          style.backColor = 'red';

          style.foreColor = 'green';

          style.isVerticalText = 'true';

          • 同樣,你也可以將此樣式設置給單元格, 行, 或者列:

          //set style to cell.

          sheet.setStyle(5, 5, style, GC.Spread.Sheets.SheetArea.viewport);

          //set style to row.

          sheet.setStyle(5, -1, style, GC.Spread.Sheets.SheetArea.viewport);

          //set style to column.

          sheet.setStyle(-1, 5, style, GC.Spread.Sheets.SheetArea.viewport);

          樣式在不同的層級結構中具有不同的優先級別: 單元格 > 行 > 列。

          Spread.Sheets 支持給樣式設置一個名稱, 并將這個命名過的樣式加入到表單的名稱樣式集合中。這樣讓樣式的使用和管理更方便。

          • 你可以構造一個名稱樣式, 并將此樣式添加到表單或者 Spread 控件的名稱樣式集合中,如:

          var style = new GC.Spread.Sheets.Style();

          style.name = 'style1';

          style.backColor = 'red';

          //add to sheet's named style collection.

          sheet.addNamedStyle(style);

          //add to spread's named style collection.

          spread.addNamedStyle(style)

          • 當名稱樣式添加到表單名稱樣式集合中后, 可以通過樣式的名稱找到它:

          sheet.getNamedStyle('style1');

          spread.getNamedStyle('style1')

          • 如果名稱樣式不再使用, 你也可以將其從名稱集合中刪除掉:

          sheet.removeNamedStyle('style1');

          spread.removeNamedStyle('style1')

          自定義Excel文件樣式的示例源碼:style.html

          五、數據綁定

          Spread.Sheets 支持綁定數據源到表單(綁定類型有表單級別綁定和單元格級別綁定兩種。)

          • 你可以使用 setDataSourcegetDataSource 方法來設置獲取數據源。 在設置數據源之前, 你可以使用 autoGenerateColumns 方法來控制是否自動生成綁定列。 例如:

          var customers = [

          { ID:0, Name:'A', Info1:'Info0' },

          { ID:1, Name:'B', Info1:'Info1' },

          { ID:2, Name:'C', Info1:'Info2' },

          ];

          sheet.autoGenerateColumns = true;

          sheet.setDataSource(customers);

          你也可以使用 getDataItem 方法來獲取指定行的數據信息。

          • 你按照如下方式將數據字段綁定到指定的列:

          var datasource = [

          { name: 'Alice', age: 27, birthday: '1985/08/31', position: 'PM' }

          ];

          // bindColumn one by one

          var nameColInfo = { name: 'name', displayName: 'Display Name', size: 70 };

          var ageColInfo = { name: 'age', displayName: 'Age', size: 40, resizable: false };

          var birthdayColInfo = { name: 'birthday', displayName: 'Birthday', formatter: 'd/M/yy', size: 120 };

          var positionColInfo = { name: 'position', displayName: 'Position', size: 50, visible: false };

          sheet.autoGenerateColumns = false;

          sheet.setDataSource(datasource);

          sheet.bindColumn(0, nameColInfo);

          sheet.bindColumn(1, birthdayColInfo);

          sheet.bindColumn(2, ageColInfo);

          sheet.bindColumn(3, positionColInfo);

          // or use bindColumns to bind all custom columns

          var colInfos = [

          { name: 'position', displayName: 'Position', size: 50, visible: false },

          { name: 'name', displayName: 'Display Name', size: 70 },

          { name: 'birthday', displayName: 'Birthday', formatter: 'd/M/yy', size: 120 },

          { name: 'age', displayName: 'Age', size: 40, resizable: false },

          ];

          sheet.autoGenerateColumns = false;

          sheet.setDataSource(datasource);

          sheet.bindColumns(colInfos);

          數據綁定的示例源碼:sheetLevelBinding.html

          以上就是使用 SpreadJS,實現前端導入和導出 excel 文件的具體步驟和示例代碼,其他如 Excel 公式、圖表、條件格式、JSON 序列化與反序列化、狀態欄等功能,可以在 SpreadJS 官網了解更多。

          點擊了解更多可查看本文在線 DEMO 示例。

          關于葡萄城

          賦能開發者!葡萄城公司成立于 1980 年,是全球領先的集開發工具、商業智能解決方案、管理系統設計工具于一身的軟件和服務提供商。西安葡萄城是其在中國的分支機構,面向全球市場提供軟件研發服務,并為中國企業的信息化提供國際先進的開發工具、軟件和研發咨詢服務。葡萄城的控件和軟件產品在國內外屢獲殊榮,在全球被數十萬家企業、學校和政府機構廣泛應用

          們通常會將文件保存為Word文檔格式,但有時將它們轉換為Excel格式可能會更加合適。例如,當我們需要在Excel中分析和處理數據時,將Word文檔轉換為Excel表格可以使操作更加方便。下面將介紹如何將Word文檔轉換為Excel表格。

          word如何轉為excel

          方法一:風云PDF轉換器

          下載并安裝風云PDF轉換器后,可以在軟件界面找到“文件轉PDF”功能。點擊該功能后,用戶可以將需要轉換的Word文檔拖放到風云PDF轉換器中。。

          風云PDF轉換器能夠智能識別并讀取文檔格式,然后用戶可以直接點擊“開始轉換”按鈕,將Word文檔轉換為PDF文件。完成轉換后,用戶可以在風云PDF轉換器的首頁找到“PDF轉文件”功能,并選擇“Excel”作為輸出格式,將PDF文件轉換為Excel表格。

          通過這種方法,用戶可以輕松地將Word文檔轉換為Excel表格,提高數據分析和處理的效率

          方法二:好易PDF轉換器

          好易PDF轉換器是一款高效、全能的PDF文檔處理工具,支持多種常用辦公文件格式的自由轉換,包括PDF、Word、Excel、ppt、TXT、HTML等。這款軟件能夠完全滿足日常辦公和學習需求,讓您更加便捷地處理各種文檔格式的轉換。軟件體積小巧,啟動速度快,無需過多的系統資源,讓您隨時隨地享受文檔轉換的便捷。

          好易PDF轉換器具有一鍵轉換功能,可實現多種文檔格式之間的輕松轉換,讓您輕松將文檔轉換為PDF格式,或將PDF格式轉換成其他格式的文檔。此外,該軟件還具有高質量的文檔處理技術,可以確保在轉換過程中保持原始文檔的格式和排版,最大程度地減少文檔內容的損失。總之,好易PDF轉換器是一款必備的文檔處理工具,讓您更加高效地處理各種文檔格式的轉換需求,提高工作效率。

          方法三:復制黏貼

          首先我們需要打開Word文檔并選擇要轉換的部分或全部內容。然后,可以右鍵單擊選定的內容并選擇“復制”或使用快捷鍵“Ctrl+C”復制所選內容。

          接下來打開Excel應用程序或電子表格軟件,并創建一個新的工作簿或工作表。然后,可以右鍵單擊新工作簿或工作表中的任何位置,并選擇“粘貼”或使用快捷鍵“Ctrl+V”將復制的內容粘貼到Excel中。

          好了,以上就是三種word怎么轉excel的方法,有需要的小伙伴快來試試吧。

          家的在工作和學習中經常會大量用到Word、Excel,Excel表格經常用于數據統計,這期給大家講解一下網頁中的表格如何導入到Excel表格里,下面快來和小編一起學習吧!

          首先,把需要導入的網頁的鏈接復制一下(注:小編選擇的是“HTML 特殊符號編碼對照表”進行的數據導入操作,大家可以根據自己的需要去粘貼復制要導入的數據的鏈接。),在新建的Excel表格里點擊空白處找到“數據”→“新建查詢”即可;(注:“新建查詢”在WPS Office無此功能)如圖所示:

          在菜單欄中點擊“新建查詢”按鈕,在下拉欄中選擇并點擊“從其他源(O)”→“從Web(W)”即可;如圖所示:

          在彈出的“從Web”界面中,將想要導入的表格鏈接輸入到“URL”下的文本框中,確認無誤后點擊“確定”即可;如圖所示:

          在彈出的“導航器”界面中,選擇“HTML 特殊符號編碼對照表”點擊下方的“加載”即可;如圖所示:

          以上是如何將網頁內的表格導入到Excel里的操作步驟及全部講解的過程,完成后的效果圖如下圖所示。希望這期的經驗能對大家有所幫助!我是@僾伱驟記得關注我給小編我點贊哦!!!


          主站蜘蛛池模板: 无码少妇一区二区性色AV| 国产成人高清精品一区二区三区| 国产精品成人一区二区三区| 亚洲日本一区二区三区在线| 国产精品一区二区无线| 无码精品一区二区三区免费视频| 国产精品伦子一区二区三区 | 国产产一区二区三区久久毛片国语| 日本大香伊一区二区三区| 一级特黄性色生活片一区二区| 成人欧美一区二区三区在线视频| 老熟妇仑乱一区二区视頻| 精品无人区一区二区三区| 久久精品免费一区二区三区 | 久久久国产精品亚洲一区| 久久中文字幕一区二区| 中文字幕一区二区人妻性色| 精品福利一区二区三区精品国产第一国产综合精品| 亚洲一区二区三区乱码在线欧洲| 色婷婷一区二区三区四区成人网| 99久久精品国产高清一区二区| 精品国产AⅤ一区二区三区4区 | 国产福利电影一区二区三区久久久久成人精品综合 | 亚洲国产一区二区三区在线观看| 韩国美女vip福利一区| 中文字幕精品一区二区日本| 亚洲区精品久久一区二区三区| 91在线视频一区| 亚洲一区二区三区在线观看网站| 一区二区亚洲精品精华液| 成人免费一区二区无码视频 | 无码AⅤ精品一区二区三区| 国产高清精品一区| 亚洲综合无码AV一区二区| 无码人妻AV免费一区二区三区| 亚洲国产视频一区| 濑亚美莉在线视频一区| 日本一区二区三区在线观看视频| 国产一区二区三区播放心情潘金莲 | 日韩人妻无码一区二区三区| 亚洲AV本道一区二区三区四区|