如何将kendo ui 网格数据作为附件发送到邮件中?

How to send kendo ui grid data in email as attachments?

我要发一封电子邮件,附件是kendo ui 网格数据。如果我使用 excel 导出,我无法将文件自动保存在特定位置的项目文件夹中。我无法自定义 saveAsExcel() 方法。

所以我不想将该文件保存在本地文件夹中。有什么办法吗?

我无法将文件自动下载到项目中的特定文件夹。每次都要求在特定位置保存。

我正在尝试将文件自动保存到项目中的特定文件夹,并尝试在电子邮件中附加该文件。

我在保存网格时没有在 excel 中获取任何数据。另外我想避免保存文件的另存为弹出窗口。

var grid = $("#MyReport").data("kendoGrid");
    var trs = $("#MyReport").find('tr');
    var rows = [];
    for (var i = 0; i < trs.length; i++) {

        var dataItem = grid.dataItem(trs[i]);
        rows.push({
            cells: [

                dataItem

            ]
        })

    }



var workbook = new kendo.ooxml.Workbook({  
    sheets: [  
      {   title: "EmployeeInfo",  
          rows: rows  
      }  
    ]  
});  
kendo.saveAs({ dataURI: workbook.toDataURL(), fileName: "EmployeeInfo.xlsx" });  

}

你走错路了。在实际情况下,您的项目应该在服务器上。当用户在您的网格上单击导出时,系统会提示将其保存在他的本地计算机上,而不是您在服务器上的项目中。 Kendo导出是客户端导出。您需要在服务器端导出,将文件保存在服务器上,并在通过您的项目发送邮件时附加它。

要采取的步骤:

  1. 在导出按钮上单击发送参数 page_sizepage
  2. 在服务器端使用该参数从数据库获取数据
  3. 在服务器端用数据库中的数据创建一个文件(excel)
  4. 在服务器端通过邮件客户端创建文件并发送