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 }