日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

东油ical-ics日历课程

發布時間:2023/12/29 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 东油ical-ics日历课程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

東油ical-ics日歷課程

  • ics文件
  • 文件作用
  • 實現過程
    • excel課表解析
    • ics文件生成
    • 后端實現
    • 前端實現
    • 實現效果
  • 項目地址

ics文件

.ics是Microsoft Outlook 2002 或更高版本創建的 iCalendar 格式文件,ics文件支持PC、Android、iOS等進行日歷日程導入

文件作用

由于教務系統導出的課程表為excel文件,打開excel課表或者截圖有一點點繁瑣,并且沒有上課提醒

實現過程

excel課表解析

excel課表格式如下

根據課表的排版規律使用Apache POI框架對課表數據進行解析,根據課程表排版可知課程信息由合并單元格存儲,這里的主要操作就是獲取獲取合并單元格中的課程信息,例如上課時間、地點等

/*** 獲取合并單元格的值* @author dqp* @param sheet* @param row* @param column* @return*/public static String getMergedRegionValue(Sheet sheet, int row, int column) {int sheetMergeCount = sheet.getNumMergedRegions();for (int i = 0; i < sheetMergeCount; i++) {CellRangeAddress ca = sheet.getMergedRegion(i);int firstColumn = ca.getFirstColumn();int lastColumn = ca.getLastColumn();int firstRow = ca.getFirstRow();int lastRow = ca.getLastRow();if (row >= firstRow && row <= lastRow) {if (column >= firstColumn && column <= lastColumn) {Row fRow = sheet.getRow(firstRow);Cell fCell = fRow.getCell(firstColumn);return getCellValue(fCell);}}}return null;}

數據獲取完成以后就需要對有效數據進行篩選

ics文件生成

數據篩選完成以后,同樣選用ical4j框架對每一條課程數據進行生成

后端實現

前面步驟已經實現了ics文件的導出,這里使用的是spring boot進行后端實現

前端實現

前端由我的室友帥丹完成

實現效果

目前實現對東油課表excel文件進行解析生成ics文件,并且還存在一些問題為解決,先湊合著用

項目地址

歡迎訪問nepu-ical日歷課程

總結

以上是生活随笔為你收集整理的东油ical-ics日历课程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。