iT邦幫忙

0

C# 設計一個查詢Excel內容關鍵字的功能

Ming 2022-11-07 11:53:232124 瀏覽
  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20221107/20152275UCszGSfZlY.png
想製作一個查詢關鍵字的功能
https://ithelp.ithome.com.tw/upload/images/20221107/20152275draCmLAZtB.png
在一個資料夾下有許多子目錄,每一個子目錄中都有一份Excel檔案
https://ithelp.ithome.com.tw/upload/images/20221107/20152275pP39wjOo3l.png
如何在key完關鍵字之後可以去查詢Excel的內容,並且回傳對應的Excel在那些路徑
請教各位大大,感謝!

froce iT邦大師 1 級 ‧ 2022-11-07 13:01:20 檢舉
兩個方案:
1. 用 Elasticsearch或其他檢索工具 做全文檢索。
2. excel改成database直接網頁化。

這想寫隻小程式去做基本上是做不到...寫出來也很不實用。
jyo238 iT邦新手 5 級 ‧ 2022-11-08 09:28:53 檢舉
不考慮效能的話 就只能遍歷一個一個進去找吧。
列出目錄內所有文件後用一些library像NPOI的去查找,應該可行。
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
allenlwh
iT邦高手 1 級 ‧ 2022-11-07 12:44:57

如果這個路徑下有30個資料夾,每個資料夾內都有30個Excel檔案,那就等於要開啟900次Excel。
每次開啟一個Excel,就要去找關鍵字,這效能問題.......
日後資料夾數量一直增加,Excel也一直增加........
我不知道 其他大神 有沒有更好的解法?

Ming iT邦新手 5 級 ‧ 2022-11-07 13:12:22 檢舉

若果暫時不考慮效能的狀態下呢

allenlwh iT邦高手 1 級 ‧ 2022-11-07 14:23:36 檢舉

如果不考慮效能,輸入關鍵字按下查詢,可能要等3-5分鐘(也有可能更久)才會有回應

ckp6250 iT邦好手 1 級 ‧ 2022-11-07 17:28:20 檢舉

如果已可預期效能不彰而硬要去做的話,
事實上是浪費時間,做出來也沒人想用。

1
海綿寶寶
iT邦大神 1 級 ‧ 2022-11-07 13:47:52

這篇來改
結案
/images/emoticon/emoticon33.gif

另外可以參考這篇
是有關於用C#列出目錄(和子目錄)中所有檔案名稱

1
Ks
iT邦新手 3 級 ‧ 2022-11-07 15:43:22

提供一些簡單的想法

  1. 可以開一個資料表存取關鍵字
  2. 每次存取文件的時候, 用關鍵字去掃描, 然後寫到對應的關係的另外一張資料表
  3. 定期寫個排程來掃描所有文件 (如判斷是否有新增關鍵字等等)

如果熟悉redis的話, 也可以考慮存到redis上, redis必須要支持持久化和配合一些redis的資料結構,比如list, hset等等

當然如果要快和有效率, 相信elastic search是最佳選擇了

我要發表回答

立即登入回答