C# CSV到ListView
我正在尝试将我的CSV文件导出到ListView ListView如下所示: 我设法导出csv文件,但它将所有内容都放在“名称”列中 有人有线索吗?:) 下面是它现在的样子:C# CSV到ListView,c#,listview,csv,C#,Listview,Csv,我正在尝试将我的CSV文件导出到ListView ListView如下所示: 我设法导出csv文件,但它将所有内容都放在“名称”列中 有人有线索吗?:) 下面是它现在的样子: using (OpenFileDialog openFileDialog1 = new OpenFileDialog()) try { openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environm
using (OpenFileDialog openFileDialog1 = new OpenFileDialog())
try
{
openFileDialog1.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
openFileDialog1.DefaultExt = "csv";
openFileDialog1.Title = "Open file";
openFileDialog1.Filter = "CSV (*.csv)|*.csv";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
FileStream srcFS;
srcFS = new FileStream(openFileDialog1.FileName, FileMode.Open);
StreamReader srcSR = new StreamReader(srcFS,System.Text.Encoding.Default);
do
{
string ins = srcSR.ReadLine();
string[] columns = ins.Split(',');
ListViewItem lvi = new ListViewItem(columns[0]);
lvi.SubItems.Add(ins);
for (int i = 1; i < columns.Count(); i++)
{
lvi.SubItems.Add(columns[i]);
}
listView1.Items.Add(lvi);
} while (true);
srcSR.Close();
}
}
catch (Exception errorMsg)
{
MessageBox.Show(errorMsg.Message,"Error reading a file",MessageBoxButtons.OK,MessageBoxIcon.Error);
}
使用(OpenFileDialog openFileDialog1=new OpenFileDialog())
尝试
{
openFileDialog1.InitialDirectory=Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
openFileDialog1.DefaultExt=“csv”;
openFileDialog1.Title=“打开文件”;
openFileDialog1.Filter=“CSV(*.CSV)|*.CSV”;
如果(openFileDialog1.ShowDialog()==DialogResult.OK)
{
文件流srcFS;
srcFS=newfilestream(openFileDialog1.FileName,FileMode.Open);
StreamReader srcSR=newstreamreader(srcFS,System.Text.Encoding.Default);
做
{
string ins=srcSR.ReadLine();
string[]columns=ins.Split(',');
ListViewItem lvi=新的ListViewItem(列[0]);
lvi.SubItems.Add(插件);
对于(int i=1;i
此时将整行添加为一个listviewitem。
首先,需要将行拆分为列:
string[] columns = ins.Split(';');
然后创建包含第一列的listviewitem
ListViewItem lvi = new ListViewItem(columns[0]);
然后遍历剩余的,并为每列添加一个子项:
for (int i = 1; i< columns.Count(); i++)
{
lvi.SubItems.Add(columns[i]);
}
我已经从你问题的标题中删除了
[C#]
。标签不属于标题,它们属于问题本身的标签。它使事情更具可读性。test.Split(“;”);-测试是指从文件加载的字符串?对不起,我指的是ins.Split();我明白了,但是如何跳过第一行呢?(它添加了我的列名)我用升级的代码编辑了第一篇文章,我想我做了你告诉我的一切,但仍然没有正常工作:(你能更具体地说明什么不工作吗?我看到你用了a,而不是分号;作为分隔符,这在你的csv中正确吗?
for (int i = 1; i< columns.Count(); i++)
{
lvi.SubItems.Add(columns[i]);
}
listView1.Items.Add(lvi);