在良多系統,我們都曉得,Excel數據的導入導出操作是必不成少的一個功能,這種功能可以或許給利用者和外部進行數據互換,也能批量敏捷的錄入數據到系統中;但在一些系統中,為了便利,可能把良多個根本表或者相關的數據分析到一個Excel表格文件里面,然后但愿通過接口進行導入,這種需求處置就顯得比力復雜一點了。本文切磋在我的客戶關系辦理系統中,對于單個Excel表格中,調集了客戶根本數據及相關數據的導入和導出操作的處置。
本漫筆次要引見若何在系統中,導入單一文件中的數據到系統中,這個文件包含了根本數據和相關數據的導入和導出操作,一般來說如許的操作對于導入數據曾經足夠簡潔了,可是,有時候數據良多的環境下,我們可能需要每次選定文件也是一個麻煩的工作。因而指定目次進行批量數據的導入操作也是一個好的需求,能夠進一步簡化用戶的數據導入操作。
下面我們就來引見,導入、批量導入和導出的三個主要的操作,如圖所示。
我們曉得,要一次性導入幾個表的數據,需要先讀取Excel獲取各個Sheet(工作表)的數據,然后把它轉換為DataTable的數據對象,如許我們就能夠按照它的字段賦值給對應的實體類,然后挪用營業邏輯處置將數據寫入數據庫即可。
為了直觀的給利用者查看將要導入的數據,我們把需要導入到數據庫的數據,展示在界面上,供客戶確認,若是沒有問題,就能夠進行導入操作。因為我們需要操作多個數據表,因而無效讀取Excel里面的Sheet就是第一步工作。
查看Excel數據的操作代碼如下所示,次要的邏輯就是挪用Apose.Cell的封裝類進行處置
AsposeExcelTools.ExcelFileToDataSet(this.txtFilePath.Text, out myDs, out error);
雖然能夠一次性導入客戶和其相關數據,可是仍是一次性導入一個Excel,若是對于客戶數據比力多的環境下,一次次導入操作也是很繁瑣的工作,因而客戶提出,需要按照目次把所有相關的Excel數據一次性導入,這種導入有個問題就是我們不克不及再半途干涉導入操作,因而為了數據的平安性,我供給一個界面讓客戶選擇目次,然后把目次里面的Excel文件列出來,然后在讓客戶確認能否進一步導入。
前面引見了,我們將利用自定義模板,在模板文件里面的對應字段下面,綁定一個參數屬性就能夠了,通過Aspose.Cell的操作處置,我們就很便利把數據導出到Excel里面了,而里面的字段還能夠很便利實現的裁剪操作。
自定義模板文件結果如下所示。
如許操縱Aspose.Cell的處置操作,通過綁定相關的數據對象,我們就很容易實現數據導出到合適我們預期格局的Excel里面去了,如許操作高效、代碼清潔,Excel格局也很是合適我們的要求。
以上就是在客戶關系辦理系統里面碰著特殊的數據導入導出需求的引見和實現,但愿大師彼此交換,配合把軟件開辟過程中,數據導入導出操作的利用體驗做到最好,更合適我們客戶利用的習慣和需求。
相關論文