簡體   English   中英

C#Excel閱讀優化

[英]C# Excel Reading optimization

我的應用程序將建立一個項目列表,並從Excel文件中獲取必要的數據(例如:價格,客戶項目代碼)。

  • 此參考excel文件有650行和7列。
  • 應用程序將在一個運行時讀取10到12個項目的行。

逐項閱讀訂單項會更明智嗎? 還是我應該先將excel文件中的所有訂單項讀入列表/數組,然后從那里進行搜索? 謝謝

最好從設計最能代表數據的類開始,而不管其來自何處。 假設沒有Excel,SQL等。

如果您的數據總是相對較小(650行),那么我將整個內容讀入您創建的任何數據結構(您自己的類)。然后,您可以查詢那些數據以獲取所需的任何數據,例如

var itemsIWant = allMyData.Where(item => item.Value == "something");

原因是它使您能夠將查詢(選擇單個項目)與存儲(無論數據來自哪個文件或源)分開。如果將Excel替換為其他內容,則無需重寫其他代碼。 如果逐行閱讀,則根據條件選擇項目的代碼將與您的Excel閱讀代碼混合在一起。

將各部分保持分開可使您更輕松地獨立測試代碼的各個部分。 您可以確認一個組件正確讀取了Excel中的內容並將其轉換為數據。 您可以確認另一個組件正確執行查詢以返回所需的數據(並且不在乎該數據來自何處。)


關於優化-無論您要讀取每一行,您都將要從磁盤打開文件。 那就是所有開銷的地方。 是否一次閱讀整件事,然后一次查詢或檢查每一行並不是一個重要因素。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM