📄 hongwaishuju.cs
字号:
}
else if (NewFileInfo[k].ToString().IndexOf("fz") >= 0) //列式规范标题标准格式文本数据。
{
StreamReader sr = new StreamReader(fs, Encoding.Default);
DataTable dt = new DataTable();
dt.TableName = NewFileInfo[k].ToString().Replace(".", "_");
string[] arrStrLine = sr.ReadToEnd().Trim().Split('\r'); //读取整个文件内容,并按照每行一个数组存储。
int nColumnCount = System.Convert.ToInt16(arrStrLine[0]); //将第一行的列数存入数组
dt.Columns.Add("所属型号");
dt.Columns.Add("试验项目编号");
dt.Columns.Add("数据类别");
for (int i = 1; i <= nColumnCount; i++) //根据读取的列名添加到数据表中
{
string cName = arrStrLine[i].Trim();
if (cName != "")
{
if (!dt.Columns.Contains(cName))
{
dt.Columns.Add(cName); //给DataTable建立标题
}
else
{
dt.Columns.Add(cName + "_1");
}
}
}
for (int i = nColumnCount+1; i <= arrStrLine.GetUpperBound(0); i++)
{
string strCurrLine = arrStrLine[i].Trim();
strCurrLine = strCurrLine.Replace("\t", " ");
while (strCurrLine.IndexOf(" ") > -1) //把数据中的空格都去掉
{
strCurrLine = strCurrLine.Replace(" ", " ");
}
strCurrLine = " " + strCurrLine; //补充3个空格
string[] ArrStrShuJu = strCurrLine.Split(' ');
while (ArrStrShuJu.GetUpperBound(0)+1 < nColumnCount + 3)
{
i = i + 1;
string strCurrLine1 = arrStrLine[i].Trim();
strCurrLine1 = strCurrLine1.Replace("\t", " ");
while (strCurrLine1.IndexOf(" ") > -1) //把数据中的空格都去掉
{
strCurrLine1 = strCurrLine1.Replace(" ", " ");
}
strCurrLine = strCurrLine +" "+ strCurrLine1; //将两行数据组合起来
ArrStrShuJu = strCurrLine.Split(' ');
}
//假如文件夹名称不是“20开头”,补上“20”
if (strFilePath.IndexOf("\\20") > 0)
{
ArrStrShuJu[1] = "PL12_20" + strFilePath;
}
else
{
ArrStrShuJu[1] = "PL12_" + strFilePath;
}
ArrStrShuJu[0] = "PL12";
ArrStrShuJu[2] = "仿真机数据";
dt.Rows.Add(ArrStrShuJu);
}
ds.Tables.Add(dt);
sr.Close();
}
else if (NewFileInfo[k].ToString().IndexOf("DI") >= 0) //复杂标题标准格式文本数据。
{
StreamReader sr = new StreamReader(fs, Encoding.Default);
DataTable dt = new DataTable();
int nFirstLine = 0;
dt.TableName = NewFileInfo[k].ToString().Replace(".", "_");
string[] arrStrLine = sr.ReadToEnd().Trim().Split('\r'); //读取整个文件内容,并按照每行一个数组存储。
for (int i = 0; i <= arrStrLine.GetUpperBound(0); i++)
{
if (arrStrLine[i].IndexOf("时间") > -1)
{
nFirstLine=i+1;
}
}
string strColumnName = arrStrLine[nFirstLine - 1].Trim();
strColumnName = strColumnName.Replace("\t", " ");
while (strColumnName.IndexOf(" ") > -1)
{
strColumnName = strColumnName.Replace(" ", " ");
}
string[] arrColName = strColumnName.Split(' '); //将第一行的列名存入数组
dt.Columns.Add("所属型号");
dt.Columns.Add("试验项目编号");
dt.Columns.Add("数据类别");
int nColumnsCount = arrColName.GetUpperBound(0); //第一行数据的列数。
for (int c = 0; c <= nColumnsCount; c++)
{
string cName = arrColName[c].Trim();
if (cName != "")
{
if (!dt.Columns.Contains(cName))
{
dt.Columns.Add(cName); //给DataTable建立标题
}
else
{
dt.Columns.Add(cName + "_1");
}
}
}
// string[] ArrStrShuJu = new string[nColumnsCount+3];
for (int i = nFirstLine; i <= arrStrLine.GetUpperBound(0); i++)
{
string strCurrLine = arrStrLine[i].Trim();
strCurrLine = strCurrLine.Replace("\t", " ");
while (strCurrLine.IndexOf(" ") > -1)
{
strCurrLine = strCurrLine.Replace(" ", " ");
}
strCurrLine = " " + strCurrLine; //把数据中的空格都去掉
string[] ArrStrShuJu = strCurrLine.Split(' ');
//假如文件夹名称不是“20开头”,补上“20”
if (strFilePath.IndexOf("\\20") > 0)
{
ArrStrShuJu[1] = "PL12_20" + strFilePath;
}
else
{
ArrStrShuJu[1] = "PL12_" + strFilePath;
}
ArrStrShuJu[0] = "PL12";
ArrStrShuJu[2] = "仿真机数据";
dt.Rows.Add(ArrStrShuJu);
}
ds.Tables.Add(dt);
sr.Close();
}
else if (NewFileInfo[k].ToString().IndexOf("中速") >= 0) //复杂标题标准格式文本数据。
{
StreamReader sr = new StreamReader(fs, Encoding.Default);
DataTable dt = new DataTable();
int nFirstLine = 0;
dt.TableName = NewFileInfo[k].ToString().Replace(".", "_");
string[] arrStrLine = sr.ReadToEnd().Trim().Split('\r'); //读取整个文件内容,并按照每行一个数组存储。
for (int i = 0; i <= arrStrLine.GetUpperBound(0); i++)
{
if (arrStrLine[i].IndexOf("时间") > -1)
{
nFirstLine = i + 1;
}
}
string strColumnName = arrStrLine[nFirstLine - 1].Trim();
strColumnName = strColumnName.Replace("\t", " ");
while (strColumnName.IndexOf(" ") > -1)
{
strColumnName = strColumnName.Replace(" ", " ");
}
string[] arrColName = strColumnName.Split(' '); //将第一行的列名存入数组
dt.Columns.Add("所属型号");
dt.Columns.Add("试验项目编号");
dt.Columns.Add("数据类别");
int nColumnsCount = arrColName.GetUpperBound(0); //第一行数据的列数。
for (int c = 0; c <= nColumnsCount; c++)
{
string cName = arrColName[c].Trim();
if (cName != "")
{
if (!dt.Columns.Contains(cName))
{
dt.Columns.Add(cName); //给DataTable建立标题
}
else
{
dt.Columns.Add(cName + "_1");
}
}
}
// string[] ArrStrShuJu = new string[nColumnsCount+3];
for (int i = nFirstLine; i <= arrStrLine.GetUpperBound(0); i++)
{
string strCurrLine = arrStrLine[i].Trim();
strCurrLine = strCurrLine.Replace("\t", " ");
while (strCurrLine.IndexOf(" ") > -1)
{
strCurrLine = strCurrLine.Replace(" ", " ");
}
strCurrLine = " " + strCurrLine; //把数据中的空格都去掉
string[] ArrStrShuJu = strCurrLine.Split(' ');
//假如文件夹名称不是“20开头”,补上“20”
if (strFilePath.IndexOf("\\20") > 0)
{
ArrStrShuJu[1] = "PL12_20" + strFilePath;
}
else
{
ArrStrShuJu[1] = "PL12_" + strFilePath;
}
ArrStrShuJu[0] = "PL12";
ArrStrShuJu[2] = "仿真机数据";
dt.Rows.Add(ArrStrShuJu);
}
ds.Tables.Add(dt);
sr.Close();
}
}
return ds;
}
#endregion
}
#endregion
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -