這是一個基於 Go 語言開發的本地 Web 應用程式,旨在提供一個高效、私密且易於使用的 Excel 檔案內容檢索方案。使用者無需安裝複雜的資料庫或依賴雲端服務,即可在自己的電腦上對大量的 Excel 檔案建立索引,並根據指定的儲存格內容(如身分證號、訂單號等)快速反查到其所在的整行資料。
- Web 使用者介面: 提供一個現代化、直觀的網頁介面,所有操作(上傳、搜尋、管理)都在瀏覽器中完成。
- ZIP 檔案匯入: 支援上傳包含 Excel 檔案的
.zip壓縮包,後端會自動解壓縮並按原檔名建立子資料夾進行管理。 - 自動格式轉換: 內建呼叫 LibreOffice 的能力,可自動將舊版的
.xls檔案轉換為.xlsx格式,實現對新舊版本的無縫支援。 - 精準資料索引: 採用 SQLite 作為本地資料庫,為每個 Excel 檔案中的每一行資料建立索引,索引鍵值為該行所有儲存格的內容。
- 批次查詢: 搜尋框支援貼上多行文本,可一次性查詢多個關鍵字,系統會將結果按查詢詞分組展示。
- 結構化結果展示: 搜尋結果以表格形式清晰地展示匹配到的資料行及其表頭,並高亮顯示匹配的儲存格。
- 即時進度與日誌: 使用 Server-Sent Events (SSE) 技術,在上傳和索引等耗時操作期間,向前端即時推送進度條和詳細的日誌訊息。
- 完善的資料管理: 提供「完整重建索引」和「清除全部資料」的功能,方便使用者維護索引庫。
- 外部設定檔: 透過
config.yaml檔案管理應用程式的關鍵路徑(如檔案儲存路徑、LibreOffice 執行路徑),方便在不同環境下部署。 - 一鍵啟動: 為 Windows, macOS, Linux 等主流平台提供了方便的啟動腳本 (
start.bat,start.command),使用者雙擊即可啟動服務並自動打開瀏覽器。
您只需要在您的電腦上安裝 LibreOffice。這是一個免費的開源辦公軟體套件,我們的工具需要用它來處理舊版的 .xls 檔案。
- 下載: 從
build資料夾中,下載對應您作業系統的壓縮包(例如searchExcel_darwin_arm64.zip對應蘋果 M 系列晶片的 Mac)。 - 解壓縮: 將下載的 ZIP 檔案解壓縮到您希望存放的位置。
- 設定路徑 (首次使用時必須):
- 打開解壓縮後的資料夾,找到
config.yaml檔案。 - 用文字編輯器打開它。
- 修改
libreoffice_path這一項,填入您電腦上 LibreOffice 的完整執行檔路徑。- macOS 範例:
/Applications/LibreOffice.app/Contents/MacOS/soffice - Windows 範例:
C:\Program Files\LibreOffice\program\soffice.exe(請注意 Windows 的路徑格式)
- macOS 範例:
- 打開解壓縮後的資料夾,找到
- 啟動程式:
- Windows: 直接雙擊
start.bat。 - macOS: 直接雙擊
start.command。 - Linux: 在終端機中執行
./start.sh。
- Windows: 直接雙擊
- 使用: 腳本會自動打開一個終端機視窗(請勿關閉),並在幾秒後自動打開您的預設瀏覽器,載入工具介面。現在您可以開始上傳和搜尋了!
- 安裝 Go (建議 1.20 或更高版本)。
- 安裝 LibreOffice。
- Clone 本專案程式碼。
- 在專案根目錄下,執行
go mod tidy下載所有依賴。 - 根據您的系統,修改
config.yaml中的libreoffice_path。 - 執行
go run main.go啟動開發伺服器。 - 在瀏覽器中訪問
http://127.0.0.1:8080。
專案根目錄下已包含一個 build.sh 腳本,用於為所有主流平台進行編譯和打包。
- 在 macOS 或 Linux 系統下,直接執行:
./build.sh
- 腳本執行完畢後,所有平台的完整應用程式壓縮包將會出現在
./build資料夾中。
本專案為開源專案,所有程式碼均已發佈至 GitHub,歡迎進行審查、提出問題或貢獻程式碼。
- GitHub 儲存庫: https://github.com/lushi78778/searchExcel
本軟體按「原樣」提供,不附帶任何明示或暗示的保證,包括但不限於對適銷性、特定目的的適用性和非侵權性的保證。
- 資料安全: 本工具所有操作均在您的本機電腦上完成,任何檔案或資料都不會被上傳至任何網路伺服器。您應對自己的資料安全負全部責任。強烈建議您在使用本工具前,對重要資料進行備份。
- 責任限制: 在任何情況下,作者或貢獻者均不對因使用或無法使用本軟體而導致的任何索賠、損害或其他責任負責,無論是在合約、侵權或其他訴訟中。這包括但不限於資料遺失、資料不準確、或由您或第三方造成的損失。
- 合規使用: 您有責任確保您對資料的使用方式符合您所在地區的法律法規,特別是與個人隱私和資料保護相關的法律。
- 外部依賴: 本工具依賴 LibreOffice 進行檔案格式轉換。因 LibreOffice 本身的任何問題、錯誤或漏洞所造成的後果,本軟體作者不承擔任何責任。
使用本軟體即表示您已閱讀、理解並同意上述所有條款。