使用EPPlus创buildcheckbox的下拉列表
我正在使用EPPlus( http://epplus.codeplex.com/ )在我的ASP.NET应用程序中创buildExcel文件。 我想知道是否有人知道是否可以在一个单元格中创build一个带checkbox的下拉列表。 我已经检查过这个文档,但是到目前为止还没有发现。 我也尝试了谷歌search,但还没有find正确的方向。
在他们的论坛上这个问题其实是一个很好的示范,我正在寻找,但它没有收到任何答案: http : //epplus.codeplex.com/discussions/585879
有没有人碰巧有任何想法,可以指向正确的方向?
您可以使用:
var validationCell = sheet.DataValidations.AddListValidation("A1"); validationCell.Formula.Values.Add("a"); validationCell.Formula.Values.Add("b"); validationCell.Formula.Values.Add("c"); ...
但是您只能select一个值。 我认为excel不支持多个值。
对于其他人的参考,这里是我如何可以启用多个值select:
通过插入VBA代码:
看看如何在这里做到这一点 ,使用EPPlus你可以插入VBA代码使用类似于:
package.Workbook.CreateVBAProject(); worksheet.CodeModule.Code = code;
这下面的代码做了诀窍:
using (var package = new ExcelPackage(new System.IO.FileInfo("D:\\b.xlsm"))) { ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("11"); var validationCell = worksheet.DataValidations.AddListValidation("A1"); validationCell.Formula.Values.Add("a"); validationCell.Formula.Values.Add("b"); validationCell.Formula.Values.Add("c"); string code = "Private Sub Worksheet_Change(ByVal Target As Range)\n" + "Dim Oldvalue As String\n" + "Dim Newvalue As String\n" + "Application.EnableEvents = True\n" + "On Error GoTo Exitsub\n" + "If Target.Address = \"$A$1\" Then\n" + " If Target.SpecialCells(xlCellTypeAllValidation) Is Nothing Then\n" + " GoTo Exitsub\n" + "Else: If Target.Value = \"\" Then GoTo Exitsub Else\n" + " Application.EnableEvents = False\n" + "Newvalue = Target.Value\n" + "Application.Undo\n" + "Oldvalue = Target.Value\n" + " If Oldvalue = \"\" Then\n" + " Target.Value = Newvalue\n" + "Else\n" + " If InStr(1, Oldvalue, Newvalue) = 0 Then\n" + " Target.Value = Oldvalue & \", \" & Newvalue\n" + "Else: \n" + " Target.Value = Oldvalue\n" + "End If\n" + "End If\n" + "End If\n" + "End If\n" + "Application.EnableEvents = True\n" + "Exitsub: \n" + " Application.EnableEvents = True\n" + "End Sub"; package.Workbook.CreateVBAProject(); worksheet.CodeModule.Code = code; package.Save(); }
- 如何在excel中使用Microsoft.Office.Interop.Excel在c#中的矩形内写入文本
- ASP.NET到Excel导出 – 参考文件并打开另存为对话框?
- 在Microsoft Excel中打开select并从ASP.NET Web窗体应用程序发回到服务器。 服务器上没有SharePoint
- 如何阅读密码保护excel文件没有办公室intropho
- 使用File.WriteAllText()函数创build后,无法读取excel文件
- 将CSV文件或Excel电子表格转换为RESX文件
- 在asp.net中将从excel文件input的时间转换为gridview
- ReportViewer – 如何呈现超过65,000行的Excel文件?
- 从excel导入数据表跳过最后一列值