summaryrefslogtreecommitdiff
path: root/xmlApp.go
blob: f21e5f952fe6e9b69d64e9af2fcea449c7284181 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// Copyright 2016 - 2022 The excelize Authors. All rights reserved. Use of
// this source code is governed by a BSD-style license that can be found in
// the LICENSE file.
//
// Package excelize providing a set of functions that allow you to write to and
// read from XLAM / XLSM / XLSX / XLTM / XLTX files. Supports reading and
// writing spreadsheet documents generated by Microsoft Excelâ„¢ 2007 and later.
// Supports complex components by high compatibility, and provided streaming
// API for generating or reading data from a worksheet with huge amounts of
// data. This library needs Go version 1.15 or later.

package excelize

import "encoding/xml"

// AppProperties directly maps the document application properties.
type AppProperties struct {
	Application       string `json:"application"`
	ScaleCrop         bool   `json:"scale_crop"`
	DocSecurity       int    `json:"doc_security"`
	Company           string `json:"company"`
	LinksUpToDate     bool   `json:"links_up_to_date"`
	HyperlinksChanged bool   `json:"hyperlinks_changed"`
	AppVersion        string `json:"app_version"`
}

// xlsxProperties specifies to an OOXML document properties such as the
// template used, the number of pages and words, and the application name and
// version.
type xlsxProperties struct {
	XMLName              xml.Name `xml:"http://schemas.openxmlformats.org/officeDocument/2006/extended-properties Properties"`
	Vt                   string   `xml:"xmlns:vt,attr"`
	Template             string   `xml:",omitempty"`
	Manager              string   `xml:",omitempty"`
	Company              string   `xml:",omitempty"`
	Pages                int      `xml:",omitempty"`
	Words                int      `xml:",omitempty"`
	Characters           int      `xml:",omitempty"`
	PresentationFormat   string   `xml:",omitempty"`
	Lines                int      `xml:",omitempty"`
	Paragraphs           int      `xml:",omitempty"`
	Slides               int      `xml:",omitempty"`
	Notes                int      `xml:",omitempty"`
	TotalTime            int      `xml:",omitempty"`
	HiddenSlides         int      `xml:",omitempty"`
	MMClips              int      `xml:",omitempty"`
	ScaleCrop            bool     `xml:",omitempty"`
	HeadingPairs         *xlsxVectorVariant
	TitlesOfParts        *xlsxVectorLpstr
	LinksUpToDate        bool   `xml:",omitempty"`
	CharactersWithSpaces int    `xml:",omitempty"`
	SharedDoc            bool   `xml:",omitempty"`
	HyperlinkBase        string `xml:",omitempty"`
	HLinks               *xlsxVectorVariant
	HyperlinksChanged    bool `xml:",omitempty"`
	DigSig               *xlsxDigSig
	Application          string `xml:",omitempty"`
	AppVersion           string `xml:",omitempty"`
	DocSecurity          int    `xml:",omitempty"`
}

// xlsxVectorVariant specifies the set of hyperlinks that were in this
// document when last saved.
type xlsxVectorVariant struct {
	Content string `xml:",innerxml"`
}

type xlsxVectorLpstr struct {
	Content string `xml:",innerxml"`
}

// xlsxDigSig contains the signature of a digitally signed document.
type xlsxDigSig struct {
	Content string `xml:",innerxml"`
}