【问题标题】:How to import data from exel file in nuxt vue js app如何在nuxt vue js应用程序中从excel文件导入数据
【发布时间】:2023-04-03 10:19:01
【问题描述】:

我在简单的 html 页面中有这个功能并且工作正常

head () {
        return {
          script: [
            {
              hid: 'alasql',
              src: 'https://cdn.jsdelivr.net/alasql/0.3/alasql.min.js',
              defer: true,
              //callback: () => { this.isStripeLoaded = true } 
            },  
            {
              hid: 'ajax',
              src: 'https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.16.9/xlsx.core.min.js',
              defer: true,
            
              
            }
          ]
        }
    },
  mounted(){

     function setPrice(nomer){
                    var printResult = function(result){ 
                            console.log(result[0].te)
                            // var sum= result[0].te
      
                        };
                        
        alasql ("SELECT te  FROM XLSX('/MDF_PANELS.XLS') WHERE f = "+nomer+"",[],
            function (data) {printResult(data);})                       
      }
}

但是当我移动到 nuxt 应用程序时出现错误:

Invalid HTML: could not find <table>
    at e (xlsx.core.min.js:16)

我的 xls 文件保存在“静态”文件夹中

我会很高兴得到任何帮助

【问题讨论】:

    标签: vue.js nuxt.js xlsx alasql


    【解决方案1】:

    首先你需要正确的导入 alasql

    import * as alasql from 'alasql';
    alasql["private"].externalXlsxLib = require('xlsx');
    

    第二次使用Read and write Excel and raw data files的表单

    这是我的代码:

    <template>
    
    </template>
    
    <script>
    import  alasql  from 'alasql';
    alasql["private"].externalXlsxLib = require('xlsx');
    
    export default {
        mounted(){      
     
     alasql.promise(
        "SELECT te  FROM XLSX('/MDF_PANELS.XLS') WHERE f = 13 ",[], ).then(function(results){
        console.log(results);
            }).catch(console.error);    
      }
        }
    </script>
    

    其中“te”是所需列的名称,“f”是所需行的名称

    【讨论】:

    • 前端的SQL?可能是一个非常糟糕的主意。
    • 也许,但我不明白为什么)
    • 因为您不应该在前端公开任何类型的数据。所以,这是一个安全问题。如果您公司的数据库是公开的,那么您基本上就没有什么可卖的了。
    猜你喜欢
    • 2019-12-30
    • 2018-05-07
    • 2020-03-30
    • 1970-01-01
    • 2018-07-07
    • 1970-01-01
    • 2019-05-02
    • 2020-07-12
    • 1970-01-01
    相关资源
    最近更新 更多