繁体   English   中英

如何读取资源 csv 文件

[英]How to read resources csv file

我曾经在我的应用程序中使用 csv 文件

这是原始代码

        string csvFile = Directory.GetCurrentDirectory() + @"\data\" + Scheme + ".csv"
        DataTable dt = ReadCSV(csvFile);
        dgv.DataSource = dt;

现在我想把 csv 文件作为嵌入资源

我试过这个。 但它不起作用

        string csvFile = System.Resources.MyFile; //This is error
        DataTable dt = ReadCSV(csvFile);
        dgv.DataSource = dt;

我想知道如何让代码正确运行?

将文件添加到菜单 Project/Properties/Resources 中后,如@dr.null 所说,您必须在解决方案资源管理器中单击该项目的名称,以便您可以将 Action 属性设置为“内置资源”。

然后,使用类似的东西:

using System.Reflection;

var assembly = Assembly.GetExecutingAssembly();
var resourceName = "assembly_name.Resources.yourFile.csv";
var lines = ReadLines(() => Assembly.GetExecutingAssembly().GetManifestResourceStream(resourceName), Encoding.UTF8).ToList();

在哪里:

        public IEnumerable<string> ReadLines(Func<Stream> streamProvider, Encoding encoding)
        {
            using (var stream = streamProvider())
            using (var reader = new StreamReader(stream, encoding))
            {
                string line;
                while ((line = reader.ReadLine()) != null)
                {
                    yield return line;
                }
            }
        }

您将拥有包含 csv 数据的变量行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM