Share via


Column 类

定义

列宽和格式设置。

此类在 Office 2007 及更高版本中可用。

当对象序列化为 xml 时,其限定名称为 x:col。

[DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)]
[DocumentFormat.OpenXml.SchemaAttr(22, "col")]
public class Column : DocumentFormat.OpenXml.OpenXmlLeafElement
public class Column : DocumentFormat.OpenXml.OpenXmlLeafElement
[DocumentFormat.OpenXml.SchemaAttr(22, "col")]
public class Column : DocumentFormat.OpenXml.OpenXmlLeafElement
[DocumentFormat.OpenXml.SchemaAttr("x:col")]
public class Column : DocumentFormat.OpenXml.OpenXmlLeafElement
[DocumentFormat.OpenXml.SchemaAttr("x:col")]
public class Column : DocumentFormat.OpenXml.TypedOpenXmlLeafElement
[DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)]
public class Column : DocumentFormat.OpenXml.OpenXmlLeafElement
[<DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)>]
[<DocumentFormat.OpenXml.SchemaAttr(22, "col")>]
type Column = class
    inherit OpenXmlLeafElement
type Column = class
    inherit OpenXmlLeafElement
[<DocumentFormat.OpenXml.SchemaAttr(22, "col")>]
type Column = class
    inherit OpenXmlLeafElement
[<DocumentFormat.OpenXml.SchemaAttr("x:col")>]
type Column = class
    inherit OpenXmlLeafElement
[<DocumentFormat.OpenXml.SchemaAttr("x:col")>]
type Column = class
    inherit TypedOpenXmlLeafElement
[<DocumentFormat.OpenXml.OfficeAvailability(DocumentFormat.OpenXml.FileFormatVersions.Office2007)>]
type Column = class
    inherit OpenXmlLeafElement
Public Class Column
Inherits OpenXmlLeafElement
Public Class Column
Inherits TypedOpenXmlLeafElement
继承
继承
属性

示例

以下示例打开一个电子表格文档进行只读访问。 通过使用工作表名称和单元格名称,它将获取列名并显示它。

using System;  
using System.Collections.Generic;  
using System.Linq;  
using DocumentFormat.OpenXml.Packaging;  
using DocumentFormat.OpenXml.Spreadsheet;  
using System.Text.RegularExpressions;  

namespace ColumnEx  
{  
    class Program  
    {  
        // Given a document name, a worksheet name, and a cell name, gets the column of the cell.  
        static void Main(string[] args)  
        {  
            string docName = @"C:\Users\Public\Documents\ColumnEx.xlsx";  
            string worksheetName = "Sheet1";  
            string cellName = "B2";  

            // Open the document as read-only.  
            using (SpreadsheetDocument document = SpreadsheetDocument.Open(docName, false))  
            {  
                IEnumerable<Sheet> sheets =  
                    document.WorkbookPart.Workbook.Descendants<Sheet>()  
                    .Where(s => s.Name == worksheetName);  
                WorksheetPart worksheetPart = (WorksheetPart)document  
                    .WorkbookPart.GetPartById(sheets.First().Id);  

                // Get the column name for the specified cell.  
                // Create a regular expression to match the column name portion of the cell name.  
                Regex regex = new Regex("[A-Za-z]+");  
                Match match = regex.Match(cellName);  
                Console.WriteLine("{0} {1}","The column is:", match.Value);  
                Console.ReadKey();  
            }  
        }  
    }  
}  
//  Output:  
// The column is: B  
Imports System.Collections.Generic  
Imports System.Linq  
Imports DocumentFormat.OpenXml.Packaging  
Imports DocumentFormat.OpenXml.Spreadsheet  
Imports System.Text.RegularExpressions  

Module Module1  
    ' Given a document name, a worksheet name, and a cell name, gets the column of the cell.  
    Sub Main(ByVal args As String())  
        Dim docName As String = "C:\Users\Public\Documents\ColumnEx.xlsx"  
        Dim worksheetName As String = "Sheet1"  
        Dim cellName As String = "B2"  

        ' Open the document as read-only.  
        Using document As SpreadsheetDocument = SpreadsheetDocument.Open(docName, False)  
            Dim sheets As IEnumerable(Of Sheet) = document.WorkbookPart.Workbook.Descendants(Of Sheet)().Where(Function(s) s.Name = worksheetName)  
            Dim worksheetPart As WorksheetPart = DirectCast(document.WorkbookPart.GetPartById(sheets.First().Id), WorksheetPart)  

            ' Get the column name for the specified cell.  
            ' Create a regular expression to match the column name portion of the cell name.  
            Dim regex As New Regex("[A-Za-z]+")  
            Dim match As Match = regex.Match(cellName)  
            Console.WriteLine("{0} {1}", "The column is:", match.Value)  
            Console.ReadKey()  
        End Using  
    End Sub  
End Module  
' Output:  
' The column is: B  

注解

[ISO/IEC 29500-1 第 1 版]

col (列宽 & 格式)

定义工作表的一列或多列的列宽和列格式。

[示例:此示例显示第 5 列 (E) 应用了宽度和样式信息。

<col min="5" max="5" width="9.140625" style="3"/>  

示例结束]

父元素
cols (§18.3.1.17)
属性 说明
bestFit (最佳拟合列宽) 指示指定的列 () 是否设置为“最佳匹配”的标志。 在以下情况下,“最佳拟合度”设置为 true

- 用户从未手动设置列宽,
- 列宽不是默认宽度
- “最佳拟合度”是指在“最佳拟合”列中包含的单元格中键入数字时,列宽应自动调整大小以显示数字。 [注意:在最佳拟合情况下,列宽不能变小,只能变大。 注释结束]

此属性可能的值由 W3C XML 架构 boolean 数据类型定义。
折叠 (折叠) 指示受影响列的大纲 () 是否处于折叠状态的标志。 有关详细信息,请参阅已折叠行和 outlinePr 元素的 summaryBelow 和 summaryRight 属性的说明。

此属性可能的值由 W3C XML 架构 boolean 数据类型定义。
customWidth (自定义宽度) 指示受影响列 () 的列宽不同于默认值或已手动设置的标志。

此属性可能的值由 W3C XML 架构 boolean 数据类型定义。
隐藏 (隐藏列) 指示受影响的列 () 是否隐藏在此工作表上的标志。

此属性可能的值由 W3C XML 架构 boolean 数据类型定义。
最大列 () 受此“列信息”记录影响的最后一列。

此属性的可能值由 W3C XML 架构 unsignedInt 数据类型定义。
min (最小列) 受此“列信息”记录影响的第一列。

此属性的可能值由 W3C XML 架构 unsignedInt 数据类型定义。
outlineLevel (大纲级别) 受影响的列 () 的大纲级别。 范围为 0 到 7。 有关详细信息,请参阅 outlinePr 元素的 summaryBelow 和 summaryRight 属性的说明。

此属性的可能值由 W3C XML 架构 unsignedByte 数据类型定义。
拼音 (显示拼音信息) 指示默认情况下是否应为工作表的受影响列显示拼音信息 () 的标志。

此属性可能的值由 W3C XML 架构 boolean 数据类型定义。
style (样式) 受影响的列 () 的默认样式。 影响 () 列中尚未分配的单元格。 换句话说,此样式适用于新列。

此属性的可能值由 W3C XML 架构 unsignedInt 数据类型定义。
宽度 (列宽) 列宽度量为数字 0、1、2、...、9 的最大数字宽度的字符数(以普通样式的字体呈现)。 ) 每侧有 4 个边距填充 (2 个像素,以及网格线的 1 个像素填充。

width = 截断 ([{字符数} * {最大数字宽度} + {5 像素填充}]/{最大数字宽度}*256) /256

[示例:以 Calibri 字体为例,11 磅字号的最大数字宽度为 7 像素 (96 dpi) 。 事实上,此字体的每个数字的宽度相同。 因此,如果单元格宽度为 8 个字符,则此属性的值必须是截断 ([8*7+5]/7*256) /256 = 8.7109375。 示例结束]

若要在运行时将文件中的宽度值转换为列宽值, (以像素) 表示,请使用以下计算:

=Truncate ( ( (256 * {width} + 截断 (128/{最大数字宽度}) ) /256) *{最大数字宽度})

[示例:使用上述相同示例,计算结果为 Truncate ( ( (256*8.7109375+Truncate (128/7) ) /256) *7) = 61 像素。 示例结束]

若要从像素转换为字符宽度,请使用以下计算:

=Truncate ( ({pixels}-5) /{最大数字宽度} * 100+0.5) /100

[示例:使用上面的示例,计算结果为 Truncate ( (61-5) /7*100+0.5) /100 = 8 个字符。 示例结束]

[注意:应用宽边框时,左/右边框的一部分必须与每侧的 2 个像素填充重叠。 宽边框不会影响列的宽度计算。 注释结束]

[注意:当工作表处于查看公式而不是值的模式时,列的像素宽度将增加一倍。 注释结束]

此属性的可能值由 W3C XML 架构 双数据类型 定义。

[注意:此元素的内容模型 (CT_Col) 的 W3C XML 架构定义位于 §A.2 中。 注释结束]

ISO/IEC29500:2008。

构造函数

Column()

初始化 Column 类的新实例。

属性

BestFit

最佳列宽拟合度

表示架构中的以下属性:bestFit

ChildElements

获取当前元素的所有子节点。

(继承自 OpenXmlElement)
Collapsed

Collapsed

表示架构中的以下属性: 折叠

CustomWidth

自定义宽度

表示架构中的以下属性:customWidth

ExtendedAttributes

获取当前元素的架构) 中未定义的所有扩展属性 (属性。

(继承自 OpenXmlElement)
Features

IFeatureCollection获取当前元素的 。 此功能集合将是只读的,但会从其父部件和包继承功能(如果可用)。

(继承自 OpenXmlElement)
FirstChild

获取 OpenXmlElement 元素的第一个子元素。 如果没有这样的 OpenXmlElement 元素,则返回 null (Visual Basic) Nothing。

(继承自 OpenXmlElement)
HasAttributes

获取一个值,该值指示当前元素是否具有任何属性。

(继承自 OpenXmlElement)
HasChildren

获取一个值,该值指示当前元素是否具有任何子元素。

(继承自 OpenXmlLeafElement)
Hidden

隐藏列

表示架构中的以下属性:hidden

InnerText

获取或设置节点及其所有子级的串联值。

(继承自 OpenXmlElement)
InnerXml

获取或设置仅表示当前元素的子元素的标记。

(继承自 OpenXmlLeafElement)
LastChild

获取 OpenXmlElement 元素的最后一个子元素。 如果没有这样的 OpenXmlElement 元素,则返回 null (Visual Basic) Nothing。

(继承自 OpenXmlElement)
LocalName

列宽和格式设置。

此类在 Office 2007 及更高版本中可用。

当对象序列化为 xml 时,其限定名称为 x:col。

LocalName

获取当前元素的本地名称。

(继承自 OpenXmlElement)
Max

最大列数

表示架构中的以下属性:max

MCAttributes

获取或设置标记兼容性属性。 如果未为当前元素定义标记兼容性属性,则返回 null。

(继承自 OpenXmlElement)
Min

最小列

表示架构中的以下属性: min

NamespaceDeclarations

获取在当前元素中定义的所有命名空间声明。 如果没有命名空间声明,则返回空枚举器。

(继承自 OpenXmlElement)
NamespaceUri

获取当前元素的命名空间 URI。

(继承自 OpenXmlElement)
OpenXmlElementContext

获取当前元素的 OpenXmlElementContext。

(继承自 OpenXmlElement)
OuterXml

获取表示当前元素及其所有子元素的标记。

(继承自 OpenXmlElement)
OutlineLevel

大纲级别

表示架构中的以下属性:outlineLevel

Parent

获取当前元素的父元素。

(继承自 OpenXmlElement)
Phonetic

显示拼音信息

表示架构中的以下属性:phonetic

Prefix

获取当前元素的命名空间前缀。

(继承自 OpenXmlElement)
Style

样式

表示架构中的以下属性:style

Width

列宽

表示架构中的以下属性:width

XmlQualifiedName

获取当前元素的限定名称。

(继承自 OpenXmlElement)
XName

获取当前元素的限定名称。

(继承自 OpenXmlElement)

方法

AddAnnotation(Object)

将 对象添加到当前 OpenXmlElement 元素的批注列表中。

(继承自 OpenXmlElement)
AddNamespaceDeclaration(String, String)

将命名空间声明添加到当前节点。

(继承自 OpenXmlElement)
Ancestors()

枚举当前元素的所有上级。

(继承自 OpenXmlElement)
Ancestors<T>()

仅枚举具有指定类型的当前元素的上级。

(继承自 OpenXmlElement)
Annotation(Type)

从当前 OpenXmlElement 元素获取指定类型的第一个批注对象。

(继承自 OpenXmlElement)
Annotation<T>()

从当前 OpenXmlElement 元素获取指定类型的第一个批注对象。

(继承自 OpenXmlElement)
Annotations(Type)

获取具有当前 OpenXmlElement 元素的指定类型的批注的集合。

(继承自 OpenXmlElement)
Annotations<T>()

获取具有当前 OpenXmlElement 元素的指定类型的批注的集合。

(继承自 OpenXmlElement)
Append(IEnumerable<OpenXmlElement>)

将元素列表中的每个元素追加到当前元素的子元素列表的末尾。

(继承自 OpenXmlElement)
Append(OpenXmlElement[])

将元素数组中的每个元素追加到当前元素的子元素列表的末尾。

(继承自 OpenXmlElement)
AppendChild<T>(T)

将指定的元素追加到当前元素的子节点列表的末尾。

(继承自 OpenXmlElement)
ClearAllAttributes()

清除所有属性,包括已知属性和扩展属性。

(继承自 OpenXmlElement)
Clone()

创建当前节点的副本。

(继承自 OpenXmlElement)
CloneNode(Boolean)

创建此节点的副本。

Descendants()

枚举当前元素的所有后代。

(继承自 OpenXmlElement)
Descendants<T>()

枚举类型为 T 的当前元素的所有后代。

(继承自 OpenXmlElement)
Elements()

枚举当前元素的所有子元素。

(继承自 OpenXmlElement)
Elements<T>()

仅枚举具有指定类型的当前元素的子元素。

(继承自 OpenXmlElement)
ElementsAfter()

枚举与当前元素相同的父级的所有同级元素。

(继承自 OpenXmlElement)
ElementsBefore()

枚举当前元素之前且具有与当前元素相同的父级的所有同级元素。

(继承自 OpenXmlElement)
GetAttribute(String, String)

获取具有指定标记名称和命名空间 URI 的 Open XML 属性。

(继承自 OpenXmlElement)
GetAttributes()

获取一个列表,该列表包含所有属性的副本。

(继承自 OpenXmlElement)
GetEnumerator()

返回循环访问子集合的枚举器。

(继承自 OpenXmlElement)
GetFirstChild<T>()

查找类型 T 中的第一个子元素。

(继承自 OpenXmlElement)
InsertAfter<T>(T, OpenXmlElement)

在指定的引用元素之后立即插入指定的元素。

(继承自 OpenXmlElement)
InsertAfterSelf<T>(T)

在当前元素之后立即插入指定的元素。

(继承自 OpenXmlElement)
InsertAt<T>(T, Int32)

在当前元素的子元素列表中指定索引处插入指定的元素。

(继承自 OpenXmlElement)
InsertBefore<T>(T, OpenXmlElement)

将指定的元素紧接在指定的引用元素之前。

(继承自 OpenXmlElement)
InsertBeforeSelf<T>(T)

将指定的元素紧接在当前元素的前面。

(继承自 OpenXmlElement)
IsAfter(OpenXmlElement)

确定当前元素是否以文档顺序显示在指定元素之后。

(继承自 OpenXmlElement)
IsBefore(OpenXmlElement)

确定当前元素是否按文档顺序显示在指定元素之前。

(继承自 OpenXmlElement)
LookupNamespace(String)

解析当前节点上下文中的命名空间前缀。

(继承自 OpenXmlElement)
LookupPrefix(String)

查找当前元素范围内命名空间 URI 的相应前缀。

(继承自 OpenXmlElement)
NextSibling()

获取紧跟在当前 OpenXmlElement 元素后面的 OpenXmlElement 元素。 如果没有下一个 OpenXmlElement 元素,则返回 null (Visual Basic) Nothing。

(继承自 OpenXmlElement)
NextSibling<T>()

获取具有当前 OpenXmlElement 元素后面的指定类型的 OpenXmlElement 元素。 如果没有下一个 OpenXmlElement,则返回 null (Visual Basic) Nothing。

(继承自 OpenXmlElement)
PrependChild<T>(T)

在当前元素的子元素列表的开头插入指定的元素。

(继承自 OpenXmlElement)
PreviousSibling()

获取紧接在当前 OpenXmlElement 元素之前的 OpenXmlElement 元素。 如果没有前面的 OpenXmlElement 元素,则返回 null (Visual Basic ) 中 Nothing。

(继承自 OpenXmlElement)
PreviousSibling<T>()

获取位于当前 OpenXmlElement 之前的指定类型的 OpenXmlElement 元素。 如果没有前面的 OpenXmlElement 元素,则返回 null (Visual Basic) Nothing。

(继承自 OpenXmlElement)
Remove()

从其父元素中删除当前元素。

(继承自 OpenXmlElement)
RemoveAllChildren()

删除当前元素的所有子元素。

(继承自 OpenXmlLeafElement)
RemoveAllChildren<T>()

删除类型为 T 的当前元素的所有子元素。

(继承自 OpenXmlElement)
RemoveAnnotations(Type)

从当前 OpenXmlElement 元素中删除指定类型的注释。

(继承自 OpenXmlElement)
RemoveAnnotations<T>()

从当前 OpenXmlElement 元素中删除具有指定类型的批注。

(继承自 OpenXmlElement)
RemoveAttribute(String, String)

从当前元素中删除 属性。

(继承自 OpenXmlElement)
RemoveChild<T>(T)

从当前元素的子元素列表中删除指定的子元素。

(继承自 OpenXmlElement)
RemoveNamespaceDeclaration(String)

删除指定前缀的命名空间声明。 如果没有前缀,则不删除任何内容。

(继承自 OpenXmlElement)
ReplaceChild<T>(OpenXmlElement, T)

将子元素替换为当前元素的子元素列表中的另一个子元素。

(继承自 OpenXmlElement)
SetAttribute(OpenXmlAttribute)

将特性设置为指定的元素。 如果该属性是已知属性,则设置该特性的值。 如果该属性是扩展属性,则会将“openxmlAttribute”添加到扩展属性列表中。

(继承自 OpenXmlElement)
SetAttributes(IEnumerable<OpenXmlAttribute>)

设置元素的多个属性。 如果属性是已知属性,则会设置该属性的值。 如果属性是扩展属性,则会将“openxmlAttribute”添加到扩展属性列表中。

(继承自 OpenXmlElement)
WriteTo(XmlWriter)

将当前节点保存到指定的 XmlWriter。

(继承自 OpenXmlElement)

显式接口实现

IEnumerable.GetEnumerator()

列宽和格式设置。

此类在 Office 2007 及更高版本中可用。

当对象序列化为 xml 时,其限定名称为 x:col。

(继承自 OpenXmlElement)
IEnumerable<OpenXmlElement>.GetEnumerator()

返回循环访问子集合的枚举器。

(继承自 OpenXmlElement)

适用于