【问题标题】:export table data into excel in meteor将表数据导出到流星中的excel
【发布时间】:2015-01-17 22:01:26
【问题描述】:

在我的应用程序起始 URL localhost:3000 带我登录页面,在我登录后,它需要 /afterlogin 现在一切正常,一旦我删除 /afterlogin 并输入它将再次进入登录页面 如何登录后阻止该网址并留在流星的主页?

【问题讨论】:

  • 这和 Excel 有什么关系?
  • 抱歉,这是我的预览问题,我忘了删除那个标签。我很抱歉。

标签: javascript html meteor


【解决方案1】:

与其使用 / 作为用户登录的 URL,更“Meteor.js”的做法是在您网站的登录页面的主模板中使用条件逻辑。 Accounts 的 Meteor 文档解释说应用程序应该:

使用{{#if currentUser}}检查用户是否登录。

查看login example application,了解{{#if currentUser}} 在实践中的应用。为了方便,我复制了下面的模板:

<template name="main">
  {{#if loggingIn}}
    <div class="loading">Loading...</div>
  {{else}}
    {{#if currentUser}}
      <div class="msgDiv">
        Signed in as: {{currentUser.services.google.email}}
      </div>
      <a href="#" id="logout">Sign out</a>
    {{else}}
      <a href="#" id="login">Sign In With Google</a>
    {{/if}}
  {{/if}}
  <div class="msgDiv">
    Client can see {{numGizmos}} gizmos.
  </div>
</template>

在“主”模板中,您可以看到应用程序使用空格键检查以下条件:

  • 如果loggingIn 为真(用户正在登录),则显示加载屏幕
  • 如果loggingInfalse AND currentUsertrue(用户已经登录),则显示一个包含已登录用户信息的屏幕
  • 如果loggingInfalse AND currentUserfalse(用户尚未登录),则显示登录提示

注意:在这个示例应用程序中,他们演示了使用 accounts-google 身份验证包登录,但您可以对基于 accounts-password 的基本登录使用相同的模式。其他身份验证包包括accounts-facebookaccounts-githubaccounts-twitter 和社区包。

如果您在应用程序中使用 iron:router,那么您还可以使用如下逻辑(取自文档)保护应用程序 URL:

Router.onBeforeAction(function() {
  if (! Meteor.userId()) {
    this.render('login');
  } else {
    this.next();
  }
});

【讨论】:

【解决方案2】:

步骤 1 从 npm // 流星 npm 安装 alasql 下载“alasql, XLSX, moment”包

步骤 2 将 alasql 、 XLSX 和 moment 导入我们必须创建 excel 的文件形式

            import alasql from 'alasql';
            import XLSX from 'xlsx';
            import moment from "moment";

            alasql.utils.isBrowserify = false;
            alasql.utils.global.XLSX = XLSX;

第三步在同一个文件中通过调用方法从服务器获取数据

          Meteor.call('getAllUserData', function ( err,userData ) { //get data form server call
        
            if ( !_.isEmpty( userData ) )
            {
                var opts = [
                    {sheetid:'User List',header:true}
                ];
                alasql('SELECT INTO XLSX("User-List-'+moment(new Date()).format('DD-MM-YYYY')+'.xlsx",?) FROM ?',
                    [opts,[
                        userData
                    ]]);
            }
        })

【讨论】:

    猜你喜欢
    • 2017-03-27
    • 1970-01-01
    • 2016-07-10
    • 2015-08-05
    • 2010-09-19
    • 1970-01-01
    • 1970-01-01
    • 2019-04-08
    相关资源
    最近更新 更多