Appcan开发笔记:导出Excel文件

简介: Appcan IDE为4.0+; appcan提供了导出文件的方法 appcan.file.write 文件会自动创建,要解决的事情是Excel用字符串输出,可以考虑 csv(逗号间隔)、HTML、Xml,这些都可以通过拼接字符串导出Excel 下面给出HTML格式的模板,作为记录备份 1 function writeExcel(data) { 2 if (!appcan.

Appcan IDE为4.0+;

appcan提供了导出文件的方法 appcan.file.write 文件会自动创建,要解决的事情是Excel用字符串输出,可以考虑 csv(逗号间隔)、HTML、Xml,这些都可以通过拼接字符串导出Excel

下面给出HTML格式的模板,作为记录备份

 1 function writeExcel(data) {
 2     if (!appcan.isArray(data)) {
 3         return;
 4     }
 5     var tmpl = '<html xmlns:v="urn:schemas-microsoft-com:vml"';
 6     tmpl += 'xmlns:o="urn:schemas-microsoft-com:office:office"';
 7     tmpl += ' xmlns:x="urn:schemas-microsoft-com:office:excel"';
 8     tmpl += ' xmlns="http://www.w3.org/TR/REC-html40">';
 9     tmpl += ' <head>';
10     tmpl += ' <meta charset="UTF-8" />';
11     tmpl += '<!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>';
12     tmpl += '<x:Name>Worksheet</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions>';
13     tmpl += '</x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head>';
14     tmpl += '<body>';
15     tmpl += '<table>';
16     tmpl += '<thead>';
17     tmpl += '<tr>';
18     tmpl += ' <th>标题1</th>';
19     tmpl += ' <th>标题2</th>'
20     tmpl += '</tr>';
21     tmpl += '</thead>';
22     tmpl += '<tbody>';
23     for (var i = 0; i < data.length; i++) {
24         tmpl += '<tr><td>' + data[i].字段1 + '</td>';
25         tmpl += '<td>' + data[i].字段2 + '</td></tr>';
26     }
27     tmpl += '</tbody>';
28     tmpl += '</table>';
29     tmpl += '</body>';
30     tmpl += '</html>';
31 
32     console.log("开始导出数据");
33 
34     var myDate = new Date().format("yyyyMMddhhmm");
35     appcan.file.write({
36         filePath : '/storage/emulated/0/' + myDate + '.xlsx',
37         content : tmpl,
38         callback : function(err) {
39             if (err) {
40                 appcan.window.openToast('导出不成功', 5000, '5', '0');
41                 //写入出错了
42                 return;
43             }
44             appcan.window.openToast('导出成功' + myDate + '.xlsx', 5000, '5', '0');
45             //写入成功了
46         }
47     });
48 }

 

目录
相关文章
|
4天前
|
JSON JavaScript 前端开发
使用JavaScript和XLSX.js将数据导出为Excel文件
使用JavaScript和XLSX.js将数据导出为Excel文件
13 0
|
7天前
|
NoSQL Python
在Python中,我们可以使用许多库来处理Excel文件
Python处理Excel常用pandas和openpyxl库。pandas的`read_excel`用于读取文件,`to_excel`写入;示例展示了数据框操作。openpyxl则用于处理复杂情况,如多工作表,`load_workbook`加载文件,`iter_rows`读取数据,`Workbook`创建新文件,写入单元格数据后保存。
14 1
|
17天前
|
easyexcel 数据库
公司大佬对excel导入、导出的封装,那叫一个秒啊
封装公司统一使用的组件的主要目标是为了简化开发人员的调用流程,避免各个项目组重复集成和编写不规范的代码。文中提到对阿里EasyExcel进行了二次封装,提供了导入和导出功能,并支持模板的导入和导出。此外,还处理了读取数据与实际保存数据不一致的情况,通过提供自定义转换器来解决。
38 0
|
17天前
|
数据库
开发指南009-从list导出excel文件
从数据库返回一般是对象的列表,平台底层提供了从list转为excel文件的方法
|
27天前
|
easyexcel
【EasyExcel】第二篇:导出excel文件,导出多个sheet工作空间
【EasyExcel】第二篇:导出excel文件,导出多个sheet工作空间
|
1月前
|
SQL 数据库连接 数据库
【SQL Server】2. 将数据导入导出到Excel表格当中
【SQL Server】2. 将数据导入导出到Excel表格当中
44 0
|
2月前
|
NoSQL 关系型数据库 MySQL
多人同时导出 Excel 干崩服务器?怎样实现一个简单排队导出功能!
业务诉求:考虑到数据库数据日渐增多,导出会有全量数据的导出,多人同时导出可以会对服务性能造成影响,导出涉及到mysql查询的io操作,还涉及文件输入、输出流的io操作,所以对服务器的性能会影响的比较大;结合以上原因,对导出操作进行排队; 刚开始拿到这个需求,第一时间想到就是需要维护一个FIFO先进先出的队列,给定队列一个固定size,在队列里面的人进行排队进行数据导出,导出完成后立马出队列,下一个排队的人进行操作;还考虑到异步,可能还需要建个文件导出表,主要记录文件的导出情况,文件的存放地址,用户根据文件列表情况下载导出文件。
多人同时导出 Excel 干崩服务器?怎样实现一个简单排队导出功能!
|
28天前
|
JavaScript 前端开发
【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用
【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用
【导出Excel】Vue实现导出下载Excel文件(blob文件流)--亲测可用