zoukankan      html  css  js  c++  java
  • 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 = @".TemplateTemplate.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

      

  • 相关阅读:
    李开复给中国学生的第一封信
    vc++学习篇(三)——预处理命令之条件编译(#ifdef,#else,#endif,#if等)
    高级程序员考试时间安排和参考书推荐
    vc++学习篇(四)—— 指针
    程序员应具备的素质
    Word 2003 长篇文档排版技巧(二)
    Google 技巧集锦
    给中国学生的第二封信
    修复mysql表
    社保相关
  • 原文地址:https://www.cnblogs.com/Zorser/p/7685944.html
Copyright © 2011-2022 走看看