C#读取csv文件并呈现
需要datagrid和菜单栏空间
#region Used namespaces
using Microsoft.Practices.Unity;
using SPACE.Frame.Core.Service;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
#endregion
private void 导入ToolStripMenuItem_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "CSV UTF-8(逗号分隔)(.csv)|*.csv|CSV(逗号分隔)(.csv)|*.csv";
if (ofd.ShowDialog() == DialogResult.OK)
{
path = ofd.FileName;
string ext = Path.GetExtension(path);
DataTable dt = new DataTable();
System.IO.FileStream fs = new System.IO.FileStream(path, System.IO.FileMode.Open);
System.IO.StreamReader sr = new System.IO.StreamReader(fs, Encoding.GetEncoding("gb2312"));
string tempText = "";
bool isFirst = true;
while ((tempText = sr.ReadLine()) != null)
{
string[] arr = tempText.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
if (isFirst)
{
foreach (string str in arr)
{
dt.Columns.Add(str);
}
isFirst = false;
}
else
{
DataRow dr = dt.NewRow();
for (int i = 0; i < dt.Columns.Count; i++)
{
dr[i] = i < arr.Length ? arr[i] : "";
}
dt.Rows.Add(dr);
}
}
dataGridView1.DataSource = dt;
sr.Close();
fs.Close();
}
label5.Text = "导入完成";
}