C# 禁用excel工作表中的单元格
我正在使用interop创建excel工作表,并将我的数据表存储在其中,然后为用户打开它。我不希望用户编辑某些列。导出excel工作表时是否可以禁用特定单元格 下面是我的代码C# 禁用excel工作表中的单元格,c#,asp.net,excel,excel-interop,C#,Asp.net,Excel,Excel Interop,我正在使用interop创建excel工作表,并将我的数据表存储在其中,然后为用户打开它。我不希望用户编辑某些列。导出excel工作表时是否可以禁用特定单元格 下面是我的代码 Excel.Workbook excelWorkBook = excelApp.Workbooks.Open(Server.MapPath("UploadedExcel/" + lblTestCode.Text.Trim() + ".xls")); FieldInfo myf = typeof(TEST)
Excel.Workbook excelWorkBook = excelApp.Workbooks.Open(Server.MapPath("UploadedExcel/" + lblTestCode.Text.Trim() + ".xls"));
FieldInfo myf = typeof(TEST).GetField("abcd");
foreach (DataTable table in ds.Tables)
{
//Add a new worksheet to workbook with the Datatable name
Excel.Worksheet excelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)excelWorkBook.Sheets.Add();
// excelWorkSheet.Name = "Sheet1";
for (int i = 1; i < table.Columns.Count + 1; i++)
{
excelWorkSheet.Cells[1, i] = table.Columns[i - 1].ColumnName;
}
for (int j = 0; j < table.Rows.Count; j++)
{
for (int k = 0; k < table.Columns.Count; k++)
{
excelWorkSheet.Cells[j + 2, k + 1] = table.Rows[j].ItemArray[k].ToString();
}
}
}
excelWorkBook.Save();
excelWorkBook.Close();
excelApp.Quit();
Excel.工作簿Excel工作簿=excelApp.Workbooks.Open(Server.MapPath(“uploadexcel/”+lblTestCode.Text.Trim()+“.xls”);
FieldInfo myf=typeof(TEST).GetField(“abcd”);
foreach(ds.Tables中的数据表)
{
//使用Datatable名称将新工作表添加到工作簿
Excel.Worksheet excelWorkSheet=(Microsoft.Office.Interop.Excel.Worksheet)excelWorkBook.Sheets.Add();
//excelWorkSheet.Name=“Sheet1”;
对于(int i=1;i
技巧:打开Excel>开发者工具栏>录制宏>选择/突出显示范围>然后选择格式单元格:
将单元格的背景颜色更改为灰色,表示它们已禁用
停止在“开发人员”工具栏上录制宏
然后按Alt+F11进入VBA编辑器,查看模块1中的代码
只需将代码转换为C#-C中的对象模型与VB中的对象模型几乎完全相同。您能给我提供一些代码吗,因为我对intero完全陌生。谢谢:我向您展示这项技术的原因是让您知道如何在Excel中手动创建代码(用于任何Excel VSTO任务),并将VBA转换为C#。