[英]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.