【问题标题】:Output to Excel using ExcelLibrary in c#在 c# 中使用 ExcelLibrary 输出到 Excel
【发布时间】:2012-03-25 08:00:13
【问题描述】:

以下代码使用 controller.file 输出到 csv 文件。我想将其更改为输入到 Excel 工作表 (.xls) 而不是 csv 文件。我从这里使用这个库来做到这一点.. http://code.google.com/p/excellibrary/

根据这个stackoverflow帖子..Create Excel (.XLS and .XLSX) file from C#

编辑:

foreach (var value in valueDataList)

    {
        var value1 = xxxxxxx    // this value is set here based on a query.. 
        int value2 = xxxxxxxx   // this value is set here based on a query.. 

        byte[] content;

        using (var ms = new MemoryStream())  
           {
              using (var writer = new StreamWriter(ms))
                {
                  writer.WriteLine("ValueHeading1   " + " ValueHeading2");
                  writer.WriteLine(value1 + "              " + value2);                         
                }
                  content = ms.ToArray();
                  return File(content, "text/csv", "demo.csv");
            //ExcelLibrary.DataSetHelper.CreateWorkbook("MyExcelTest.xls", content);

           }
    }   

如何修改我现有的代码以使用此库将其放入 excel。代码中最后注释的行不起作用,因为它期望“内容”是一个数据集而不是一个字节。感谢您的帮助。

【问题讨论】:

    标签: c# asp.net excel outputstream excellibrary


    【解决方案1】:
    public ActionResult Excel()
    {
        DataSet ds = ...
        using (var ms = new MemoryStream())  
        {
            ExcelLibrary.DataSetHelper.CreateWorkbook(ms, ds)
            return File(ms.ToArray(), "application/vnd.ms-excel", "demo.xls");
        }
    }
    

    【讨论】:

    • 对不起,我刚刚用修改过的代码编辑了 OP。我忘记了代码的流写入器部分。谢谢你的帮助
    • @ZVenue,我绝对看不出您修改后的代码与 excellibrary 有什么关系。为了使用它,您需要构建一个 DataSet 并将其传递给 CreateWorkbook 方法,如您链接到的帖子中所示。您似乎有一些生成 CSV 文件的现有代码。您将不得不对其进行修改。阅读您正在使用的产品的文档。它将帮助您完成这项任务。
    • 基本上我需要改变我如何将输出写入流中的数据集。
    • @ZVenue,我看不出你的问题实际上与 ASP.NET MVC 有什么关系?
    • 我将编写器更改为数据集并相应地修改了代码.. 它工作得很好。谢谢
    猜你喜欢
    • 2017-01-28
    • 2013-06-11
    • 1970-01-01
    • 1970-01-01
    • 2016-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    相关资源
    最近更新 更多