Skip to content

Commit

Permalink
Update names and types of properties on Worksheet (#18)
Browse files Browse the repository at this point in the history
A worksheet provided in #12 has a `Column` value without `customWidth` attribute. This attribute is now optional, also types of properties on `Column` were updated according to [documentation from Microsoft](https://docs.microsoft.com/en-us/dotnet/api/documentformat.openxml.spreadsheet.column?view=openxml-2.8.1). A few other types and names were updated accordingly with deprecation warnings added where possible. Worksheet XML that couldn't be parsed previously has been added to `WorksheetTests`.

* Update names and types of properties on Worksheet
* Update types on Column model and related tests
* Increase test coverage for new/deprecated props
  • Loading branch information
MaxDesiatov committed Nov 24, 2018
1 parent 91a3b39 commit 37fc33c
Show file tree
Hide file tree
Showing 11 changed files with 429 additions and 220 deletions.
36 changes: 34 additions & 2 deletions CoreXLSX.xcodeproj/project.pbxproj
Expand Up @@ -34,6 +34,15 @@
D150221321A1D97E00BFA4FC /* CoreXLSX.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_13 /* CoreXLSX.swift */; };
D150221421A1D97E00BFA4FC /* Relationships.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_14 /* Relationships.swift */; };
D150221521A1D97E00BFA4FC /* Worksheet.swift in Sources */ = {isa = PBXBuildFile; fileRef = OBJ_15 /* Worksheet.swift */; };
D1A8190921A9CB89004FCA33 /* WorksheetTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A8190821A9CB89004FCA33 /* WorksheetTests.swift */; };
D1A8190B21A9D0EF004FCA33 /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A8190A21A9D0EF004FCA33 /* Cell.swift */; };
D1A8190D21A9D139004FCA33 /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A8190A21A9D0EF004FCA33 /* Cell.swift */; };
D1A8190E21A9D13B004FCA33 /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A8190A21A9D0EF004FCA33 /* Cell.swift */; };
D1A8190F21A9D13B004FCA33 /* Cell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A8190A21A9D0EF004FCA33 /* Cell.swift */; };
D1A8191121A9D4ED004FCA33 /* CellQueries.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A8191021A9D4ED004FCA33 /* CellQueries.swift */; };
D1A8191221A9D4F7004FCA33 /* CellQueries.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A8191021A9D4ED004FCA33 /* CellQueries.swift */; };
D1A8191321A9D4F8004FCA33 /* CellQueries.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A8191021A9D4ED004FCA33 /* CellQueries.swift */; };
D1A8191421A9D4F8004FCA33 /* CellQueries.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1A8191021A9D4ED004FCA33 /* CellQueries.swift */; };
D1C96B8021A806A500303975 /* Workbook.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1C96B7F21A806A500303975 /* Workbook.swift */; };
D1C96B8321A80EC000303975 /* WorkbookTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1C96B8121A80E5900303975 /* WorkbookTests.swift */; };
D1EB9C6C21A98FFE002F2254 /* Workbook.swift in Sources */ = {isa = PBXBuildFile; fileRef = D1C96B7F21A806A500303975 /* Workbook.swift */; };
Expand Down Expand Up @@ -94,6 +103,9 @@
D150220521A1D8DC00BFA4FC /* CoreXLSX.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = CoreXLSX.framework; sourceTree = BUILT_PRODUCTS_DIR; };
D150220D21A1D95400BFA4FC /* XMLCoder.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XMLCoder.framework; path = Carthage/Build/watchOS/XMLCoder.framework; sourceTree = "<group>"; };
D150220E21A1D95400BFA4FC /* ZIPFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = ZIPFoundation.framework; path = Carthage/Build/watchOS/ZIPFoundation.framework; sourceTree = "<group>"; };
D1A8190821A9CB89004FCA33 /* WorksheetTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WorksheetTests.swift; sourceTree = "<group>"; };
D1A8190A21A9D0EF004FCA33 /* Cell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Cell.swift; sourceTree = "<group>"; };
D1A8191021A9D4ED004FCA33 /* CellQueries.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CellQueries.swift; sourceTree = "<group>"; };
D1C96B7F21A806A500303975 /* Workbook.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Workbook.swift; sourceTree = "<group>"; };
D1C96B8121A80E5900303975 /* WorkbookTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WorkbookTests.swift; sourceTree = "<group>"; };
OBJ_11 /* CellReference.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CellReference.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -226,14 +238,24 @@
name = watchOS;
sourceTree = "<group>";
};
OBJ_10 /* CoreXLSX */ = {
D1A8190C21A9D107004FCA33 /* Worksheet */ = {
isa = PBXGroup;
children = (
OBJ_11 /* CellReference.swift */,
OBJ_12 /* ColumnReference.swift */,
OBJ_15 /* Worksheet.swift */,
D1A8190A21A9D0EF004FCA33 /* Cell.swift */,
D1A8191021A9D4ED004FCA33 /* CellQueries.swift */,
);
path = Worksheet;
sourceTree = "<group>";
};
OBJ_10 /* CoreXLSX */ = {
isa = PBXGroup;
children = (
D1A8190C21A9D107004FCA33 /* Worksheet */,
OBJ_13 /* CoreXLSX.swift */,
OBJ_14 /* Relationships.swift */,
OBJ_15 /* Worksheet.swift */,
D1C96B7F21A806A500303975 /* Workbook.swift */,
);
name = CoreXLSX;
Expand All @@ -256,6 +278,7 @@
OBJ_20 /* RelationshipsTests.swift */,
OBJ_21 /* XCTestManifests.swift */,
D1C96B8121A80E5900303975 /* WorkbookTests.swift */,
D1A8190821A9CB89004FCA33 /* WorksheetTests.swift */,
);
name = CoreXLSXTests;
path = Tests/CoreXLSXTests;
Expand Down Expand Up @@ -574,6 +597,8 @@
files = (
D15021E121A1CB0500BFA4FC /* CoreXLSX.swift in Sources */,
D15021DF21A1CB0500BFA4FC /* CellReference.swift in Sources */,
D1A8191221A9D4F7004FCA33 /* CellQueries.swift in Sources */,
D1A8190D21A9D139004FCA33 /* Cell.swift in Sources */,
D15021E021A1CB0500BFA4FC /* ColumnReference.swift in Sources */,
D15021E221A1CB0500BFA4FC /* Relationships.swift in Sources */,
D15021E321A1CB0500BFA4FC /* Worksheet.swift in Sources */,
Expand All @@ -587,6 +612,8 @@
files = (
D15021FD21A1D1DB00BFA4FC /* CoreXLSX.swift in Sources */,
D15021FB21A1D1DB00BFA4FC /* CellReference.swift in Sources */,
D1A8191321A9D4F8004FCA33 /* CellQueries.swift in Sources */,
D1A8190E21A9D13B004FCA33 /* Cell.swift in Sources */,
D15021FC21A1D1DB00BFA4FC /* ColumnReference.swift in Sources */,
D15021FE21A1D1DB00BFA4FC /* Relationships.swift in Sources */,
D15021FF21A1D1DB00BFA4FC /* Worksheet.swift in Sources */,
Expand All @@ -600,6 +627,8 @@
files = (
D150221321A1D97E00BFA4FC /* CoreXLSX.swift in Sources */,
D150221121A1D97E00BFA4FC /* CellReference.swift in Sources */,
D1A8191421A9D4F8004FCA33 /* CellQueries.swift in Sources */,
D1A8190F21A9D13B004FCA33 /* Cell.swift in Sources */,
D150221221A1D97E00BFA4FC /* ColumnReference.swift in Sources */,
D150221421A1D97E00BFA4FC /* Relationships.swift in Sources */,
D150221521A1D97E00BFA4FC /* Worksheet.swift in Sources */,
Expand All @@ -613,6 +642,8 @@
files = (
OBJ_62 /* CellReference.swift in Sources */,
OBJ_63 /* ColumnReference.swift in Sources */,
D1A8191121A9D4ED004FCA33 /* CellQueries.swift in Sources */,
D1A8190B21A9D0EF004FCA33 /* Cell.swift in Sources */,
OBJ_64 /* CoreXLSX.swift in Sources */,
OBJ_65 /* Relationships.swift in Sources */,
OBJ_66 /* Worksheet.swift in Sources */,
Expand All @@ -626,6 +657,7 @@
files = (
D1C96B8321A80EC000303975 /* WorkbookTests.swift in Sources */,
OBJ_90 /* CellReferenceTests.swift in Sources */,
D1A8190921A9CB89004FCA33 /* WorksheetTests.swift in Sources */,
OBJ_91 /* CoreXLSXTests.swift in Sources */,
OBJ_92 /* RelationshipsTests.swift in Sources */,
OBJ_93 /* XCTestManifests.swift in Sources */,
Expand Down
2 changes: 1 addition & 1 deletion Sources/CoreXLSX/Relationships.swift
@@ -1,6 +1,6 @@
//
// Relationships.swift
// XLSXReader
// CoreXLSX
//
// Created by Max Desiatov on 27/10/2018.
//
Expand Down
2 changes: 1 addition & 1 deletion Sources/CoreXLSX/Workbook.swift
@@ -1,6 +1,6 @@
//
// Workbook.swift
// CoreXLSXmacOS
// CoreXLSX
//
// Created by Max Desiatov on 23/11/2018.
//
Expand Down
215 changes: 0 additions & 215 deletions Sources/CoreXLSX/Worksheet.swift

This file was deleted.

29 changes: 29 additions & 0 deletions Sources/CoreXLSX/Worksheet/Cell.swift
@@ -0,0 +1,29 @@
//
// Cell.swift
// CoreXLSX
//
// Created by Max Desiatov on 24/11/2018.
//

public struct Cell: Codable, Equatable {
public let reference: CellReference
public let type: String?

/// FIXME: Attribute "s" in a cell is an index into the styles table,
/// while the cell type "s" corresponds to the shared string table.
/// Can XMLCoder distinguish between an attribute and a
/// node having the same name?
public let s: String?
public let inlineString: InlineString?
public let formula: String?
public let value: String?

enum CodingKeys: String, CodingKey {
case formula = "f"
case value = "v"
case inlineString = "is"
case reference = "r"
case type = "t"
case s
}
}

0 comments on commit 37fc33c

Please sign in to comment.