(转) C# ListView控件的数据导入、导出到txt文件
2011-06-27 16:40
1286 查看
文章转自:http://hi.baidu.com/roadrunners/blog/item/fdf88f2233b8d246935807c7.html
家都知道操作文件吗!不非就是和数据流之类的东东打交道,所以要在我们的工程文件中加上引用“using System.IO;”,这个就是用来读写文件的。此实例运行效果如下:
接着编写代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
namespace ReadWriteFile
{
public partial class Form1 : Form
{
//全局变量,文件全路径
private string stFilePath = string.Empty;
public Form1()
{
InitializeComponent();
ListViewItem lstItem = null;
string stState = string.Empty;
//行和列是否显示网格线
listView1.GridLines = true;
//单选时,选择整行
listView1.FullRowSelect = true;
//显示方式
listView1.View = View.Details;
//没有足够的空间显示时,是否添加滚动条
listView1.Scrollable = true;
//是否可以选择多行
listView1.MultiSelect = false;
listView1.Columns.Add("lstFileName", "文件名");
listView1.Columns.Add("lstNoteBook", "工作薄");
listView1.Columns.Add("lstArea", "区域");
listView1.Columns.Add("lstState", "导入状态");
for (int i = 0; i < 12; i++)
{
lstItem = new ListViewItem();
if (i % 2 == 0)
{
//lstItem.BackColor = Color.Green;
lstItem.ForeColor = Color.White;
stState = "成功";
}
else
{
//lstItem.BackColor = Color.Red;
lstItem.ForeColor = Color.Red;
stState = "失败";
}
lstItem.SubItems[0].Text = "《现代熟女故事》 ";
lstItem.SubItems.Add("最初的炙热过后,感情渐渐变地像鸡肋。");
lstItem.SubItems.Add("是守着属于自己的鸡肋还是冒险开始一段新感情?");
lstItem.SubItems.Add(stState);
listView1.Items.Add(lstItem);
}
//自动适应宽度,-1根据内容设置宽度,-2根据标题设置宽度.
listView1.Columns["lstFileName"].Width = -1;
listView1.Columns["lstNoteBook"].Width = -1;
listView1.Columns["lstArea"].Width = -1;
listView1.Columns["lstState"].Width = -1;
listView1.Columns["lstFileName"].Width = -2;
listView1.Columns["lstNoteBook"].Width = -2;
listView1.Columns["lstArea"].Width = -2;
listView1.Columns["lstState"].Width = -2;
}
/// <summary>
/// 导出数据到txt文件.<br></br>
/// 2009-04-24 YJ 定义函数.<br></br>
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
//此处的文本文件在工程下Bin的程序集目录下
stFilePath = Application.StartupPath.Trim() + "//students" + DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒") + ".txt";
StreamWriter swStream;
if (File.Exists(stFilePath))
{
swStream = new StreamWriter(stFilePath);
}
else
{
swStream = File.CreateText(stFilePath);
}
for (int i = 0; i < listView1.Items.Count; i++)
{
for(int j=0;j<listView1.Items[i].SubItems.Count;j++)
{
string _strTemp = listView1.Items[i].SubItems[j].Text;
swStream.Write(_strTemp);
//插入"<----->"作为分隔符,可以任取
swStream.Write("<----->");
}
swStream.WriteLine();
}
//关闭流,释放资源
swStream.Flush();
swStream.Close();
//导入Txt文件后,自动打开文件
Process.Start("notepad.exe", stFilePath);
}
/// <summary>
/// 导入数据到ListView控件中.<br></br>
/// 2009-04-24 YJ 定义函数.<br></br>
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
StreamReader srStream = null;
if (File.Exists(stFilePath))
{
srStream = new StreamReader(stFilePath, System.Text.Encoding.UTF8);
listView1.Items.Clear();
//遍历txt文件里的所有行,并以ListView显示
while (!srStream.EndOfStream)
{
string _stLineValue = srStream.ReadLine();
ListViewItem _item = new ListViewItem();
_item.SubItems[0].Text = _stLineValue.Substring(0, _stLineValue.IndexOf("<----->"));
_stLineValue = _stLineValue.Substring(_stLineValue.IndexOf("<----->"));
_stLineValue = _stLineValue.Substring(7, (_stLineValue.Length - 7));
_item.SubItems.Add(_stLineValue.Substring(0, _stLineValue.IndexOf("<----->")));
_stLineValue = _stLineValue.Substring(_stLineValue.IndexOf("<----->"));
_stLineValue = _stLineValue.Substring(7, (_stLineValue.Length - 7));
_item.SubItems.Add(_stLineValue.Substring(0, _stLineValue.IndexOf("<----->")));
_stLineValue = _stLineValue.Substring(_stLineValue.IndexOf("<----->"));
_stLineValue = _stLineValue.Substring(7, (_stLineValue.Length - 7));
_item.SubItems.Add(_stLineValue.Substring(0, _stLineValue.IndexOf("<----->")));
if (_item.SubItems[3].Text.Equals("失败"))
{
_item.BackColor = Color.Red;
}
else
{
_item.BackColor = Color.Green;
}
listView1.Items.Add(_item);
}
}
else
{
MessageBox.Show("导出失败,找不到读取的文件");
}
}
}
}
家都知道操作文件吗!不非就是和数据流之类的东东打交道,所以要在我们的工程文件中加上引用“using System.IO;”,这个就是用来读写文件的。此实例运行效果如下:
接着编写代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Diagnostics;
namespace ReadWriteFile
{
public partial class Form1 : Form
{
//全局变量,文件全路径
private string stFilePath = string.Empty;
public Form1()
{
InitializeComponent();
ListViewItem lstItem = null;
string stState = string.Empty;
//行和列是否显示网格线
listView1.GridLines = true;
//单选时,选择整行
listView1.FullRowSelect = true;
//显示方式
listView1.View = View.Details;
//没有足够的空间显示时,是否添加滚动条
listView1.Scrollable = true;
//是否可以选择多行
listView1.MultiSelect = false;
listView1.Columns.Add("lstFileName", "文件名");
listView1.Columns.Add("lstNoteBook", "工作薄");
listView1.Columns.Add("lstArea", "区域");
listView1.Columns.Add("lstState", "导入状态");
for (int i = 0; i < 12; i++)
{
lstItem = new ListViewItem();
if (i % 2 == 0)
{
//lstItem.BackColor = Color.Green;
lstItem.ForeColor = Color.White;
stState = "成功";
}
else
{
//lstItem.BackColor = Color.Red;
lstItem.ForeColor = Color.Red;
stState = "失败";
}
lstItem.SubItems[0].Text = "《现代熟女故事》 ";
lstItem.SubItems.Add("最初的炙热过后,感情渐渐变地像鸡肋。");
lstItem.SubItems.Add("是守着属于自己的鸡肋还是冒险开始一段新感情?");
lstItem.SubItems.Add(stState);
listView1.Items.Add(lstItem);
}
//自动适应宽度,-1根据内容设置宽度,-2根据标题设置宽度.
listView1.Columns["lstFileName"].Width = -1;
listView1.Columns["lstNoteBook"].Width = -1;
listView1.Columns["lstArea"].Width = -1;
listView1.Columns["lstState"].Width = -1;
listView1.Columns["lstFileName"].Width = -2;
listView1.Columns["lstNoteBook"].Width = -2;
listView1.Columns["lstArea"].Width = -2;
listView1.Columns["lstState"].Width = -2;
}
/// <summary>
/// 导出数据到txt文件.<br></br>
/// 2009-04-24 YJ 定义函数.<br></br>
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button1_Click(object sender, EventArgs e)
{
//此处的文本文件在工程下Bin的程序集目录下
stFilePath = Application.StartupPath.Trim() + "//students" + DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒") + ".txt";
StreamWriter swStream;
if (File.Exists(stFilePath))
{
swStream = new StreamWriter(stFilePath);
}
else
{
swStream = File.CreateText(stFilePath);
}
for (int i = 0; i < listView1.Items.Count; i++)
{
for(int j=0;j<listView1.Items[i].SubItems.Count;j++)
{
string _strTemp = listView1.Items[i].SubItems[j].Text;
swStream.Write(_strTemp);
//插入"<----->"作为分隔符,可以任取
swStream.Write("<----->");
}
swStream.WriteLine();
}
//关闭流,释放资源
swStream.Flush();
swStream.Close();
//导入Txt文件后,自动打开文件
Process.Start("notepad.exe", stFilePath);
}
/// <summary>
/// 导入数据到ListView控件中.<br></br>
/// 2009-04-24 YJ 定义函数.<br></br>
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button2_Click(object sender, EventArgs e)
{
StreamReader srStream = null;
if (File.Exists(stFilePath))
{
srStream = new StreamReader(stFilePath, System.Text.Encoding.UTF8);
listView1.Items.Clear();
//遍历txt文件里的所有行,并以ListView显示
while (!srStream.EndOfStream)
{
string _stLineValue = srStream.ReadLine();
ListViewItem _item = new ListViewItem();
_item.SubItems[0].Text = _stLineValue.Substring(0, _stLineValue.IndexOf("<----->"));
_stLineValue = _stLineValue.Substring(_stLineValue.IndexOf("<----->"));
_stLineValue = _stLineValue.Substring(7, (_stLineValue.Length - 7));
_item.SubItems.Add(_stLineValue.Substring(0, _stLineValue.IndexOf("<----->")));
_stLineValue = _stLineValue.Substring(_stLineValue.IndexOf("<----->"));
_stLineValue = _stLineValue.Substring(7, (_stLineValue.Length - 7));
_item.SubItems.Add(_stLineValue.Substring(0, _stLineValue.IndexOf("<----->")));
_stLineValue = _stLineValue.Substring(_stLineValue.IndexOf("<----->"));
_stLineValue = _stLineValue.Substring(7, (_stLineValue.Length - 7));
_item.SubItems.Add(_stLineValue.Substring(0, _stLineValue.IndexOf("<----->")));
if (_item.SubItems[3].Text.Equals("失败"))
{
_item.BackColor = Color.Red;
}
else
{
_item.BackColor = Color.Green;
}
listView1.Items.Add(_item);
}
}
else
{
MessageBox.Show("导出失败,找不到读取的文件");
}
}
}
}
相关文章推荐
- C# listview控件右击导出数据到txt文本
- sqlserver数据导出为txt文件再导入mysql
- c# listview数据导出到生成的excel文件
- SQL 数据的导入导出,对远程(MSsql,OracleAccess,)数据库的操作以及读取Excel,txt文件中的数据
- mysql 导入导出Excel、txt文件数据
- VB C# listview 中的数据导出到excel 文件
- c# .Net :Excel NPOI导入导出操作教程之数据库表信息数据导出到一个Excel文件并写到磁盘示例分享
- C# 导出导入TXT文件
- 【黑马训练营】数据的导入和导出——Sqlsever表与txt文件
- C# DataGirdview手动添加数据,导出txt文件并自动对齐
- C#数据导入/导出Excel文件及winForm导出Execl总结
- Oracle sqlldr导入导出txt数据文件详解
- 将TXT文档中数据导入XML文件中 C#
- C# TXT文件导入至数据库
- 从数据库中把数据导出到txt文件(savefiledialog控件)
- C# 将listview 中的数据导出到excel 文件
- C# Excel导入导出数据(二)——客户端上传文件到服务器
- c# .Net :Excel NPOI导入导出操作教程之List集合的数据写到一个Excel文件并导出
- C#中将DataTable中数据导出到csv文件中
- Excel表的一些数据应用(从txt文本导出,导入到Excel表)