1

我在 c# 中有 asp.net MVC 应用程序,我得到查询结果(来自实体框架),我需要将数据放在用户可以下载的 Excel 表中。所以这就是我想要做的,我想知道如何将每一行数据写入 excel 表?我应该采取的任何其他方法也是受欢迎的。

var certs = CertificateService.ReadAllSentCertificates();
                Application excel = new Application();
                string filePath = "C:/ToDoList/SentStats_" + DateTime.Now.ToString() + ".xls";

                Workbook mybook = excel.Workbooks.Add();
                excel.Visible = true;
                try
                {
                    mybook.Activate();
                    Worksheet mysheet = mybook.Worksheets.Add();

                     foreach (var x in certs)
                    {
                        // How to write each row in excel??

                    }
                   //mybook.SaveAs(Filename: filepath);
                    mybook.Save();
                }
                catch (Exception ex)
                {
                }
                finally
                {
                    mybook.Close();
                }
4

1 回答 1

2

不要在 Web 应用程序中使用 Office 互操作。MS Office 从未设计为在服务器上运行。如果要构建 Excel 工作表,可以在服务器上使用OpenXML 。

作为替代方案,您可以在 a 中返回包含结果的视图,并使用响应标头<table>提供此视图。application/vnd.ms-excel Content-Type与使用可让您完全控制的 OpenXML SDK 相比,您对结果表格式的控制要少得多。

于 2012-10-04T10:34:14.000 回答