zoukankan      html  css  js  c++  java
  • Appcan开发笔记:导出Excel文件

    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 }
  • 相关阅读:
    SwiftUI:看我展示52张扑克牌,“很快啊!”
    不会吧,这也行?iOS后台锁屏监听摇一摇
    分布式锁
    布隆过滤器原理
    redis缓存穿透
    布隆过滤器应用DEMO
    线程的声明周期
    分布式事务
    滑动窗口协议
    代理
  • 原文地址:https://www.cnblogs.com/shiworkyue/p/7155972.html
Copyright © 2011-2022 走看看