数据文件类似于这样子
A,B,C,D,E
F,G,H,I,J
K,L,M,N,O
.....
每一行的个数都是一样的,现在要得到它一行的具体项目个数
代码如下:DataTable dt = new DataTable();
DataRow row = null;
string lineData = null;
string [] split = null;
try
{
StreamReader sr = new StreamReader(File.OpenRead(strCsvPath), System.Text.Encoding.Default);
sr.BaseStream.Seek(0, SeekOrigin.Begin); for (int k = 0; k < 5; k++)
{
dt.Columns.Add(k.ToString());
} while (sr.Peek() > -1)
{
row = dt.NewRow(); lineData = sr.ReadLine();
split = lineData.Split(new char[] { ',' }); for (int l = 0; l < 5; l++)
{
row[l] = split[l]; }
dt.Rows.Add(row);
}
sr.Close();
请教各位要怎么样把代码里的 '5' 这个常量去掉,换成变量?
A,B,C,D,E
F,G,H,I,J
K,L,M,N,O
.....
每一行的个数都是一样的,现在要得到它一行的具体项目个数
代码如下:DataTable dt = new DataTable();
DataRow row = null;
string lineData = null;
string [] split = null;
try
{
StreamReader sr = new StreamReader(File.OpenRead(strCsvPath), System.Text.Encoding.Default);
sr.BaseStream.Seek(0, SeekOrigin.Begin); for (int k = 0; k < 5; k++)
{
dt.Columns.Add(k.ToString());
} while (sr.Peek() > -1)
{
row = dt.NewRow(); lineData = sr.ReadLine();
split = lineData.Split(new char[] { ',' }); for (int l = 0; l < 5; l++)
{
row[l] = split[l]; }
dt.Rows.Add(row);
}
sr.Close();
请教各位要怎么样把代码里的 '5' 这个常量去掉,换成变量?
解决方案 »
- 如何将一个BYTE转换为颜色。
- 登录用户时,限制大小写的密码怎么写啊!
- C#程序中用到一些图片如何放到资源里?在程序中如何访问?
- 如何判断select的值是否在数据库里
- vs2005怎么有时候可以单步执行,有时候弄不出来啊,那个命令菜单里显示的是灰的,为什么啊
- 一个关于字符串编码的问题,望高人指教一二
- winform中刷新label控件
- 我想得到"SignIn"这个字符串值,xmlFile.SelectNodes(xpath),这个 xpath怎么写?
- C#Form编程,Datatable增加1行,Datagridview增加2行,不知道为什么
- 请问有用c#实现数据结构的书吗?
- c# web中如何实现按钮与纯文本的关联问题,很急!!!
- 请教建立windows应用程序项目和jscript的关系,在线等
DataRow row = null;
string lineData = null; try
{
StreamReader sr = new StreamReader(File.OpenRead(strCsvPath), System.Text.Encoding.Default);
do
{
lineData = sr.ReadLine();
if (lineData == "" || lineData == null)
{
break;
} string[] spl = lineData.Split(','); //添加列
if (spl.Length > dt.Columns.Count)
{
for (int k=dt.Columns.Count ; k<spl.Length ; k++)
{
dt.Columns.Add(k.ToString());
}
} //添加行
row = dt.NewRow();
for (int l = 0; l < spl.Length; l++)
{
row[l] = split[l]; }
dt.Rows.Add(row);
} while(true); 这样的话每行的元素个数可以不相同了!
没有测试过 楼主自己测试一下~~