Aspose.Cells 插件使用 For C#


最近的項目使用了很多的Excel 作為導出的數據報告,使用到 Aspose.Cells 插件,就順便整理一下。

一:新建解決方案,目錄如下

  

  目錄說明:

    Program.cs - 入口類

    ExcelGenerator.cs - Aspose.Cells 操作類

    Aspose.Cell.dll - 基礎dll【文件見文章底部源代碼內】

    License.lic - Aspose.Cells 破解證書【文件見文章底部源代碼內】

      ps:由於 Aspose.Cells 插件 是收費插件,需要在使用插件前,設置一下許可證,否則在生成的Excel 中 會出現一個名叫 Evaluation Warning 的 Sheet.如圖所示:

    


二:Aspose.Cells 操作

  2.1 引入 Aspose.Cell.dll 

  

  2.2 設置 Aspose.Cell.dll 證書 License.lic

    2.2.1 設置證書。我一般都寫在生成Excel類的構造函數中了。文件路徑要和證書的位置保持一致
Excel.License l = new Excel.License();
l.SetLicense("Aid/License.lic");
    2.2.2 修改證書屬性。在解決方案中,右擊 License.lic 選擇屬性,修改 Copy to Ouput Directory 屬性為 Copy always

    

  2.3 打開現有Execl 模板

//模板文件路徑
string Template_File_Path = @".\Template\Template.xlsx";

//  打開 Excel 模板
Workbook CurrentWorkbook = File.Exists(Template_File_Path) ? new Workbook(Template_File_Path) : new Workbook();

//  打開第一個sheet
Worksheet DetailSheet = CurrentWorkbook.Worksheets[0];

  2.4 寫入數據

    2.4.1 填寫數據到指定單元格
 // 比如要在 A1 位置寫入 Demo這個值

Cell itemCell = DetailSheet.Cells["A1"];

itemCell.PutValue("Demo");
    2.4.2 把DataTable寫入到Excel
//  獲取 Table 數據
DataTable dt = GetData();
            
//  寫入數據的起始位置
string cell_start_region = "C1";
//  獲得開始位置的行號                    
int startRow = DetailSheet.Cells[cell_start_region].Row;
//  獲得開始位置的列號  
int startColumn = DetailSheet.Cells[cell_start_region].Column;  

//  寫入Excel。參數說明,直接查閱文章底部文檔鏈接
DetailSheet.Cells.ImportDataTable(dt, false, startRow, startColumn, true, true);

  2.5 保存Excel

//  設置執行公式計算 - 如果代碼中用到公式,需要設置計算公式,導出的報表中,公式才會自動計算
CurrentWorkbook.CalculateFormula(true);

//  生成的文件名稱
string ReportFileName = string.Format("Excel_{0}.xlsx", DateTime.Now.ToString("yyyy-MM-dd"));

//  保存文件
CurrentWorkbook.Save(@".\Excel\" + ReportFileName, SaveFormat.Xlsx);

三:參考資料以及源碼

  3.1 參考資料

 https://pan.baidu.com/s/1c2jf8Hi

   3.2 源代碼。文中用到的證書和dll 都可以在源碼中找到

  https://pan.baidu.com/s/1c2tUElU

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM