C# 如何使用安装在c中的excel加载项创建excel电子表格?

C# 如何使用安装在c中的excel加载项创建excel电子表格?,c#,asp.net,excel,epplus,excel-addins,C#,Asp.net,Excel,Epplus,Excel Addins,我已经使用库创建了一个excel电子表格 在该电子表格中,只有少数列具有下拉列表 我需要使这些下拉列表可搜索。 我们可以将下拉列表应用于单个单元格,使用excel函数进行搜索 但不可能对一列中的所有单元格应用相同的方法 但这可以通过使用excel外接程序实现,如“excel校园列表搜索外接程序” 我不希望每个用户在使用从我的应用程序创建的电子表格时都安装excel加载项 在使用epplus库从.NET应用程序创建电子表格时,我希望自动添加外接程序。您的问题有点让人困惑! 也许这可以帮助你: //

我已经使用库创建了一个excel电子表格

在该电子表格中,只有少数列具有下拉列表

我需要使这些下拉列表可搜索。 我们可以将下拉列表应用于单个单元格,使用excel函数进行搜索

但不可能对一列中的所有单元格应用相同的方法

但这可以通过使用excel外接程序实现,如“excel校园列表搜索外接程序”

我不希望每个用户在使用从我的应用程序创建的电子表格时都安装excel加载项


在使用epplus库从.NET应用程序创建电子表格时,我希望自动添加外接程序。

您的问题有点让人困惑! 也许这可以帮助你:

//Create the data set and table
DataSet ds = new DataSet("New_DataSet");
DataTable dt = new DataTable("New_DataTable");

//Set the locale for each
ds.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;
dt.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;

//Open a DB connection (in this example with OleDB)
OleDbConnection con = new OleDbConnection(dbConnectionString);
con.Open();

//Create a query and fill the data table with the data from the DB
string sql = "SELECT Whatever FROM MyDBTable;";
OleDbCommand cmd = new OleDbCommand(sql, con);
OleDbDataAdapter adptr = new OleDbDataAdapter();

adptr.SelectCommand = cmd;
adptr.Fill(dt);
con.Close();

//Add the table to the data set
ds.Tables.Add(dt);

//Here's the easy part. Create the Excel worksheet from the data set
ExcelLibrary.DataSetHelper.CreateWorkbook("MyExcelFile.xls", ds);

我知道如何从.NET中的数据集创建excel电子表格。但我需要创建excel电子表格,并自动添加excel加载项。因此,从我的应用程序下载的excel包含数据以及添加到其中的此加载项。Epplus生成原始xml并将其压缩。xlsx只是一个重命名的.zip文件,没有excel,因此它无法访问DOM/应用程序。您应该在开发人员的github页面上确认,但我认为这远远超出了它的能力。由于您有asp.net标记,我假设您是通过网站生成的,因此它无法为插件进行任何类型的安装。VBA是一种选择吗?可以跳过一些安全限制,但是如果插件可以通过这种方式安装,那么您可以将代码嵌入到EPPlus生成的文件中,并在启动时启动它。