summaryrefslogtreecommitdiff
path: root/xmlTable.go
diff options
context:
space:
mode:
Diffstat (limited to 'xmlTable.go')
-rw-r--r--xmlTable.go83
1 files changed, 83 insertions, 0 deletions
diff --git a/xmlTable.go b/xmlTable.go
new file mode 100644
index 0000000..c79a2ed
--- /dev/null
+++ b/xmlTable.go
@@ -0,0 +1,83 @@
+package excelize
+
+import "encoding/xml"
+
+// xlsxTable directly maps the table element. A table helps organize and provide
+// structure to lists of information in a worksheet. Tables have clearly labeled
+// columns, rows, and data regions. Tables make it easier for users to sort,
+// analyze, format, manage, add, and delete information. This element is the
+// root element for a table that is not a single cell XML table.
+type xlsxTable struct {
+ XMLName xml.Name `xml:"table"`
+ XMLNS string `xml:"xmlns,attr"`
+ DataCellStyle string `xml:"dataCellStyle,attr,omitempty"`
+ DataDxfID int `xml:"dataDxfId,attr,omitempty"`
+ DisplayName string `xml:"displayName,attr,omitempty"`
+ HeaderRowBorderDxfID int `xml:"headerRowBorderDxfId,attr,omitempty"`
+ HeaderRowCellStyle string `xml:"headerRowCellStyle,attr,omitempty"`
+ HeaderRowCount int `xml:"headerRowCount,attr,omitempty"`
+ HeaderRowDxfID int `xml:"headerRowDxfId,attr,omitempty"`
+ ID int `xml:"id,attr"`
+ InsertRow bool `xml:"insertRow,attr,omitempty"`
+ InsertRowShift bool `xml:"insertRowShift,attr,omitempty"`
+ Name string `xml:"name,attr"`
+ Published bool `xml:"published,attr,omitempty"`
+ Ref string `xml:"ref,attr"`
+ TotalsRowCount int `xml:"totalsRowCount,attr,omitempty"`
+ TotalsRowDxfID int `xml:"totalsRowDxfId,attr,omitempty"`
+ TotalsRowShown bool `xml:"totalsRowShown,attr"`
+ AutoFilter *xlsxAutoFilter `xml:"autoFilter"`
+ TableColumns *xlsxTableColumns `xml:"tableColumns"`
+ TableStyleInfo *xlsxTableStyleInfo `xml:"tableStyleInfo"`
+}
+
+// xlsxAutoFilter temporarily hides rows based on a filter criteria, which is
+// applied column by column to a table of data in the worksheet. This collection
+// expresses AutoFilter settings.
+type xlsxAutoFilter struct {
+ Ref string `xml:"ref,attr"`
+}
+
+// xlsxTableColumns directly maps the element representing the collection of all
+// table columns for this table.
+type xlsxTableColumns struct {
+ Count int `xml:"count,attr"`
+ TableColumn []*xlsxTableColumn `xml:"tableColumn"`
+}
+
+// xlsxTableColumn directly maps the element representing a single column for
+// this table.
+type xlsxTableColumn struct {
+ DataCellStyle string `xml:"dataCellStyle,attr,omitempty"`
+ DataDxfID int `xml:"dataDxfId,attr,omitempty"`
+ HeaderRowCellStyle string `xml:"headerRowCellStyle,attr,omitempty"`
+ HeaderRowDxfID int `xml:"headerRowDxfId,attr,omitempty"`
+ ID int `xml:"id,attr"`
+ Name string `xml:"name,attr"`
+ QueryTableFieldID int `xml:"queryTableFieldId,attr,omitempty"`
+ TotalsRowCellStyle string `xml:"totalsRowCellStyle,attr,omitempty"`
+ TotalsRowDxfID int `xml:"totalsRowDxfId,attr,omitempty"`
+ TotalsRowFunction string `xml:"totalsRowFunction,attr,omitempty"`
+ TotalsRowLabel string `xml:"totalsRowLabel,attr,omitempty"`
+ UniqueName string `xml:"uniqueName,attr,omitempty"`
+}
+
+// xlsxTableStyleInfo directly maps the tableStyleInfo element. This element
+// describes which style is used to display this table, and specifies which
+// portions of the table have the style applied.
+type xlsxTableStyleInfo struct {
+ Name string `xml:"name,attr,omitempty"`
+ ShowFirstColumn bool `xml:"showFirstColumn,attr"`
+ ShowLastColumn bool `xml:"showLastColumn,attr"`
+ ShowRowStripes bool `xml:"showRowStripes,attr"`
+ ShowColumnStripes bool `xml:"showColumnStripes,attr"`
+}
+
+// formatTable directly maps the format settings of the table.
+type formatTable struct {
+ TableStyle string `json:"table_style"`
+ ShowFirstColumn bool `json:"show_first_column"`
+ ShowLastColumn bool `json:"show_last_column"`
+ ShowRowStripes bool `json:"show_row_stripes"`
+ ShowColumnStripes bool `json:"show_column_stripes"`
+}