2

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

根据this stackoverflow post..从C#创建Excel(.XLS和.XLSX)文件

编辑:

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。代码中最后注释的行不起作用,因为它期望“内容”是一个数据集而不是一个字节。感谢您的帮助。

4

1 回答 1

3
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");
    }
}
于 2012-03-07T19:02:54.703 回答