110,536
社区成员
发帖
与我相关
我的任务
分享
file = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "配置文件.ini");
var file = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "files", "学校考试.xlsx");
这类,你自己控制路径,而不要去猜结果。 public bool loadComponent()
{
DataTable satResult = 地址属性库.SatisfactionResult;
try
{
string date = Application.Current.Resources["HandleDate"].ToString();
DataRow dr = satResult.NewRow();
dr["时间"] = date;
var allsa = CalculateSatisfactionDegree("All");
dr["全局满意度"] = allsa;
string opdate = ProcessingDataFunction.DateTrans(date);
DataTable csvdt = CSVHelper.OpenCSV(@"fe\data.csv");
var querycsv = csvdt.AsEnumerable().Where(x => x["date"].ToString() == opdate);
if (querycsv.Count()==0)
{
DataRow csvdr = csvdt.NewRow();
csvdr["date"] = opdate;
csvdr["score"] = allsa.ToString("f2");
csvdt.Rows.Add(csvdr);
}
else
{
foreach (var qcsv in querycsv)
{
qcsv["score"] = allsa.ToString("f2");
}
}
CSVHelper.SaveCSV(csvdt, AppDomain.CurrentDomain.BaseDirectory+@"fe\data.csv");
for (int i = 0; i < 地址属性库.CompanyID.Count; i++)
{
dr[地址属性库.CompanyID[i]] = CalculateSatisfactionDegree(地址属性库.companyName[i]);
}
satResult.Rows.Add(dr);
//去重
DataTable stresult = satResult.DefaultView.ToTable(true);
DataTable result = stresult.Clone();
for (int i = 0; i < stresult.Rows.Count; i++)
{
if (result.AsEnumerable().Where(x=>x["时间"].ToString()==stresult.Rows[i]["时间"].ToString()).Count()>0)
{
continue;
}
var query = stresult.AsEnumerable().Where(x => x["时间"].ToString() == 地址属性库.SatisfactionResult.Rows[i]["时间"].ToString());
if (query.Count()>=2)
{
result.Rows.Add(query.Last().ItemArray);
}
else
{
result.Rows.Add(stresult.Rows[i].ItemArray);
}
}
地址属性库.SatisfactionResult = result;
return true;
}
catch (Exception)
{
return false;
}
}
其中在运行至调用OpenCSV方法时可能会出现错误。
public static DataTable OpenCSV(string fileName = "")
{
if (fileName=="")
{
MessageBox.Show("目标CSV文件不存在,请手动选择数据文件.");
System.Windows.Forms.OpenFileDialog ofd = new System.Windows.Forms.OpenFileDialog();
ofd.Filter = "CSV文件(*.csv)|*.csv";
ofd.DefaultExt = "csv";
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
fileName = ofd.FileName;
return OpenCSV(fileName, 0, 0, 0, 0, true);
}
else
{
return null;
}
}
else
{
return OpenCSV(fileName, 0, 0, 0, 0, true);
}
}
/// <summary>
/// 打开CSV 文件
/// </summary>
/// <param name="fileName">文件全名</param>
/// <param name="firstRow">开始行</param>
/// <param name="firstColumn">开始列</param>
/// <param name="getRows">获取多少行</param>
/// <param name="getColumns">获取多少列</param>
/// <param name="haveTitleRow">是有标题行</param>
/// <returns>DataTable</returns>
public static DataTable OpenCSV(string fullFileName, Int16 firstRow = 0, Int16 firstColumn = 0, Int16 getRows = 0, Int16 getColumns = 0, bool haveTitleRow = true)
{
DataTable dt = new DataTable();
FileStream fs = new FileStream(fullFileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);
//记录每次读取的一行记录
string strLine = "";
//记录每行记录中的各字段内容
string[] aryLine;
//标示列数
int columnCount = 0;
//是否已建立了表的字段
bool bCreateTableColumns = false;
//第几行
int iRow = 1;
//去除无用行
if (firstRow > 0)
{
for (int i = 1; i < firstRow; i++)
{
sr.ReadLine();
}
}
// { ",", ".", "!", "?", ";", ":", " " };
string[] separators = { "," };
//逐行读取CSV中的数据
while ((strLine = sr.ReadLine()) != null)
{
strLine = strLine.Trim();
aryLine = strLine.Split(separators, System.StringSplitOptions.RemoveEmptyEntries);
if (bCreateTableColumns == false)
{
bCreateTableColumns = true;
columnCount = aryLine.Length;
//创建列
for (int i = firstColumn; i < (getColumns == 0 ? columnCount : firstColumn + getColumns); i++)
{
DataColumn dc
= new DataColumn(haveTitleRow == true ? aryLine[i] : "COL" + i.ToString());
dt.Columns.Add(dc);
}
bCreateTableColumns = true;
if (haveTitleRow == true)
{
continue;
}
}
DataRow dr = dt.NewRow();
//for (int j = firstColumn; j < (getColumns == 0 ? columnCount : firstColumn + getColumns); j++)
//{
// dr[j - firstColumn] = aryLine[j];
//}
for (int j = firstColumn; j < aryLine.Length; j++)
{
dr[j - firstColumn] = aryLine[j];
}
dt.Rows.Add(dr);
iRow = iRow + 1;
if (getRows > 0)
{
if (iRow > getRows)
{
break;
}
}
}
sr.Close();
fs.Close();
return dt;
}
2、查找全部 "SetCurrentDirectory ", 查找结果 1, 整个解决方案, ""
匹配行: 0 匹配文件数: 0 已搜索文件总数: 499