C#如何读取csv文件

chenyang80425 2009-08-11 11:59:40
请问怎样读写csv格式文件了?
string Strconn = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Server.MapPath(FilePath) + ";Extended Properties='text;HDR=Yes;IMEX=1;'";
OleDbConnection objConn = new OleDbConnection(Strconn);
string strSql = "Select * From temp.csv";
OleDbCommand cmd = new OleDbCommand(strSql, objConn);
OleDbDataAdapter dad = new OleDbDataAdapter(strSql, objConn);
DataSet dst = new DataSet();

dad.Fill(dst, "test");
dt = dst.Tables["0"];

我是这样读取的.程序报错如下:


找不到可安装的 ISAM。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.OleDb.OleDbException: 找不到可安装的 ISAM。

源错误:


行 71: // try
行 72: {
行 73: dad.Fill(dst, "test");
行 74: dt = dst.Tables["0"];
行 75: return dt;


...全文
121 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
/// <summary>
/// 读取csv返回数据源集合
/// </summary>
/// <param name="filePathName"></param>
/// <param name="iCol"></param>
/// <returns></returns>
public static DataTable readfile(string filePathName, int iCol)
{
DataTable dt = new DataTable();
DataRow dr;
FileStream fs = new FileStream(filePathName, FileMode.Open, FileAccess.Read);
StreamReader r = new StreamReader(fs, System.Text.Encoding.Default);

string output = "";
string columsName = "";
string[] arrData;
string[] columsData;
columsName = r.ReadLine();
columsData = columsName.Split(',');
// init datatable columns
for (int i = 0; i < iCol; i++)
{
dt.Columns.Add(columsData[i].ToString(), typeof(string));
}

// read file
r.BaseStream.Seek(0, SeekOrigin.Current);
while (r.Peek() > -1)
{
output = r.ReadLine();

arrData = output.Split(',');

if (arrData.Length < iCol)
{
iCol = arrData.Length;
}

dr = dt.NewRow();
for (int i = 0; i < iCol; i++)
{
dr[i] = arrData[i];
}
dt.Rows.Add(dr);
}

r.Close();

return dt;
}
flyerwing 2009-08-11
  • 打赏
  • 举报
回复
学习。
nwgogogo 2009-08-11
  • 打赏
  • 举报
回复
用StreamReader来读取,第一行是标题头,第二行开始是数据。
lunasea0_0 2009-08-11
  • 打赏
  • 举报
回复
不行的吧,自己一行一行的读。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧