【问题标题】:Connection string to read csv in utf-8 folder在 utf-8 文件夹中读取 csv 的连接字符串
【发布时间】:2020-05-08 14:05:07
【问题描述】:

我是 C# 新手,在将数据从 CSV 上传到数据库时遇到问题,请帮助我

我想允许操作员通过使用类 OpenFileDialog 来选择灵活目录中的 CSV 文件,如下所示:

OpenFileDialog dlg = new OpenFileDialog();
...
filename = dlg.FileName;// get full path of selected file
string fileDirectory = Path.GetDirectoryName(filename); //get directory
string excelConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"" + fileDirectory + "\\\";Extended Properties=\"text;FMT=Delimited;HDR=Yes;CHARSET=65001;\""; //connection
using(OleDbConnection ExcelConnection = new OleDbConnection(excelConnStr);)
{
   string csvFiename = Path.GetFileName(filename);
   string excelQR = "select * from ["+ csvFiename + "]";
   ...
}

如果我在无 UTF-8 文件夹例如 C:\Users\nmhoan\Desktop\New 文件夹中选择 CSV 文件,上述代码工作正常 .但是如果我在 UTF-8 文件夹中选择文件,例如:Desktop\Vẽ 布局,我会收到一条消息:

System.Data.OleDb.OleDbException: ''C:\Users\nmhoan\Desktop\Vẽ layout\' 不是有效路径。确保路径名是拼写的 正确,并且您已连接到文件所在的服务器 居住。'

我花了很多时间寻找解决方案,但仍然无法解决。 请帮我解决这个问题。

非常感谢您

【问题讨论】:

    标签: c# csv connection-string


    【解决方案1】:

    如果你想读取一个 CSV 文件,你不应该使用 Excel,因为它很麻烦(比如它必须安装在你的程序运行的机器上,将数字错误解释为日期,很难正确使用,改变值是一团糟,等等)。而是使用能够读取和写入 CSV 文件的专用库。 C# 有很多,但我个人更喜欢CsvHelper

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-09
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      • 2016-05-03
      • 1970-01-01
      相关资源
      最近更新 更多