ByteScope

ICS Viewer

讀 .ics 行事曆檔案:所有活動排成清單,附月曆檢視,還能匯出可用試算表打開的 CSV。檔案不會離開你的瀏覽器。

行事曆是在你的裝置上直接讀取。行程、與會者和地點都在網頁內解析,絕不傳送到任何地方——不需要上傳、不需要帳號,也不會將任何內容新增到你的個人行事曆中。

將 .ics 行事曆檔案拖曳到這裡

邀請函、訂閱匯出的檔案或整個行事曆皆可,也可以點擊瀏覽選取檔案。

再次拖曳檔案會直接替換畫面上的內容,即使檔案讀取失敗也不會留下一行舊資料。

關於這個工具

.ics 檔是 Google 日曆、Outlook、Apple 行事曆和各種會議預約系統寄邀請或匯出行程時給你的格式——但直接點兩下打開,通常代表還沒看到內容就先把它匯進了自己的行事曆。改成把檔案拖到這裡:解析全在頁面裡完成,每個活動一列,列出開始、結束、地點、主辦人、參加者和狀態,另外還有月曆檢視,讓你看清整份行程實際落在哪幾週。

檔案從頭到尾不會離開這台電腦。行事曆匯出檔寫著你跟誰見面、什麼時候、在哪裡——只是想看個內容,實在沒必要把這些交給別人的伺服器。所以解析、月曆格線和 CSV 全都在你的瀏覽器裡完成,頁面根本沒有上傳端點,就算手滑也傳不出去。

重複活動只在答案百分之百確定時才展開。FREQ=DAILYFREQ=WEEKLYFREQ=MONTHLY 搭配 INTERVALBYDAYCOUNTUNTIL 的規則會實際計算並畫上月曆;超出這個範圍的——BYSETPOSFREQ=YEARLY,或這個解析器沒有十足把握的規則——就原封不動列出規則文字、不做計算。因為一份會默默生出錯誤日期的行事曆,比一份坦承「這條規則太複雜」的行事曆糟糕得多。

時間一律照檔案裡寫的顯示。頁面沒有內建時區資料庫,所以帶 TZID=Europe/Berlin 的值或結尾是 Z 的 UTC 值,會標明它的時區基準,而不是偷偷換算成你的——會議撞期往往就是這種偷換算造成的。CSV 匯出遵守同一條原則:照原文每個活動一列,重複規則放在獨立欄位,行程進到試算表的路上什麼都不會漏。

常見問題

我的行事曆檔案會被上傳嗎?

不會。瀏覽器直接從你的磁碟讀檔、在頁面裡解析,CSV 也是在本機產生。整個過程沒有伺服器、不用帳號,關掉分頁就什麼都不留。

怎麼打開 .ics 檔又不匯入自己的行事曆?

這正是這個頁面的用途。把檔案拖進來就能看到活動清單和月曆檢視,完全不會動到你自己的行事曆——這個頁面根本沒有存取 Google 日曆、Outlook 或 Apple 行事曆的權限,自然什麼都加不進去。

哪些重複活動會展開到月曆上?

常見的那幾種:FREQ=DAILYFREQ=WEEKLYFREQ=MONTHLY,搭配 INTERVALBYDAYCOUNTUNTIL。這些都會精確計算,包括「每月 31 號的活動遇到沒有 31 號的月份就直接跳過,而不是滑到 30 號」這條規則。

遇到工具不支援的重複規則會怎樣?

它會被單獨列出來,附上原始的 RRULE 文字和拒絕計算的原因,月曆上只畫該活動本身的 DTSTART。我們不會捏造近似的重複序列——月曆上一個看起來很合理的錯誤日期,正是會害你錯過會議的那種失誤。

時間會換算成我的時區嗎?

不會,這是刻意的設計。頁面沒有內建時區資料庫,所以帶 TZID= 的值或結尾為 Z 的 UTC 值都照原樣顯示、標明基準。用猜出來的規則換算,比直接讓你看到檔案實際寫什麼更危險。

可以把活動匯到 Excel 或 Google 試算表嗎?

可以。挑好想要的欄位再下載 CSV——UID、摘要、開始、結束、全天標記、地點、說明、狀態、主辦人、參加者、分類和重複規則都有。記得讓 BOM 選項保持開啟,Excel 才能正確顯示非英文的標題。

重複活動的每一次發生在 CSV 裡都會有一列嗎?

不會。CSV 忠實反映檔案內容:每個 VEVENT 照原文一列,RRULE 放在重複規則欄。展開重複是月曆檢視的工作,所以匯出的內容不會因為你剛好捲到多遠的未來而改變。

檔案壞掉或根本不是行事曆怎麼辦?

工具會明確告訴你哪裡出問題。少了 BEGIN:VCALENDAR、區塊沒關閉、日期解析不了、期間格式錯誤,每一種都有專屬的訊息並附上出錯的行號;解析成功的活動照樣顯示,不會跟壞掉的部分一起被丟掉。