|
|
拉风的勺子 · Python比较两张图片的亮度、对比度、饱和 ...· 1 年前 · |
|
|
坚韧的竹笋 · FFmpeg命令行实现两路/多路视频拼接 ...· 1 年前 · |
|
|
爽快的小蝌蚪 · json - Could not find ...· 2 年前 · |
|
|
睡不着的毛衣 · 克里金插值详细步骤_ArcGIS反权重(ID ...· 2 年前 · |
|
|
高大的柚子 · 安装 ActiveState ...· 2 年前 · |
|
|
帅气的小蝌蚪
2 年前 |
将table标签,包括tr、td等对json数据进行拼接,将table输出到表格上实现,这种方法的弊端在于输出的是伪excel,虽说生成xls为后缀的文件,但文件形式上还是html,代码如下
< p style = " font-size : 20px ; color : red ; " > 使用table标签方式将json导出xls文件 </ p > < button onclick = ' tableToExcel ( ) ' > 导出 </ button > </ head > < script > function tableToExcel ( ) { //要导出的json数据 const jsonData = [ name : '路人甲' , phone : '123456' , email : '123@123456.com' name : '炮灰乙' , phone : '123456' , email : '123@123456.com' name : '土匪丙' , phone : '123456' , email : '123@123456.com' name : '流氓丁' , phone : '123456' , email : '123@123456.com' //列标题 let str = '<tr><td>姓名</td><td>电话</td><td>邮箱</td></tr>' ; //循环遍历,每行加入tr标签,每个单元格加td标签 for ( let i = 0 ; i < jsonData . length ; i ++ ) { str += '<tr>' ; for ( let item in jsonData [ i ] ) { //增加\t为了不让表格显示科学计数法或者其他格式 str += ` <td> ${ jsonData [ i ] [ item ] + '\t' } </td> ` ; str += '</tr>' ; //Worksheet名 let worksheet = 'Sheet1' let uri = 'data:application/vnd.ms-excel;base64,' ; //下载的表格模板数据 let 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><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet> <x:Name> ${ worksheet } </x:Name> <x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet> </x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--> </head><body><table> ${ str } </table></body></html> ` ; //下载模板 window . location . href = uri + base64 ( template ) //输出base64编码 function base64 ( s ) { return window . btoa ( unescape ( encodeURIComponent ( s ) ) ) } </ script > </ body > </ html >通过将json遍历进行字符串拼接,将字符串输出到csv文件,代码如下
< p style = " font-size : 20px ; color : red ; " > 使用a标签方式将json导出csv文件 </ p > < button onclick = ' tableToExcel ( ) ' > 导出 </ button > </ head > < script > function tableToExcel ( ) { //要导出的json数据 const jsonData = [ name : '路人甲' , phone : '123456789' , email : '000@123456.com' name : '炮灰乙' , phone : '123456789' , email : '000@123456.com' name : '土匪丙' , phone : '123456789' , email : '000@123456.com' name : '流氓丁' , phone : '123456789' , email : '000@123456.com' //列标题,逗号隔开,每一个逗号就是隔开一个单元格 let str = ` 姓名,电话,邮箱\n ` ; //增加\t为了不让表格显示科学计数法或者其他格式 for ( let i = 0 ; i < jsonData . length ; i ++ ) { for ( let item in jsonData [ i ] ) { str += ` ${ jsonData [ i ] [ item ] + '\t' } , ` ; str += '\n' ; //encodeURIComponent解决中文乱码 let uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent ( str ) ; //通过创建a标签实现 let link = document . createElement ( "a" ) ; link . href = uri ; //对下载的文件命名 link . download = "json数据表.csv" ; document . body . appendChild ( link ) ; link . click ( ) ; document . body . removeChild ( link ) ; </ script > </ body > </ html >
vue、vue 所有图标属性、vue Icon 所有图标属性、vue 图标所有类型属性、vue 自定义图标 Icon属性
初学者学徒:
哎,我一猜就是框架里面的东西