1

我有一个页面,其中有一个文件上传选项,我必须上传/导入 csv 文件。我想要做的是检查是否上传了正确格式的文件,例如如果上传了 csv 文件以外的文件,系统应该给出错误消息。另外,我需要做的是检查 csv 文件的某些字段,例如 csv 文件中有一些必填字段,如姓名、邮政编码、如何检查这些字段是否不为空。执行这些任务后,系统应自动将 csv 文件上传到 sql sever 2008。任何想法或教程......将不胜感激。

4

3 回答 3

0

尝试使用Oledb。此代码片段可帮助您将 csv 文件读入数据表,该数据表应该很容易转储到数据库。

public static DataTable ParseCSV(string path)
{
  if (!File.Exists(path))
    return null;

  string full = Path.GetFullPath(path);
  string file = Path.GetFileName(full);
  string dir = Path.GetDirectoryName(full);

  //create the "database" connection string
  string connString = "Provider=Microsoft.Jet.OLEDB.4.0;"
    + "Data Source=\"" + dir + "\\\";"
    + "Extended Properties=\"text;HDR=No;FMT=Delimited\"";

  //create the database query
  string query = "SELECT * FROM " + file;

  //create a DataTable to hold the query results
  DataTable dTable = new DataTable();

  //create an OleDbDataAdapter to execute the query
  OleDbDataAdapter dAdapter = new OleDbDataAdapter(query, connString);

  try
  {
    //fill the DataTable
    dAdapter.Fill(dTable);
  }
  catch (InvalidOperationException /*e*/)
  { }

  dAdapter.Dispose();

  return dTable;
}
于 2010-09-30T02:12:06.410 回答
0

在 codeproject.com 上查看快速 CSV 阅读器

另一种选择是使用SSIS

于 2010-09-30T02:30:38.387 回答
0

看看这个线程:

在 C# 中解析带有标题的 CSV 文件

我相信这会让您根据需要提取它,然后轻松地将其推入 SQL Server 中的表中。

于 2010-09-30T01:28:10.333 回答