是的,以前有人问过这个问题,但提供的答案对我不起作用。更加具体:
只想在有数据的地方使用网格线(我自己添加),并删除默认情况下出现在其他地方的较轻的网格线,我找到了这个公认的答案……但它对我不起作用。
使用此代码进行设置:
using Excel = Microsoft.Office.Interop.Excel;
. . .
private Excel.Application _xlApp;
... Excel.Application 的此初始化编译(在其初始化程序之外将 bool 分配给 _xlApp 的 DisplayGridLines 属性):
_xlApp = new Excel.Application
{
SheetsInNewWorkbook = 1,
StandardFont = "ponceDeLeon",
StandardFontSize = 11
};
_xlApp.Windows.Application.ActiveWindow.DisplayGridlines = false;
...但是这个(将代码添加到初始化程序)无法编译(我得到,“无效的初始化程序成员声明器”和“名称'Windows'在当前上下文中不存在”):
_xlApp = new Excel.Application
{
SheetsInNewWorkbook = 1,
StandardFont = "ponceDeLeon",
StandardFontSize = 11,
Windows.Application.ActiveWindow.DisplayGridlines = false
};
...它也不能用“Excel”编译。附加到“Windows。”,即使它似乎想要那个(提供导入'Microsoft.Office.Interop.Excel.Windows'和文件中的所有其他引用“)。编译器的抱怨是:
An object reference is required for the non-static field, method, or property 'Microsoft.Office.Interop.Excel.Windows.Application.get'"
- -和:
Invalid initializer member declarator
我的项目的 References 文件夹中已经有 Microsoft.Office.Interop.Excel.Windows,事实上,我成功地生成了 .xlsx 文件。我现在进入项目的“姜饼/完成”部分(化妆品/格式化)。
即使在编译代码的情况下,它实际上也不起作用 - 它在运行时失败:“System.NullReferenceException 未处理......对象引用未设置为对象的实例。”
那么我怎样才能“擦干净”网格线,只让那些我明确应用的网格线显示在工作表上?