Code example for writing Excel using front-end JavaScript
The content of this article is about code examples for writing Excel in front-end JavaScript. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.
How to write excel on the front end is actually relatively simple, but I haven’t touched this part. Of course, what I’m talking about here is just a simple introduction.
Here we mainly talk about two methods, one is to support mainstream browsers, and the other is to support Ie browser
Mainstream browsers
Here we mainly use the data protocol, through The data protocol parses the Contenttype of excel (application/vnd.ms-excel)
So the format here is 'data: Content-type; content'
The content format of excel has a template as follows:
<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"> <head> <meta charset="UTF-8"><!--[if gte mso 9]> <xml> <x:ExcelWorkbook> <x:ExcelWorksheets> <x:ExcelWorksheet> <x:Name>sheet</x:Name> <x:WorksheetOptions> <x:DisplayGridlines/> </x:WorksheetOptions> </x:ExcelWorksheet> </x:ExcelWorksheets> </x:ExcelWorkbook></xml> </head> <body> {tableData} </body> </html>
Then just create it based on the above template. The following is how to directly export excel
(function() { var template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="UTF-8"><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>sheet</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>{tableData}</body></html>' var Excel_URL = 'data:application/vnd.ms-excel;base64,' var Excel = { ToExcel: function (data) { var isIe = window.navigator.userAgent.toLocaleUpperCase().indexOf('trident') if (isIe !== -1) { this._IEExport(data) } else { this._otherExport(data) } }, _otherExport: function (data) { var content = '' if (typeof data === 'string') { // 传入id,获取table的内容 var ele = document.querySelector(data) content = template.replace('{tableData}', ele.outerHTML) } // else可以做更多操作 var aEle = document.createElement('a') aEle.href = Excel_URL + window.btoa(unescape(encodeURIComponent(content))) aEle.download = '测试.xls' aEle.click() } } window.Excel = Excel })()
IE browser
It is mainly implemented using ActiveXObject under IE: see for details The following code
(function() { var template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><meta charset="UTF-8"><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>sheet</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>{tableData}</body></html>' var Excel_URL = 'data:application/vnd.ms-excel;base64,' var Excel = { ToExcel: function (data) { var isIe = window.navigator.userAgent.toLocaleUpperCase().indexOf('trident') if (isIe !== -1) { this._IEExport(data) } else { this._otherExport(data) } }, _IEExport: function (data) { // 打开excel var oXL = new ActiveXObject('Excel:Application') // 新建工作博 var oWB = oXL.WorkBooks.Add() // 激活新建工作博 var oSheet = oWB.ActiveSheet if (typeof data === 'string') { // table id var table = document.querySelector(data) // 创建一个装内容的容器 var sel = document.body.createTextRange() // 将table中的内容移入容器 sel.moveToElementText(table) // 选中移入的内容 try { console.log(sel.select) sel.select() } catch (e) { console.log(e) } // 复制容器中的内容 sel.execCommand("Copy") // 黏贴到excel工作簿中 oSheet.Paste() } // 关掉Excel var filename = oXL.Application.GetSaveAsFilename('test.xls', 'Excel Spreadsheet (*.xls),*.xls') // 保存工作簿 oWB.SaveAs(filename) oWB.close() oXL.quit() } } window.Excel = Excel })()
I have just learned here. To make a good excel, you still need to have a deeper understanding of the API.
This article has ended here, and there are more exciting things. For content, you can pay attention to the JavaScript Video Tutorial column on the PHP Chinese website!
The above is the detailed content of Code example for writing Excel using front-end JavaScript. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Guide to Table Border in HTML. Here we discuss multiple ways for defining table-border with examples of the Table Border in HTML.

Guide to HTML margin-left. Here we discuss a brief overview on HTML margin-left and its Examples along with its Code Implementation.

This is a guide to Nested Table in HTML. Here we discuss how to create a table within the table along with the respective examples.

Guide to HTML Table Layout. Here we discuss the Values of HTML Table Layout along with the examples and outputs n detail.

Guide to HTML Input Placeholder. Here we discuss the Examples of HTML Input Placeholder along with the codes and outputs.

Guide to the HTML Ordered List. Here we also discuss introduction of HTML Ordered list and types along with their example respectively

Guide to Moving Text in HTML. Here we discuss an introduction, how marquee tag work with syntax and examples to implement.

Guide to HTML onclick Button. Here we discuss their introduction, working, examples and onclick Event in various events respectively.
