繁体   English   中英

如何使用C#动态更改工作表对象

[英]how to dynamically change worksheet object using c#

这是我的示例代码

    Worksheet ws= (Worksheet)wb.Worksheets[1];

     Excel.Worksheet ws2 = wb.Sheets.Add(missing, missing, 1, missing)
                    as Excel.Worksheet;


    ws.get_Range("A1", "K2").Merge(true);
    ws.get_Range("A1", "K2").Font.Name = "Times New Roman";
    ws.get_Range("A1", "K2").Font.Size = "14";
    ws.get_Range("A1", "K2").Font.Bold = true;
    ws.get_Range("A1", "K2").FillLeft();
    ws.Cells[2, 1] = "Line Chart Summary-BOTTOM";

above i using ws as object name .i want to change ws to ws1 using C# coding.


    ws1.get_Range("A1", "K2").Merge(true);
    ws1.get_Range("A1", "K2").Font.Name = "Times New Roman";
    ws1.get_Range("A1", "K2").Font.Size = "14";
    ws1.get_Range("A1", "K2").Font.Bold = true;
    ws1.get_Range("A1", "K2").FillLeft();
    ws1.Cells[2, 1] = "Line Chart Summary-BOTTOM"; Like this i want to change.

我在Visual Studio 2008的.NET 3.5中使用C#,试图在打开的工作簿中设置焦点(或激活)特定的工作表:对于一个用户,我使用ws另一个用户,我使用ws1,所以我想动态更改工作表对象。

谢谢前进

听起来您想与其他用户引用不同的工作表。

Worksheet wsTemp = null;

try
{    
    if (user == "A")
        wsTemp = ws1;
    else
        wsTemp = ws2;

    wsTemp .get_Range("A1", "K2").Merge(true);
    wsTemp .get_Range("A1", "K2").Font.Name = "Times New Roman";
    wsTemp .get_Range("A1", "K2").Font.Size = "14";
    wsTemp .get_Range("A1", "K2").Font.Bold = true;
    wsTemp .get_Range("A1", "K2").FillLeft();
    wsTemp .Cells[2, 1] = "Line Chart Summary-BOTTOM";

}
finally
{
    // release com object here
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM