vue 使用table2excel导出excel表格(带图片)

8 篇文章 0 订阅
5 篇文章 0 订阅

        如想要实现导出功能,并且可以导出图片,如下图效果:

        

         

 

        下面直接上步骤:

        Ⅰ  下载安装插件

                安装命令:npm install js-table2excel

        Ⅱ   引入插件

                在需要用到的页面引入插件,如下图:

                

        Ⅲ   使用插件      

                直接上代码:

                        onBatchExport方法中数据的key值要与data中保持一致,否则数据无法获取到,打印出的结果就回为undefined。

<template>
	<div>
		<el-button @click="onBatchExport">导出</el-button>
	</div>
</template>
<script>
	import table2excel from 'js-table2excel'
	export default {

		data() {
			return {
				tableData: [ //打印的数据
					{
						shouji: "15325833437",
						zhaopiao: "https://cube.elemecdn.com/6/94/4d3ea53c084bad6931a56d5158a48jpeg.jpeg",
					}
				],
			}
		},
		created() {

		},
		methods: {
			//支持导出图片和类型转换
			onBatchExport() { //导出按钮
				const column = [{
						title: '手机号',
						key: 'shouji',
						type: 'text'
					},
					{
						title: '照片',
						key: 'zhaopiao',
						type: 'image',
						width: 50,
						height: 50
					},
				]
				let tableDatas = JSON.parse(JSON.stringify(this.tableData))
				let datas = tableDatas;
				table2excel(column, datas, '数据')
			},
		}
	}
</script>

           当然要想修改导出图表的格式,那么我们需要在依赖node_modules文件夹中,找到  文件夹 js-table2excel,通过修改该文件夹下的index.js通过添加行内样式来修改样式。

         实际应用中你还会发现,身份证号码的打印也会出现下图问题,

        

 在表格中显示的并不是完全的数字,选中之后上面的展示的身份证号码为152456189602151000,而我们真正的数据中身份证号码为:152456189602151932,到导出的数据后3位全部变成了000

         其实解决该问题也超级简单,我们还需从依赖node_modules文件夹中找js-table2excel文件,在js-table2excel文件夹下的index.js中找到下图中相应位置进行修改,

        在行内添加vnd.ms-excel.numberformat:@

         此时再次导出我们就可以发现身份证号码显示正确:

        希望可以帮到你们! 

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 使用js-table2excel无法直接导出图片。js-table2excel是一个用于将HTML表格导出Excel文件的JavaScript库,它主要是用于导出表格中的数据。而图片通常不是直接插入到表格中显示的,而是通过在表格中插入图片的URL或者使用img标签来显示。因此,js-table2excel无法直接导出表格中的图片。 如果想要将图片一起导出Excel文件中,可以使用其他的方法。一种常见的方法是使用其他JavaScript库,如js-xlsx或者SheetJS,这些库可以处理更复杂的Excel导出需求,包括导出图片表格。这些库提供了更多功能和选项,允许通过编程方式将图片插入到Excel文件中。 另外,还可以考虑将图片保存为Base64编码的字符串,并将该字符串作为数据保存在表格中的某个单元格中。然后,使用js-table2excel有Base64编码图片字符串的表格导出Excel文件中。虽然这种方法不会直接导出图片,但可以在表格中保留图片的信息。 总之,由于js-table2excel库的特性限制,无法直接使用该库导出图片Excel文件。但是可以通过其他方法来实现这个目标,比如使用其他JavaScript库或者将图片保存为Base64编码的字符串。 ### 回答2: js-table2excel是一个用于将HTML表格导出Excel文件的JavaScript库,它并不支持直接将图片导出Excel文件中。这是因为Excel文件的格式与HTML的图片格式不同。 要在Excel文件中导出图片,可以使用其他方法,例如使用Excel插件或将图片嵌入到生成的Excel文件中。 一种常见的方法是使用Excel插件,例如js-xlsx或SheetJS。这些插件提供了更强大的功能,可以直接将图片插入到生成的Excel文件中,同时支持更复杂的Excel操作,如合并单元格、格式化等。 另一种方法是使用基于服务器端的技术来生成Excel文件,例如使用Node.js中的库或其他服务器端语言,然后在服务器端将图片嵌入到生成的Excel文件中。这种方法较复杂,需要有服务器端编程的知识和技巧。 总结起来,使用js-table2excel无法直接导出图片Excel文件中,但可以尝试使用其他工具或方法来实现此功能。具体方法可以根据实际需求和技术条件选择适合的方案。 ### 回答3: 使用js-table2excel插件无法直接导出图片。js-table2excel插件是一个用于导出html表格数据到Excel的插件,它主要用于导出数据表格,而不是导出图片。如果需要导出图片Excel文件,可以考虑使用其他方法。 一种可行的解决方案是使用其他插件或库来实现导出图片Excel文件。例如,可以使用js-xlsx库来生成Excel文件,并将图片插入到Excel表格中的相应单元格。具体步骤如下: 1. 首先,将图片转换为Base64编码。 2. 创建一个xlsx工作簿对象。 3. 创建一个工作表对象,并在适当的单元格中插入图片。可以使用`addImage`方法来实现。 4. 将工作表添加到工作簿中。 5. 将工作簿保存为Excel文件。 这样就可以导出图片Excel文件了。需要注意的是,这种方法可能比较复杂,需要一定的编程知识和经验。 总之,如果使用js-table2excel插件无法导出图片,可以考虑使用其他插件或库来实现导出图片Excel文件。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值