使用 C# 的 Microsoft.Office.Interop.Excel 生成具有 Pre-poulated 下拉值的 Excel 文件
Generating Excel file with Pre-poulated Dropdown Values with C#'s Microsoft.Office.Interop.Excel
我想从我的 C#
应用程序生成一个 Excel
文件,用户稍后可以填写该文件。我正在使用 Microsoft.Office.Interop.Excel
.
我正在启动 Excel
并使用以下代码填充 header 单元格:
var excelApp = new Excel.Application {Visible = true};
var workbook = excelApp.Workbooks.Add(Missing.Value);
var workSheet = (Excel.Worksheet) workbook.Worksheets.Item[1];
headers.Select((s, i) => new Tuple<string, int>(s, i)).ToList().ForEach
(
h => { workSheet.Cells[1, h.Item2 + 1] = h.Item1; }
);
如何指定第一列的单元格应具有包含 pre-populated 值的 drop-down?
我已经尝试了很多在线可用的东西,比如下面找到的 here,但没有成功:
var dropDownRange = workSheet.Range["A2"].Resize[64000];
dropDownRange.Value = Values;
dropDownRange = dropDownRange.Offset[0, 1];
dropDownRange.Validation.Delete();
dropDownRange.Validation.Add(Excel.XlDVType.xlValidateList, Excel.XlDVAlertStyle.xlValidAlertInformation, Type.Missing, "=DropDownList");
在对列表应用验证限制时,公式参数需要逗号分隔的值字符串。这是一个创建具有三个值的下拉列表的示例:
var items = new List<string>() { "Item 1", "Item 2", "Item 3" };
var formattedItems = string.Join(", ", items.ToArray());
var dropDownRange = workSheet.Range["A2"].EntireColumn;
dropDownRange.Validation.Delete();
dropDownRange.Validation.Add(Excel.XlDVType.xlValidateList,
Excel.XlDVAlertStyle.xlValidAlertInformation,
Excel.XlFormatConditionOperator.xlBetween,
formattedItems,
Type.Missing);
此外,如果您需要将单元格默认为一个值,您可以这样做:
dropDownRange.Value = "Item 2";
甚至更好:
dropDownRange.Value = items[1];
我想从我的 C#
应用程序生成一个 Excel
文件,用户稍后可以填写该文件。我正在使用 Microsoft.Office.Interop.Excel
.
我正在启动 Excel
并使用以下代码填充 header 单元格:
var excelApp = new Excel.Application {Visible = true};
var workbook = excelApp.Workbooks.Add(Missing.Value);
var workSheet = (Excel.Worksheet) workbook.Worksheets.Item[1];
headers.Select((s, i) => new Tuple<string, int>(s, i)).ToList().ForEach
(
h => { workSheet.Cells[1, h.Item2 + 1] = h.Item1; }
);
如何指定第一列的单元格应具有包含 pre-populated 值的 drop-down?
我已经尝试了很多在线可用的东西,比如下面找到的 here,但没有成功:
var dropDownRange = workSheet.Range["A2"].Resize[64000];
dropDownRange.Value = Values;
dropDownRange = dropDownRange.Offset[0, 1];
dropDownRange.Validation.Delete();
dropDownRange.Validation.Add(Excel.XlDVType.xlValidateList, Excel.XlDVAlertStyle.xlValidAlertInformation, Type.Missing, "=DropDownList");
在对列表应用验证限制时,公式参数需要逗号分隔的值字符串。这是一个创建具有三个值的下拉列表的示例:
var items = new List<string>() { "Item 1", "Item 2", "Item 3" };
var formattedItems = string.Join(", ", items.ToArray());
var dropDownRange = workSheet.Range["A2"].EntireColumn;
dropDownRange.Validation.Delete();
dropDownRange.Validation.Add(Excel.XlDVType.xlValidateList,
Excel.XlDVAlertStyle.xlValidAlertInformation,
Excel.XlFormatConditionOperator.xlBetween,
formattedItems,
Type.Missing);
此外,如果您需要将单元格默认为一个值,您可以这样做:
dropDownRange.Value = "Item 2";
甚至更好:
dropDownRange.Value = items[1];