每個不會編程的科研人員上輩子都是那啥的天使
上週五的時候小蛇蛇青在GT里淚流滿面表示他老闆要他處理一份包含了一萬五千條數據的表格,需要把每一條數據和整個表格其他所有數據進行比對。我驚異地問:你就打算這麼肉眼篩選么……!他默默表示是這樣的。我在OTZ的同時決定幫他寫一個篩選器。
其實這是一個無比簡單的程序,就是獲取Excel文件,獲取需要比較的Columns,然後再遍歷一次Excel,排除當前行進行一一對比,然後把符合條件的數據存到DataTable中。青需要的篩選條件如下:當D單元格和N單元格的差值不等於500的時候,比較D和D(i),以及N和N(i)。當兩個數據的差值都小於500的時候,即是符合條件的數據。
初期我算法如下:
for (int i = 0; i < sheet.Rows.Count - 1; i++) for (int j = 0; j < sheet.Rows.Count - 1; j++) int D = Math.Abs(D2 - D1); if (D < 500 && N < 500 && Math.Abs(D1 - N1) != 500)
{
int D1 = int.Parse(sheet[i + 1, 3].Value.ToString());
int N1 = int.Parse(sheet[i + 1, 13].Value.ToString());
{
int D2 = int.Parse(sheet[j + 1, 3].Value.ToString());
int N2 = int.Parse(sheet[j + 1, 13].Value.ToString());
int N = Math.Abs(N2 - N1);
{
DataRow dr = dt.NewRow();
//寫入該行的數據
dt.Rows.Add(dr);
}
}
}