李進豪
(廣東省海洋工程職業技術學校,廣州510320)
數字化、網絡化、智能化滲透在職業教育的各個領域,智慧教育已成為實現職業教育跨越式發展的必然選擇。基于實際工作項目和智慧教育需求,重點探索基于C#的報表自動生成的原理與核心技術,并以實踐案例輔以佐證。
C#;Excel;報表自動生成
以多媒體、物聯網、云計算、大數據、人工智能等信息技術的應用為基礎,以提升信息技術與學科教學深度融合為抓手,數字化、網絡化、智能化滲透在職業教育的各個領域,智慧教育已成為實現職業教育跨越式發展的必然選擇。構建互通共享的數據集成平臺,支持學校智慧化管理與精準化服務,支持混合教學、個性化學習、研學共同體等,提升教育教學質量,培育T型工匠人才,是目前職業學校信息化建設的核心。作為廣東省中小學教師信息技術應用能力提升工程2.0試點校信息化管理團隊成員,筆者對如何實現智慧化管理與精準化服務、如何基于名師工作室提升教師信息技術應用能力深有感觸。文章主要根據筆者的實際工作項目,以職業學校的教育信息化為背景,重點探索在數據集成平臺下基于C#的報表自動生成技術的可行性方案與應用效果。
期末考試結束后,絕大多數學校都會要求任課教師登錄學校OA系統中錄入學生成績,并提交成績登記表和成績報告分析表等。如何從互通共享的數據集成平臺中提取數據自動生成相關報表,實現數據零差錯對接,減少教師的工作量,提升教師的獲得感,是智慧教育之精準化服務的追求。
在新生入學時,每位班主任都會錄入學生基本信息并提交學校學籍管理中心。當學生信息有異動時,相關人員也會在學校學籍管理中心進行及時更新。如何從互通共享的數據集成平臺中提取數據自動形成基本醫療保險電子申報表與畢業生登記表等,實現智能化對接并確保信息的唯一性,減少班主任的工作量,提升班主任的幸福感,是智慧教育之精準化服務的使命。
C#由C和C++衍生,它繼承了C和C++的強大功能,是一種安全、簡單、現代、通用、流行的面向對象程序設計語言。
Excel擁有直觀的界面、出色的圖表工具等,能設計出各種報表,是目前流行的數據處理軟件之一,同時也是絕大多數管理系統支持的數據交換格式。

圖1

(1)背景
從互通共享的數據集成平臺獲取基礎數據,以智能化、精準化的管理系統(含二次開發的輔助教學軟件)為核心,基于需求動態形成用戶報表,實現數據零差錯對接,確保數據的唯一性。
(2)案例
實現功能:打開當前路徑下文件名為“rj1701byxx.xlsx”的文件,并向該工作薄的第一個工作表的第1行第1列單元格(A1)中寫入“TEST2020”。
開發語言:C#。
數據源:工作薄(Excel文檔)。
(3)基本原理

(1)創建用戶報表框架
基于文件復制實現用戶報表框架的個性化獲取,基于自定義格式提升報表框架的可更新性。
(2)獲取有效數據
基于數據篩選實現有效數據的智能化獲取,基于自定義條件提升篩選條件的可選擇性。
(3)動態生成控件
基于“自定義+個性化”利用內置代碼動態生成控件,基于動態自動生成控件并讀取字段名稱實現管理系統(含二次開發)的可擴展性。
(4)寫入報表數據
基于字段名稱匹配與循環讀寫實現報表數據的零差錯寫入,確保數據的唯一性和可靠性。
(5)相關引用
基于開發需求引用必要的類型庫,以提升系統的簡潔性與穩定性,基于using語句簡化對命名空間的引用。




}//程序段功能:動態按需生成控件,并自適應讀取相應信息,以提升程序的可擴展性


報表:畢業生登記表。
項目來源:基于名師工作室提升教師的信息技術應用能力(廣東省職業教育“雙師型”名教師工作室專項)&報表自動生成技術(廣東省教科文衛系統勞模和工匠人才創新工作室專項)。
需求:基于智能化的輔助教學軟件從互通共享的數據集成平臺中獲取相應數據并自動形成畢業生登記表(基于“需求+二次開發”的輔助教學軟件)。
主要目標:減少班主任的工作量,實現數據零差錯對接。
輔助目標:基于真實項目助力工作室學員互助研修(研修共同體),基于經驗積累與分享提升學員的信息技術應用能力。

圖2
(1)基于數據集成平臺導出基礎數據

(4)根據用戶報表所需字段自適應逐行從“數據集”讀取并寫入用戶報表
核心代碼:自適應讀寫

(5)保存
核心代碼:保存工作薄
Mywb.Save();

圖3

圖4
4.6 圖例3:用戶報表(畢業生登記表)

圖5
智慧化管理和精準化服務,有利于提高管理效率和服務質量,有利于提升師生的獲得感和幸福感;以工作室真實項目為載體,基于研修共同體互助研學,有利于提升教師的信息技術應用能力。本文提及的代碼全部在“VS 2019+C#+Office 2016”環境下基于C#調試通過,并應用于實際工作中。