Pārlūkot izejas kodu

优化excel及txt读取。

develop
曾凯 pirms 4 mēnešiem
vecāks
revīzija
a5c8c30de8
3 mainītis faili ar 82 papildinājumiem un 35 dzēšanām
  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 Parādīt failu

@@ -167,25 +167,32 @@ namespace CnasSynchronusClient
DataRow drNew = dtCompine.NewRow();
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
{
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);
@@ -204,17 +211,45 @@ namespace CnasSynchronusClient

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 Parādīt failu

@@ -166,33 +166,45 @@ namespace CnasSynchronusClient
dtCompine = dataTables[0].Clone();
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();
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
{
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 Parādīt failu

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


Notiek ielāde…
Atcelt
Saglabāt