1. 类似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
}
2. excel插件哪个好
原因这是电脑同时安装了wps造成的,解决办法:
开始菜单-所有程序-wps office-wps office 工具-配置工具-高级-兼容设置-将“wps office 兼容第三方系统和软件”前的勾去掉,不让他兼容-确定后退出就行了。
再打开word,excel,powerpoint都没问题了。
3. excel开源插件
现在比较好用的报表工具当然是FineReport了,但是开源的工具有Birt、JasperReports。使用报表工具带来的好处,一方面是报表工具是一个数据库程序,企业级的系统工具,对于读取连通数据库、集成开发会更加灵活;另一方面诸多报表厂商由于需要实现商业化,在产品的打磨和服务上下足了功夫,很多工具在实际的业务场景中远比excel方便。
问题举例的效果其实更关注于报表的可视化,可以集成Echarts,fushioncharts等图表插件来实现,目前的BI工具也可以实现。
不管选择哪类工具,最重要的还是满足业务需求,在满足的前提下寻找合适的工具。
4. excel有插件吗
先下载插件,首先先安装Microsoft .Net Framework 4.0 Full;然后,获取安装介质(可以到官网下载);最后再点击安装介质,接下来就可以开始安装了,点击 下一步 ,配置安装路径:
点击 下一步,检测是否有插件正在被使用
点击 安装,进行安装
安装完成,启动Excel
插件安装完成后,启动Excel,会出现Smartbi面板。点击"设置",填写访问地址、账号、密码;并且选择默认报表类型=Excel分析; 完成以上这些步骤就可以开始在Excel使用了。
如此,Excel插件就下载安装成功了
5. excel有哪些好用的插件
关于Excel二次开发有以下几种方式:
VBA 适用于当前Excel文件
VSTO 插件(两种方式,VSTO Addin安装后针对于所有的Excel文件,VSTO Document-Level AddIn针对于特定的Excel文件)
Office Addin(针对于Excel Web, Excel Desktop和其他Excel平台,跟Share point账号有关)
6. excel前端显示插件
重新启用已被MicrosoftOffice2003应用程序硬禁用的外接程序在“帮助”菜单上单击“关于MicrosoftOffice”。单击“禁用项目”。
VisualStudioToolsforOffice创建的外接程序会出现在禁用项目列表中,显示为“Addin:AddinLoader.dll”选择外接程序,然后单击“启用”。
7. js excel插件
不是做成插件,直接保存成宏文件下发就行了.下属单位新建一个EXCEL文件,点"工具菜"单下的"加载宏",选择下发那个宏文件,以后打开任何文档都会启用这个宏.
8. excel插件开发工具
jquery-table2excel是一款可以将HTML表格的内容导出到微软Excel电子表格中的jQuery插件。
该插件可以根据你的需要导出表格中的内容,不需要的行可以不导出。它文件体积小,使用非常方便。9. 前端excel表格插件
可以编写html代码的软件有:1、Brackets;2、WebStorm;3、vscode;4、Sublime Text;5、HBuilder;6、EditPlus。HTML是用来描述网页的一种语言,它不是编程语言,而是标记语言。
HTML代码可以用Brackets、WebStorm、vscode、Sublime Text、HBuilder 、EditPlus等开发工具来编写。
随着各大浏览器对HTML技术支持的不断完善,未来HTML必将改变我们创建Web应用程序的方式。而很多html的初学者都想找一款好用的编写软件,接下来将为大家介绍几款编写html的软件。
1、Brackets:Adobe 开源的前端开发工具。这个基本上是完全为前端准备的,支持插件。起初用过一段时间,体验很不错的。内置 Server,可以直接预览变化。
2、WebStorm :之所以当初不用 Brackets 了,因为这货实在是太好用了。一贯的 Jetbrains-Platform 强大的代码提示、分析、检查和建议。可以集成 SASS/LESS 。内置 Server 。当然有了前端的一些脚手架/构建工具,集成什么的无所谓了。
3、VisualStudio Code (vscode) :vscode 有强大的扩展体系,可以做很多语言的开发。扩展质量比较高。还能集成数十种语言的调试。作为前端开发也很优秀。当然专门作为前端的工具我觉得还是略逊 Brackets 弱于 WebStorm 的。
4、Atom:这个软件从架构上比 vscode 更重视扩展和自由性,其本身就是由众多扩展构成的。扩展的自由度很高,例如装一个 minimap 跟 sublime text 一样了。写前端跟 vscode 半斤八两,一样可以做其他很多语言的开发。但是个人感觉扩展质量普遍没有 vscode 的高。起初用过一段时间,但是受不了参差不齐的扩展质量和兼容性,就转 vscode 了。
5、Sublime Text:这个相比上面三个,要轻量级得多。因为不是用 web 技术构建的桌面应用,启动速度也更快,更符合一个编辑器应该有的样子。不过扩展数量无法跟上面几个相比。前端开发上来说,已经跟不上 atom 和 vscode,但是作为一个 Text Editor 它绝对是首选之一。
6、HBuilder :这是个号称专门为HTML5准备的IDE,我在几年前用过,貌似是基于 eclipse 内核的。所有基于 eclipse 的软件我都不想用。当初记得它连 代码的 format 都有 BUG。格式化代码在上面推荐的几个中任意一个用扩展都能轻易做到非常完美的地步。
7、Aptana Studio:这个跟上面的 HBuilder 类似是基于 eclipse 的,它是我接触的第一款内置 Server 的前端开发工具。当时记得安装它的时候要顺带安装一个 NodeJs 有点让我眼前一亮。不过也是好久没用过了。现在看了下它的官网,它还可以做 Ruby 、Python等开发,当然用来写前端也是其亮点。跟 HBuilder 半斤八两吧。
8、EditPlus:最初学基础的时候,老师用的就是这个编辑器。我们也跟着用这个,只记得很清楚的是用它写网页可以点左上角的图标直接预览不用打开浏览器,会调用的IE用来显示页面。它作为一个 Text Editor 也是非常棒的,但是做前端开发已经不是很推荐了。
- 相关评论
- 我要评论
-