浏览代码

优化excel及txt读取。

develop
曾凯 4 个月前
父节点
当前提交
a5c8c30de8
共有 3 个文件被更改,包括 82 次插入35 次删除
  1. +55
    -20
      CnasSynchronusClient/InsturmentData/ExcelInstrumentData.cs
  2. +25
    -13
      CnasSynchronusClient/InsturmentData/TXTInstrumentData.cs
  3. +2
    -2
      CnasSynchronusDAL/DAL/TXTDAL.cs

+ 55
- 20
CnasSynchronusClient/InsturmentData/ExcelInstrumentData.cs 查看文件

@@ -167,25 +167,32 @@ namespace CnasSynchronusClient
DataRow drNew = dtCompine.NewRow(); DataRow drNew = dtCompine.NewRow();
foreach (DataColumn dc in dtCompine.Columns) foreach (DataColumn dc in dtCompine.Columns)
{ {
if (dc.ColumnName.ToString().ToLower() == strDateColumn.ToLower())
try
{ {
DateTime dt = DateTime.Now;
if (DateTime.TryParse(dr[dc.ColumnName].ToString(), out dt))
if (dc.ColumnName.ToString().ToLower() == strDateColumn.ToLower())
{ {
drNew[dc.ColumnName] = dr[dc.ColumnName].ToString();
DateTime dt = DateTime.Now;
if (DateTime.TryParse(dr[dc.ColumnName].ToString(), out dt))
{
drNew[dc.ColumnName] = dr[dc.ColumnName].ToString();
}
else
{
DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString(), ExcelFormat.ExcelFileDateColumnFormat, new System.Globalization.CultureInfo("zh-CN", true));
if (dtTime.ToString("HH:mm:ss") == "00:00:00")
drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd");
else
drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
}
} }
else else
{ {
DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString(), ExcelFormat.ExcelFileDateColumnFormat, new System.Globalization.CultureInfo("zh-CN", true));
if (dtTime.ToString("HH:mm:ss") == "00:00:00")
drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd");
else
drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
drNew[dc.ColumnName] = dr[dc.ColumnName];
} }
} }
else
catch
{ {
drNew[dc.ColumnName] = dr[dc.ColumnName];
} }
} }
dtCompine.Rows.Add(drNew); dtCompine.Rows.Add(drNew);
@@ -204,17 +211,45 @@ namespace CnasSynchronusClient


public override DataTable GetInstrumentDataStruct() public override DataTable GetInstrumentDataStruct()
{ {
return dataBaseService.GetInstrumentDataStruct(
new ExcelOpenParams
Dictionary<string, DataTable> excels = new Dictionary<string, DataTable>();

//读取数据
foreach (var item in LstFileFullName)
{
try
{ {
StrPath = StrLocalPath,
ExcelFileVersion = ExcelFormat.ExcelFileVersion,
autoSql = ExcelFormat.AutoSql
},
new ConditionParams
Dictionary<string, DataTable> datas = dataBaseService.GetInstrumentData(
new ExcelOpenParams
{
StrPath = item,
ExcelFileVersion = ExcelFormat.ExcelFileVersion,
autoSql = ExcelFormat.AutoSql
});

foreach (var key in datas.Keys)
{
if (false == excels.ContainsKey(key))
{
excels.Add(key, datas[key]);
}
else
{
foreach (DataRow dr in datas[key].Rows)
{
DataRow drNew = excels[key].NewRow();
drNew.ItemArray = dr.ItemArray;
excels[key].Rows.Add(drNew);
}
}
}
}
catch
{ {
TableName = strTableName
});

}
}

return (0 < excels.Count) ? excels.First().Value : null;
} }
} }
} }

+ 25
- 13
CnasSynchronusClient/InsturmentData/TXTInstrumentData.cs 查看文件

@@ -166,33 +166,45 @@ namespace CnasSynchronusClient
dtCompine = dataTables[0].Clone(); dtCompine = dataTables[0].Clone();
foreach (DataTable dt1 in dataTables) foreach (DataTable dt1 in dataTables)
{ {
foreach (DataRow dr in dt1.Rows)
DataRow[] rows = dt1.Select(string.Format("{0}>'{1}'", strDateColumn, strDate));
foreach (DataRow dr in rows)
{ {
DataRow drNew = dtCompine.NewRow(); DataRow drNew = dtCompine.NewRow();
foreach (DataColumn dc in dtCompine.Columns) foreach (DataColumn dc in dtCompine.Columns)
{ {
if (dc.ColumnName.ToString().ToLower() == strDateColumn.ToLower())
try
{ {
DateTime dt = DateTime.Now;
if (DateTime.TryParse(dr[dc.ColumnName].ToString(), out dt))
if (dc.ColumnName.ToString().ToLower() == strDateColumn.ToLower())
{ {
drNew[dc.ColumnName] = dr[dc.ColumnName].ToString();
DateTime dt = DateTime.Now;
if (DateTime.TryParse(dr[dc.ColumnName].ToString(), out dt))
{
drNew[dc.ColumnName] = dr[dc.ColumnName].ToString();
}
else
{
DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString(), normalFileFormat.NormalFileDateColumnFormat, new System.Globalization.CultureInfo("zh-CN", true));
if (dtTime.ToString("HH:mm:ss") == "00:00:00")
drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd");
else
drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
}
} }
else else
{ {
DateTime dtTime = DateTime.ParseExact(dr[dc.ColumnName].ToString(), normalFileFormat.NormalFileDateColumnFormat, new System.Globalization.CultureInfo("zh-CN", true));
if (dtTime.ToString("HH:mm:ss") == "00:00:00")
drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd");
else
drNew[dc.ColumnName] = dtTime.ToString("yyyy-MM-dd HH:mm:ss");
drNew[dc.ColumnName] = dr[dc.ColumnName];
} }
} }
else
catch
{ {
drNew[dc.ColumnName] = dr[dc.ColumnName];
} }
} }
dtCompine.Rows.Add(drNew);

if (0 < $"{drNew[strDateColumn]}".CompareTo(strDate))
{
dtCompine.Rows.Add(drNew);
}
} }
} }
} }


+ 2
- 2
CnasSynchronusDAL/DAL/TXTDAL.cs 查看文件

@@ -48,7 +48,7 @@ namespace CnasSynchronusDAL
{ {
DataTable dt = new DataTable(); DataTable dt = new DataTable();
try try
{
{
switch (t.TxtFileMode) switch (t.TxtFileMode)
{ {
case "1": case "1":
@@ -65,7 +65,7 @@ namespace CnasSynchronusDAL
case "3": case "3":
dt = ReadFileThirdth.ReadTableData(t.StrPath); dt = ReadFileThirdth.ReadTableData(t.StrPath);
break; break;
}
}
} }
catch (Exception ex) catch (Exception ex)
{ {


正在加载...
取消
保存