MFC打开csv文件并把文件内容显示到list control控件内

  • 首先讲界面的设置
    在这里插入图片描述
    界面设置如图,一个list control控件,名称设置为m_list,属性中的view(视图)设置为Report;一个编辑控件,主要是用于输入加载的csv文件名,类别为值,名称为m_file,变量类型设置为CString;最后一个按钮控件,修改名字为载入卡号。双击该按钮添加消息处理函数。
  1. 下面添加代码,在XXXDlg.cpp文件中的OnInitDialog()函数中添加代码:
    DWORD  style = m_list.GetExtendedStyle();
	//添加网格线风格以及整行选中的风格以及前面加有选择框
	style |= LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT;
	//设置扩展风格
	m_list.SetExtendedStyle(style);
	// TODO: 在此添加额外的初始化代码
	m_list.InsertColumn(0, "编号", LVCFMT_CENTER, 60);
	m_list.InsertColumn(1, "卡号", LVCFMT_CENTER, 80);

在这里插入图片描述

这部分代码主要是设置list control控件的风格以及每列的名称。

  1. 在消息处理函数中添加代码,即刚才 双击按钮后创建的函数。
    CStdioFile file;
	//file.Open(_T("./cardid.csv"), CFile::modeRead);

	UpdateData(TRUE);
	file.Open(m_file, CFile::modeRead);

	CString str;
	int i = 0;//读取行数计数器
	while (file.ReadString(str))
	{
		str = str.Trim(_T(" "));
		CString substr[1];
		int count = 0;
		int index = str.Find(_T(","));
		while (index != -1 && count < 9)
		{
			substr[count++] = str.Left(index);
			str = str.Right(str.GetLength() - index - 1);
			index = str.Find(_T(","));
		}
		substr[count++] = str;
		CString stmp;
		stmp.Format(_T("%s"), substr[0]);
		char cshar[100];
		sprintf_s(cshar, "%d", i + 1);
		m_list.InsertItem(i, "");
		m_list.SetItemText(i, 0, cshar);
		m_list.SetItemText(i, 1, stmp);
		i++;
	}
	file.Close();

在这里插入图片描述

  1. 在代码目录中创建csv文件,比如我的
    在这里插入图片描述
    在这里插入图片描述

  2. 效果图(运行程序时别忘了把csv文件关闭)
    在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值