将Controller操作参数传递给Excel

时间:2011-07-07 20:31:41

标签: asp.net-mvc excel controller

如何将控制器操作中的参数传递给excel?我在控制器操作中使用Response.Redirect打开一个excel文件,但是想要将参数“id”传递给“Sheet1”的单元格“A1”

这是我的控制器动作:

    public ActionResult LaunchStudentBook(string id)
    {
        var stdno = student.StudentTable.Where(a => a.StudentNumber == id);

        Response.Redirect("~/StudentBook/StudentBook.xlsm");

        return View(stdno );

    }

1 个答案:

答案 0 :(得分:1)

解决此问题的最佳方法是修改服务器上的Excel电子表格,并将修改后的文档发送回客户端。这将涉及几个独立的步骤:

  1. 获取EPPlus库,这是一个备受推崇的(和开源)API,用于读取和编写Excel文件。

  2. 使用该库从StudentBook.xlsm读取。这会将文件解析为一个对象模型,然后您可以使用EPPlus进行操作。即,您将“将'id'参数插入单元格A1”。

  3. 使用EPPlus将新文档写入MemoryStream

  4. 在您的控制器中创建一个操作,通过FileStreamResult将此流发送回客户端。

  5. 你应该采取一切措施,然后在开始实施时提出新的问题。但是,如果您在此回复,我会尽力帮助。