读取数据报文的内容,以下为需要读取的文本数据示例。
库存管理-库存事务历史
事务ID 事务日期 商品编码
218478806 2011-04-14 2100325K0094
218478808 2011-04-14 2100325K0150
218478810 2011-04-14 2100325K0145
218478812 2011-04-14 2100325K0131
218478814 2011-04-14 2100328K0066
文本是以‘\t’为分隔符。墙头草
FrmReaderFile.cs代码如下:
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.Collections;
namespace sms
{
public partial class FrmReaderFile : Form
{
public FrmReaderFile()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
DataTable dt = new DataTable();
//以下用循环产生列?
dt.Columns.Add("事物ID");
dt.Columns.Add("事物日期");
dt.Columns.Add("商品编码");
dt.Columns.Add("4");
dt.Columns.Add("5");
dt.Columns.Add("6");<br><br> string strFilePath = @"E:/数据报文.txt";
if (!File.Exists(strFilePath))
{
MessageBox.Show("未找到文本文件!","提示",MessageBoxButtons.OK,MessageBoxIcon .Error);
return;
}
else
{
FileStream fs = new FileStream(strFilePath, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("gb2312"));
string strLine = sr.ReadLine();
int count =0;
while (strLine != null)
{
string[] strArry = strLine.Split('\t');
DataRow dr = dt.NewRow();
for (int i = 0; i <= strArry.Length - 1; i++)
{
dr[i] = strArry[i];
}
dt.Rows.Add(dr);
strLine = sr.ReadLine();
}
sr.Close();
fs.Close();
gridControl1.DataSource = dt;
}
}
}<br>