来自asp的excel数据

时间:2014-05-29 15:09:52

标签: asp.net excel

我已经从我的目录中创建了一个文件夹列表,显示为html。

我想要的是能够在Excel中读写。

现在要做的就是将此代码设置为.xlsx。我的计算机中有一个excel文件,并希望所有目录都进入该文件..

我被告知 EPPlus 是最好的解决方案。但我不确定如何在上面的代码中实现这一点,所以我的目录是excel而不是html。

任何想法/方向都会非常有用

1 个答案:

答案 0 :(得分:3)

如果你想走EPPlus的路线,你需要做的第一件事就是将EPPlus包添加到你的解决方案中。这可以通过执行以下操作之一来实现:

  • 打开NuGet,在图库中搜索EPPlus并安装
  • 打开您的软件包管理器控制台并输入Install-Package EPPlus
  • 下载dll文件并在项目中手动添加对它的引用。

然后,在您的代码中:

using OfficeOpenXml;
using System.IO;
using System.Linq;

namespace TestConsole {
    class Program {
        static void Main(string[] args) {

            string[] directoryList = System.IO.Directory.GetDirectories(@"C:\Users\bblack\Temp\TestDirectories\");

            using (Stream file = new FileStream(@"C:\Users\bblack\Temp\testexcelfile.xlsx", FileMode.Create))
            using (ExcelPackage xl = new ExcelPackage(file)) {
                ExcelWorksheet sheet = xl.Workbook.Worksheets.Add("Sheet1");

                for (int i = 1; i < directoryList.Count(); i++)
                    sheet.Cells[i, 1].Value = directoryList[i];

                xl.Save();
            }

        }
    }
}

  • 获取提供给它的地址中的所有目录。
  • 创建一个新的FileStream,您希望Excel文件
  • 根据ExcelPackage
  • 创建新的FileStream
  • ExcelPackage
  • 中向工作簿添加新工作表(默认情况下为零)
  • 遍历directoryList,并为其中的每个字符串将值放入新单元格

值得注意的是,工作表单元索引不是从零开始的,它们以1的基本索引开始

编辑 Woops,忘记关闭流,使用此更新的答案。