表格导出excel插件(前端导出excel插件)

Exce表格网 2023-01-02 07:55 编辑:admin 128阅读

1. 前端导出excel插件

GET请求和POST请求要看情况而定

GET请求方式是比较简单的,简单的处理前端只需要通过一个a标签就能实现导出或下载。

但是使用GET请求的需要考虑:

检索条件多不多,其次就是如果检索条件拼接在请求URL上会不会超过请求URL的最大长度。如果请求URL的长度超过浏览器的限制长度,浏览器将会将请求自动截断。

GET请求适用于导出所有数据或者是有个把检索条件并且检索条件长度不是特别长的。总之简单导出使用GET请求还是很香的!

POST请求的方式做导出比较的麻烦,需要前后端配合来使用,为了确保更好的用户体验(在用户点击导出或下载后,可以看到文件的下载进度),通过流的方式来实现导出或下载。

后端将处理好的数据存储在Excel表格中,读取Excel表格,以流的方式响应给前端;

前端通过Blob类型接收,通过window.URL.createObjectURL()创建源路径,使用document文档对象创建一个a标签;为a标签添加href属性和值(值就是源路径),为a标签设置download属性和值(值就是被下载的文件名),将指定a标签节点加到document.body的末尾,最后为a标签设置一个自触发的点击事件。

POST请求最适用于检索条件多的场景

2. 前后端导出excel

电脑中,打开一个浏览器,进入腾讯文档首页。

2、点击要导出到本地的文档打开。

3、点击菜单栏“文件”。

4、点击“导出为——本地excel表格”。

5、选择要存储的位置后,点击“下载”即可。

6、导出腾讯在线文档中的word也是一样的在腾讯在线文档中打开word,点击“文件——导出为——本地word文档”,选择存储路径,点击下载即可。

3. 前端导入导出excel

  想在显示窗体的时候窗体一直在EXCEL表格的最前面,那么在显示窗体的语句处使用有模的方式打开,就是在show后面加个1:例如:sub auto_open()formname.show 1end sub 如果是fromname.show 0 或者formname.show则窗体不会强制在最前面 如果想只显示窗体,EXCEL隐藏,则可通过下面语句可以设置EXCEL为不可见,只显示窗体:private sub From_Load()application.visible=falseend sub

4. 后端导出excel

背景

在学习微信小程序的过程中,需要导出excel文件数据,可是却没有后台服务器,所以只能够想着使用纯前端去导出excel

使用插件:excel-export

导出思想

将数据封装成excel文件

将excel文件上传到云存储中

将云存储的excel文件以图片的格式下载到本地

修改图片文件后缀为xlsx,成为excel文件

操作

将数据封装成excel文件;将excel文件上传到云存储中

建立云函数(我的云函数名称:uploadexportfile),打开云函数终端,安装excel-export插件

// 云函数入口文件

const cloud = require('wx-server-sdk')

const nodeExcel = require('excel-export');

const path = require('path');

cloud.init()

// 云函数入口函数

exports.main = async (event, context) => {

var tableMap = {

styleXmlFile:path.join(__dirname,"styles.xml"),

name: Date.now()+"-export",

cols: [],

rows: [],

}

var tableHead = ["编号", "名称", "生日", "年龄"];

//添加表头

for(var i=0;i<tableHead.length;i++){

tableMap.cols[tableMap.cols.length]={

caption:tableHead[i],

type:'string'

}

}

//表体:伪数据

const tableList = [

{编号:0,名称:'张三',生日:'2019-5-1',年龄:20},

{编号:1,名称:'李四',生日:'2019-5-1',年龄:45}

]

//添加每一行数据

for(var i=0;i<tableList.length;i++){

tableMap.rows[tableMap.rows.length]=[

tableList[i].编号,

tableList[i].名称,

tableList[i].生日,

tableList[i].年龄

]

}

//保存excelResult到相应位置

var excelResult = nodeExcel.execute(tableMap);

var filePath = "outputExcels";

var fileName = cloud.getWXContext().OPENID + "-" + Date.now()/1000 + '.xlsx';

//图片上传到云存储

return await cloud.uploadFile({

cloudPath: path.join(filePath, fileName),

fileContent: new Buffer(excelResult,'binary')

}).then(res=>{

console.log(res.fileID);

return res;

}).catch(err=>{

});

}

DOWNLOAD

//导出excel

function exportFile(dataHeader,dataList){

wx.showLoading({

title: '正在导出',

});

console.log(dataHeader);

console.log(dataList);

wx.cloud.callFunction({

name:'uploadexportfile',

data:{

dataHeader:dataHeader,

dataList:dataList

}

}).then(res=>{

const fileID = res.result.fileID;

//下载文件

wx.cloud.downloadFile({

fileID: fileID

}).then(res1 => {

this.saveFileToPhotosAlbum(res1);//保存文件到相册

this.delCloudFile(fileID);//删除云存储文件

}).catch(error => {

// handle error

})

}).catch(err1=>{

});

}

//保存文件到本地相册

function saveFileToPhotosAlbum(res){

//授权

this.writePhotosAlbumAuth();

// 保存文件

var saveTempPath = wx.env.USER_DATA_PATH + "/exportFile"+new Date().getTime()+".jpg";

wx.saveFile({

tempFilePath: res.tempFilePath,

filePath: saveTempPath ,

success:res1=> {

//获取了相册的访问权限,使用 wx.saveImageToPhotosAlbum 将图片保存到相册中

wx.saveImageToPhotosAlbum({

filePath: saveTempPath ,

success: res2 => {

//保存成功弹出提示,告知一下用户

wx.hideLoading();

wx.showModal({

title: '文件已保存到手机相册',

content: '文件位于tencent/MicroMsg/WeiXin下 \r\n将保存的文件重命名改为[ .xlsx ]后缀即可正常打开',

confirmColor: '#0bc183',

confirmText: '知道了',

showCancel: false

});

},

fail(err2) {

console.log(err2)

}

})

}

});

}

//删除云存储文件

function delCloudFile(fileID){

const fileIDs=[];

fileIDs.push(fileID);

//删除云存储中的excel文件

wx.cloud.deleteFile({

fileList: fileIDs,

success: res4 => {

// handle success

console.log(res.fileList);

},

fail: console.error

})

}

//上传单个文件

function uploadSingleFile(cloudPath,filePath){

wx.cloud.uploadFile({

cloudPath: cloudPath, // 上传至云端的路径

filePath: filePath, // 小程序临时文件路径

success: res => {

// 返回文件 ID

console.log(res.fileID)

},

fail: console.error

})

}

//微信图片保存到本地相册授权

function writePhotosAlbumAuth(){

wx.getSetting({

success(res) {

if (!res.authSetting['scope.writePhotosAlbum']) {

wx.authorize({

scope:'scope.writePhotosAlbum',

success() {

console.log('授权成功')

}

})

}

}

})

}

module.exports={

uploadSingleFile:uploadSingleFile,

exportFile:exportFile,

saveFileToPhotosAlbum:saveFileToPhotosAlbum,

delCloudFile:delCloudFile,

writePhotosAlbumAuth:writePhotosAlbumAuth

}

5. 前端excel导出功能

excel表格查找后导出的方法如下:

第一步选中要查找的所有内容,点击数据->自动筛选。

第二步点击之后,选择内容筛选。

第三步这里以下划线筛选内容。

第四步筛选好内容之后,点击确定,可以看到查找的内容全部显示出来就可以了。

第五步将查找的内容进行复制,然后按ctrl+z键进行回退,查找的内容可以复制到其他单元格。

6. 前端导出excel插件有哪些

步骤如下: 打开含有零件设计表的零件,选择设计树的配置按钮, 会出现相应的配置,配置上端有一个表格文件夹,点击其前端的+号,会出来一个系列零件设计表, 右键选择保存表格或者单独地 窗口编辑表格,然后选择另存为就行了,这样就可以实施独立编辑,比如添加系列零件,或者修改系列两件中的关联数字。 SolidWorks为达索系统(Dassault Systemes S.A)下的子公司,专门负责研发与销售机械设计软件的视窗产品。

7. excel前端显示插件

工具类

方便操作对象,数组等的工具库

underscore.js

lo-dash 与underscore.js的api基本一致。与underscore比其优势是,效率高;可自定义构建

Sugar 在原生对象上增加一些工具方法

functional.js 提够了一些Curry的支持

Watch.js 监视对象或属性的变化

bacon.js 函数式编程,cool

streamjs 用流的方式来对数组,对象进行系列操作

异步流程控制

eventproxy 朴灵出品

Arbiter.js 详细

发布订阅

q Promise风格的

Async.js

mock

Mock.js 生成随机数据和mock Ajax 请求

jquery-mockjax mock ajax请求

时间库

moment

datejs

浏览器探测

Bowser 探测具体浏览器和版本

ua-parser-js 探测具体浏览器和版本,操作系统,设备类型等

调试

console-polyfill 能放心的使用 console.log()之类的console方法

log 让控制台输出的log有样式

Konsole.js 在页面的一个元素里输出log信息 详细

uri.js uri操作

cookie 增删改cookie的工具库

director 前端路由库 详细

BigDecimal.js 提高精度的数字操作

JSDoc 根据javascript文件中注释的信息,生成API文档 详细

hotkeys 键盘事件的封装

MD5 用 MD5 的方式加密文件的库

浏览器增强类

让一些旧浏览器变牛逼的库

Selectivizr 让IE 6-8一些的css3选择器

ieBetter 让ie6-8有高级浏览器的特性

ExplorerCanvas 让IE8-的浏览器支持canvas

CSS3 Pie 让IE6-9支持border-radious,box-shadow,linear-gradient。 可以使用.htc文件(注意Mine type)或.js文件。在用Pie.js时,box-radious的元素有背景色时,不显示背景色。。。

formFive 让旧的浏览器支持HTML5表单的一些特性,如 placeholder,autofocus

https://github.com/anselmh/object-fit 让浏览器支持object-fit这css规则

HTML5 Cross Browser Polyfills 一堆Polyfills

flexibility 让旧的 IE 也支持 Flexbox

选择器增强

Lining.js 让浏览器实现类似::nth-line(), ::nth-last-line()的效果

未归类

prefixfree 用了它,写css时,就不需要加浏览器的前缀了

表单类

jquery-file-upload 上传文件组件 详细

zTree 文件树形视图控件

Treed 树编辑器。感觉展示的感觉很像思维导图

FileAPI 对文件选择框内的文件的一些处理

表单验证

.Validate 详细

jQuery-Validation-Engine

表单元素美化

uniform 提供对下拉框,单,复选框,按钮等表单元素的美化

select2 多选下拉框

selectivity 和unfirom比较类似

DropKick 下拉框,单,多选。外观比uniform好

switchery ios7风格的开关组件

nouislider 用滚动条来设置/控制(音量等)

range.css 美化input[type=range]元素的外观

图片类

holderjs 生成占位图片

lazyload

imagesLoaded 选取的图片都加载好后执行调回

CSSgram 用CSS3的Filter实现Instagram滤镜的库

图标类

Icon Font汇总

SVG做的图标

svgicons

iconic

HYBICON 带交互效果。如 hover, click

HTML字符实体图标

http://www.amp-what.com/

transformicons 图标点击时,会有一些变换效果。如,加号变成叉号

css3patterns css3 做的可平铺纹理。浏览器兼容性不好。

浏览图片

fancybox 弹出查看图片,视屏等等 demo

yoxview 弹出查看图片,图片尺寸缩放很自然

图片墙

wookmark

UI 框架

WeUI 由微信官方设计团队为微信 Web 开发量身设计。

Framework7

UI 组件类

拖拽

dragula 支持Draggable,Dropable和Sortable。感觉比jqueryUI的轻量级,好用的样子

angular-dragula dragular 官方的 angular 版本

数据可视化(图表)

Echarts 百度出品

highcharts 功能强大。是收费的。

Plottable.JS 基于D3的一个图表库

flot 文档不给力

chartJs 中文文档 demo很漂亮,很清晰。比较轻量级。

ichartJs 中国的一个家伙搞的,感觉还不错。

时间选取组件

foundation-datepicker

DatePicker 一个简单的日历 详细

full calendar 支持脱放的方式来改变待办事宜的时间

Simple Events Calendar 外观很喜欢。收费 5$

jQuery ui datepicker 经典,不是很好看

pickadate 轻量级,手机友好的,漂亮。但貌似只能在弹出层中显示,而没有下拉这种方式显示。

zebra-datepicker 可配置性很强。但貌似只能在弹出在右上方。。。

bootstrap-datepicker bootstrap风格。

dateRangePicker 选取时间段。bootstrap风格。该组件依赖Twitter Bootstrap, Moment.js和jQuery.

自定义滚动条

perfect scrollbar 轻量级的滚动条。外观与mac上chrome的滚动条一样。

iscroll 在移动设备上用不错

加载(Loding)效果

CSS Spinners CSS做的

Loaders.css CSS做的

表格组件

jsGrid Data Grid。 详细

backgrid 基于Backbone.js的DataGrid

excellentexport 把表格的内容生成excel。兼容 Firefox, Chrome, IE6+

datatables 表格可交互(对内容进行排序,删除等)

handsontable 生成Excel外观的数据

JSpreadsheets 表格数据的组件库

选取颜色

Spectrum

分享到SNS

JiaThis 生成分享代码。

编辑器

ace 代码编辑器,可以用来做demo演示

ckeditor

ueditor 百度做的

tinymce 对html内容进行实时的编辑

summernote 在移动设备上用不错

通知组件

notie.js

HTML5播放器

jwplayer 被大量网站使用

html5media 简单的h5player,轻量级

jplayer 功能强太,可换肤

展示

Impress.js 各种旋转,和奇特的体验

fullPage 全屏显示。用滚轮来翻页 详细

zepto.fullpage 专注于移动端的fullPage.js,依赖Zepto

pagePiling 和fullPage类似

turn.js 做一本书,带漂亮的翻页的效果

幻灯

slidesjs 挺好用的,只是那幻灯导航的CSS都要自己写,呵呵 详细

iSlider 无任何插件依赖的手机平台javascript滑动组件 详细

bgstretcher 全屏幻灯,会随着页面大小的变化而变化。

Swiper 开源、免费、强大的移动端触摸滑动插件 Swiper中文网

coin-slider 兼容IE6。蛮好的~。不过其切换方式是一块块的。不能配置切换方式。。。

wowslider 幻灯切换时各种很炫的效果。收费。

cycle2 普通的幻灯,竟然不支持垂直滚动。。。

jcarousel 普通的幻灯,不兼容IE6

reveal 3d滚动。做ppt相当不错

nodePPT 国人做的,做ppt也相当不错。有些方面比 reveal做的还好。但生成导出的html有些问题

roundabout 3d切换,看的后面图片的边

弹出框

Magnific-Popup 兼容PC,Mobile。还不错,有5k+的star

layer 国人开发的,兼容ie6+。不喜欢其调用方式。

动画效果

mixitup 用漂亮的动画效果来完成排序和筛选

jQuery.Marquee 跑马灯效果

quickflip 卡片翻转效果

卡片翻转效果2 兼容性可以。写的比较简单:1,只支持x方向翻转 2,类名都是规定好的 3,只能被调用一次。 需要改写一下。我的改进版见这里

TheaterJS 模拟两个人在屏幕上对话

midnight.js 文字颜色随着背景变,屌炸了

color-animation jquery的颜色渐变动画插件。jquery的动画不支持颜色值的变化。改库提供了这个支持。

transit 对元素进行css的变换

tagcanvas 3D标签云效果 详细

iconate 图片切换动画

Snap.js 左/右侧导航的出现效果

CSS shake 抖动动画

ClickSpark.js 点击后的一些酷炫的效果

视觉差插件

scrollorama 比较简单

superscrollorama 能做的效果更多,但要用第三方Tween的库,使用起来比较复杂。

scrolldeck

flash

swfobj 能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优化的原则的。此外,它能够避免您的HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。 详细

抽奖

wScratchPad 刮刮卡刮奖效果

jqueryrotate 旋转插件。可以用来做转盘抽奖效果

用户体验增强类

Intro.js 用来介绍网站的功能很不错。也可以做新手引导。

blockUI Lolding组件。

simple-hint 提示信息。用css做的。兼容性IE 9+。

dotdotdot 文字溢出时,添加在文字末尾加省略号

jQuery-menu-aim 二级菜单的切换如Amazon主页上一样迅速

AnythingZoomer 放大镜功能

美化/高亮语法代码

google-code-prettify

DlHighlight 仅支持JavaScript、CSS、XML、HTML 这4语法高亮

please 按要求随机舒服的颜色

Awesomplete 输入的智能提示,自动补全

proTip 提示。感觉比 Bootstrap 的 tip 好

Hammerjs 手势库。封装了 Swipe, Tap, Pinch, Pan等手势

动画

velocity 提高Jquery动画的性能。以及颜色动画之类的新特性。

SVG

Snap.svg 操作 SVG 的 JS 库。号称 SVG 的 jQuery。demo

walkway 以动画的方式,渐渐地画出 SVG 的路径。

测试

Mocha

Chai

Should

Snoion

DeviceMock.js mock 设备。

其他类

ZeroClipboard 将内容复制到剪切板兼容主流浏览器的解决方案 详细

html2canvas html转化成canvas,可以用来做截图。详细

Ink 响应式html邮件框架

性能测试

抓取,解析RSS内容(不能跨域,所以后台要做代理,所谓的解析Rss其实就是解析xml)

jFeed

jRss 简单版的jFeed

scriptcam 与摄像头交互

cylon.js 机器人框架,支持35个平台

Masonry 一个瀑布流框架

devices.css 移动设备边框的外观。做原型的时候用不错。

Bootstrap相关类

Bootbox.js 对bootstrap的弹出框做的一些封装

免费皮肤

AdminLTE

JS Plugins仓库

jQuery Cards 高质量的 jQuery 插件网站

jster

node modules

npmrank Sort npm packages by page rank

YOU MIGHT NOT NEED JQUERY PLUGINS 不依赖 jQuery 的 js 插件。

awesome-nodejs

Libraries.io 各种语言的库

OniUI 去哪儿网做的一套基于Avalon的框架

常用的移动端框架

zepto.js

语法与jquery几乎一样,会jquery基本会zepto~

最新版本已经更新到1.16

iscroll.js

解决页面不支持弹性滚动,不支持fixed引起的问题~

实现下拉刷新,滑屏,缩放等功能~

最新版本已经更新到5.0

underscore.js

笔者没用过,不过听说好用,推荐给大家~

该库提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象。

最新版本已经更新到1.8.2

滑屏框架

适合上下滑屏、左右滑屏等滑屏切换页面的效果

slip.js

iSlider.js

fullpage.js

swiper.js

flex布局

flex布局目前可使用在移动中,并非所有的语法都全兼容,效果良好~

8. 前端调用接口实现excel导出

一:Excel导入数据

1、首先打开一个空白的【Excel表格】和新建一个有数据的【文本文档】。

2、在空白的Excel表格中选中【A1单元格】,【菜单栏】选择【数据】选择【导入数据】。

3、【数据源选择】选择【直接打开数据文件】【选择数据源】,找到需要导入的【文本文档】。

4、【文件转换】选择【选择简体中文】。在预览的界面会看到需要导入的数据。

5、【文件类型】选择【分隔符号】选择【Tab】和【空格】进行分列文档内容。

6、列数据类型选择【常规】,选择好对应的【目标区域】,点击完成,【Excel导入数据完成】。

二:Excel导出数据

1、打开需要导出的【Excel表格】,选择【文件】选择【另存】—文件类型选择后缀名为【“TXT】”。

2、打开另存文件的路径,【Excel表格成功导出为文本文档】。

3、另一种方法:选择【文件】选择【输出为PDF】。

4、在弹出的窗口点击【开始输出】。

5、输出完成后点击文件所在的路径,【Excel表格导出为PDF成功】。

9. excel导入导出插件

先下载插件,首先先安装Microsoft .Net Framework 4.0 Full;然后,获取安装介质(可以到官网下载);最后再点击安装介质,接下来就可以开始安装了,点击 下一步 ,配置安装路径:

点击 下一步,检测是否有插件正在被使用

点击 安装,进行安装

安装完成,启动Excel

插件安装完成后,启动Excel,会出现Smartbi面板。点击"设置",填写访问地址、账号、密码;并且选择默认报表类型=Excel分析; 完成以上这些步骤就可以开始在Excel使用了。

如此,Excel插件就下载安装成功了

顶一下
(0)
0%
踩一下
(0)
0%
相关评论
我要评论
点击我更换图片