如何使用OpenXMLC禁用Excel中的网格线?

如何使用OpenXMLC禁用Excel中的网格线?,excel,c#-3.0,openxml,formats,gridlines,Excel,C# 3.0,Openxml,Formats,Gridlines,我想禁用excel中的网格线,并使用C中的open xml将自定义边框放入excel单元格# 我尝试了以下代码,但在打开excell时引发异常, 例外情况是“修复的零件:/xl/worksheets/sheet.xml带有xml错误的零件。加载错误。第1行,第0列。” 使用(SpreadsheetDocument xl=SpreadsheetDocument.Create(sFile,SpreadsheetDocumentType.工作簿)) { WorkbookPart wbp=xl.AddW

我想禁用excel中的网格线,并使用C中的open xml将自定义边框放入excel单元格#

我尝试了以下代码,但在打开excell时引发异常, 例外情况是“修复的零件:/xl/worksheets/sheet.xml带有xml错误的零件。加载错误。第1行,第0列。”

使用(SpreadsheetDocument xl=SpreadsheetDocument.Create(sFile,SpreadsheetDocumentType.工作簿))
{
WorkbookPart wbp=xl.AddWorkbookPart();
工作表部件wsp=wbp.AddNewPart();
工作簿wb=新工作簿();
FileVersion fv=新的FileVersion();
fv.ApplicationName=“Microsoft Office Excel”;
工作表ws=新工作表();
SheetViews SheetViews=新的SheetViews();
SheetView SheetView=新的SheetView();
sheetView.ShowGridLines=新布尔值(false);
sheetView.Append(sheetView);
追加(sheetview);
Workbookstypespart wbsp=wbp.AddNewPart();
////向图纸中添加样式
wbsp.Stylesheet=CreateStylesheet();
wbsp.Stylesheet.Save();
////向图纸中添加样式
////wbsp.Stylesheet=GenerateStyleSheet();
//wbsp.Stylesheet.Save();
Columns=新列();
Append(CreateColumnData(1,1,25));
追加(列);
////生成行
SheetData sd=CreateSheetData(产品);
ws.Append(sd);
wsp.Worksheet=ws;
wsp.Worksheet.Save();
合并原始细胞(wsp);
wb.Append(fv);
创建工作表(wbp、wsp、wb);
xl.WorkbookPart.Workbook=wb;
xl.WorkbookPart.Workbook.Save();
xl.Close();

SheetView类的WorkbookViewId属性是必需的属性/属性。请尝试以下操作:

SheetView sheetView = new SheetView();
sheetView.ShowGridLines = new BooleanValue(false);
sheetView.WorkbookViewId = 0;
sheetViews.Append(sheetView);
ws.Append(sheetViews);

使用第一个(默认值)的工作簿视图。别担心,您不必显式创建BookViews类的WorkbookView子级,它是工作簿的子级。当然,除非您愿意。:)

我尝试了这种方法,但失败了,但能够识别缺少的内容。默认情况下,从头创建电子表格时,没有默认工作簿视图。因此需要创建新工作簿视图

spreadSheet.WorkbookPart.Workbook = new Workbook(new BookViews(new WorkbookView()));
然后创建图纸视图

worksheetPart.Worksheet = new Worksheet(new SheetViews(new SheetView(){WorkbookViewId=0,ShowGridLines=new BooleanValue(false)}), new SheetData());
注意:在excel工作簿中创建列时,应按顺序创建元素。顺序为

  • 图纸视图
  • 图纸视图格式
  • 纵队
  • 图纸数据
享受开放式XML SDK,但Microsoft不提供功能强大的文档

worksheetPart.Worksheet = new Worksheet(new SheetViews(new SheetView(){WorkbookViewId=0,ShowGridLines=new BooleanValue(false)}), new SheetData());