微信小程序导出csv的代码
时间: 2023-09-04 11:16:21 浏览: 180
以下是一个示例代码,用于在微信小程序中导出CSV文件:
```javascript
// 导出CSV文件
function exportCSV(data, filename) {
let csvContent = "data:text/csv;charset=utf-8,";
// 构造CSV内容
data.forEach((row) => {
let rowString = row.map((value) => {
return '"' + value.replace(/"/g, '""') + '"';
}).join(",");
csvContent += rowString + "\r\n";
});
// 创建并下载文件
wx.showLoading({
title: '导出中...',
});
wx.setClipboardData({
data: csvContent,
success: function () {
wx.hideLoading();
wx.showToast({
title: 'CSV已复制到剪贴板',
icon: 'none',
});
},
fail: function (error) {
wx.hideLoading();
console.log(error);
},
});
}
// 示例用法
let data = [
['姓名', '年龄', '性别'],
['张三', '18', '男'],
['李四', '20', '女'],
['王五', '22', '男'],
];
let filename = 'data.csv';
exportCSV(data, filename);
```
在上述代码中,`exportCSV`函数接收两个参数:数据(二维数组)和文件名。它会将数据转换为CSV格式的字符串,并将该字符串复制到剪贴板中。
请注意,微信小程序中没有直接写入文件的API,因此此示例将CSV内容复制到剪贴板中。用户可以在微信聊天界面中粘贴内容并保存为CSV文件。
请确保在小程序的 `app.json` 文件中进行以下配置:
```json
{
"permission": {
"scope.writePhotosAlbum": {
"desc": "保存文件到相册"
},
"scope.clipboard": {
"desc": "获取剪贴板内容"
}
}
}
```
以上示例代码是一个简单的实现,你可以根据自己的需求进行修改和扩展。
阅读全文