部署Excel DNA应用程序

时间:2018-07-25 19:20:42

标签: c# excel-addins excel-dna

我是使用Excel DNA的新手,所以如果问题解决,请原谅。我有一个ExcelDNA项目,我正在尝试查找有关如何在用户计算机上发布和部署的步骤。该应用程序使用vs2017用c#编写,并且是我安装了ExcelDna.Integration和Microsoft.Office.Interop.Excel DLL的类库。此时应用程序很小,它包含一个名为RibbonControl的类,该类继承自ExcelRibbon。在RibbonControl类中,有一个XML标签,用于声明按钮和onaction方法。这将在功能区中创建按钮。该按钮的功能只是使用Microsoft.Office.Interop.Excel DLL将数据写入excel工作表。我没有使用vsto插件,也没有使用Excel互操作库和Excel DNA。在发布模式下构建时,目录看起来像这样

bin release content

我的问题是,我可以按原样发布此应用程序吗?如果可以,我将如何去做。如果不是,我需要什么来发布和部署此应用程序。谢谢

1 个答案:

答案 0 :(得分:1)

目的是您现在有两个单文件打包的加载项:

  • Ribbon-AddIn-packed.xll
  • Ribbon-AddIn64-packed.xll

这些分别是32位和64位版本的Excel的加载项,如果所有设置均正确,则只需重新分发它们即可。

但是,您首先应该检查EPPlus.dll是否已正确打包并可以正常工作,因此建议您将适当的打包加载项复制到计算机上的单独目录中,并从那里检查其是否正常运行。如果没有,请复制.xll旁边的EPPlus.dll,然后再次检查。

如果未将必需的 public function get_Cinprofile($student_id) { //echo $student_id;die; $this->db->select('students_to_cin.*,schools.school_name,schools.school_address,schools.school_address1,schools.school_email,schools.school_phone,schools.school_principal_name,schools.school_medium,states.state_subdivision_name,class.class_key,category.categoryKey,period.period_name,countries.country_name,studentlist.stud_cin,studentlist.stud_syllabus,studentlist.stud_school_state,studentlist.stud_school_country,schools.school_pincode'); $this->db->from('students_to_cin'); $this->db->join('schools','schools.school_id=students_to_cin.school_id'); $this->db->join('states','states.state_subdivision_id=students_to_cin.state_id'); $this->db->join('class','students_to_cin.class_id = class.class_id'); /*class.class_key,*/ $this->db->join('category','students_to_cin.category_id = category.category_id'); $this->db->join('period','students_to_cin.period_id = period.period_id'); $this->db->join('countries','students_to_cin.country_id = countries.country_id'); $this->db->join('studentlist','students_to_cin.cin = studentlist.stud_cin'); $this->db->where('students_to_cin.student_id',$student_id); $query = $this->db->get();//echo $this->db->last_query();exit; $result = $query->row_array(); return $result; } 行添加到.dna文件中,则不会打包EPPlus.dll依赖项。

一旦打包好的外接程序可以在计算机上正常工作,则只需分发这两个文件(如果您知道用户安装Excel的细节,则只需分发一个文件)。

要加载到Excel中-最简单的方法是将.xll复制到一个方便的目录中,然后从Excel中打开File-> Open。功能区应该已加载,并且一切正常。

然后要安装为自动加载的加载项,请转到加载项对话框(只需按“ Alt + ti”,或使用“文件”->“选项”->“加载项...”进行管理:Excel加载项),然后浏览到.xll并将其选中。