我试图弄清楚如何在OpenXML中的电子表格单元格中侧面打印文本 . 我认为它可以通过Cell类的ExtendedProperties以某种方式完成 . 这就是我所拥有的 .
Cell cell = GetCell(worksheetPart.Worksheet, columnName, rowIndex);
cell.DataType = CellValues.InlineString;
cell.InlineString = new InlineString() { Text = new Text(textToInsert) };
//fictitious method
cell.ExtendedAttributes.SpinSideways();
worksheetPart.Worksheet.Save()
2 回答
单元格的样式在Excel文档的
CellFormats
部分中处理 . 当您查看XML并查看s
属性设置为整数时,您可以判断单元格何时具有格式:该属性代表
StyleIndex
,它是CellFormats
列表中的CellFormat
索引,对应于此单元格的格式 . 这是CellFormats
的XML,希望能让它更清晰一些:在上面的XML中,我们有
x:cellXfs
元素,它是CellFormats
元素,它有两个子元素x:xf
或CellFormat
元素 . 我们从StyleIndex
属性知道我们想要CellFormats
元素下的第一个索引(或第二个元素),这意味着我们想要这个CellFormat
:现在,为了让单元格的文本被旋转,您需要通过
CellFormat
来控制它 . 以下是为了创建90度旋转的CellFormat而需要使用的代码:如果您希望文本以不同的角度旋转,那么只需将90U替换为您想要的任何角度-90到90 .
现在,您需要将
CellFormat
插入CellFormats
,然后在要旋转的单元格的StyleIndex
上设置新索引:首先,您需要创建样式表,然后需要将其应用于单元格 .
一些重要的嗅觉:
对于样式表,您需要包括:
然后将其应用于细胞
cell.StyleIndex=INDEXOFYOURSTYLE;
资源:
样式化电子表格:http://blogs.msdn.com/b/chrisquon/archive/2009/11/30/stylizing-your-excel-worksheets-with-open-xml-2-0.aspx
MSDN-对齐方式:http://msdn.microsoft.com/en-us/library/documentformat.openxml.spreadsheet.alignment.aspx