C# 选中OpenXML Sdk VML集复选框
我必须选中电子表格文档中vmlDrawing中的复选框 该代码在Office 2010中非常完美,但在使用Office 2007打开文档时,复选框未选中C# 选中OpenXML Sdk VML集复选框,c#,.net,excel,openxml,C#,.net,Excel,Openxml,我必须选中电子表格文档中vmlDrawing中的复选框 该代码在Office 2010中非常完美,但在使用Office 2007打开文档时,复选框未选中 怎么做 从我在文档控件中读到的内容来看,PropertiesPart仅为Office 2010定义,因此2007将忽略它 您可以手动编辑文件vmlDrawingPart1.xml(文本编辑,不使用OpenXML API) 您可以在以下表格中找到文档中的复选框: ControlPropertiesPart c2 = util.getCheckBo
怎么做 从我在文档控件中读到的内容来看,PropertiesPart仅为Office 2010定义,因此2007将忽略它 您可以手动编辑文件vmlDrawingPart1.xml(文本编辑,不使用OpenXML API) 您可以在以下表格中找到文档中的复选框:
ControlPropertiesPart c2 = util.getCheckBoxByLabel(worksheetPart, "ENV");
c2.FormControlProperties.Checked = DocumentFormat.OpenXml.Office2010.Excel.CheckedValues.Checked;
worksheetPart.Worksheet.Save();
从我在文档ControlPropertiesPart中读到的内容来看,PropertiesPart仅为Office 2010定义,因此2007将忽略它。请发布util.getCheckBoxByLabel的内容,我目前正面临类似问题。
<x:ClientData ObjectType="Checkbox">
<x:SizeWithCells/>
<x:Anchor>
6, 38, 17, 15, 8, 89, 18, 12</x:Anchor>
<x:AutoFill>False</x:AutoFill>
<x:AutoLine>False</x:AutoLine>
<x:TextVAlign>Center</x:TextVAlign>
<x:NoThreeD/>
</x:ClientData>
<x:Checked>1</x:Checked>
VmlDrawingPart vmlDrawingPart1 = part.GetPartById("rId8") as VmlDrawingPart;
GenerateVmlDrawingPart1Content(vmlDrawingPart1);
private void GenerateVmlDrawingPart1Content(VmlDrawingPart vmlDrawingPart1)
{
System.Xml.XmlTextWriter writer = new System.Xml.XmlTextWriter(vmlDrawingPart1.GetStream(System.IO.FileMode.OpenOrCreate), System.Text.Encoding.UTF8);
writer.WriteRaw(vml2007);
writer.Flush();
writer.Close();
}