Type xlsxDocProps = Class
	Function Create(file); overload;
	Begin
		excel_ := file;
	End;

	Function SetAppProps(appProps);
	Begin
		app_xml := excel_.WorkBook().GetXmlFileObj('docProps/app.xml');
		node := app_xml.FirstChildElement('Properties');
		if not ifObj(node) then return "node::Properties can't be found";
		marshal := appProps.Marshal();
		class(TSXml).UpdateNode(node, marshal['attributes'], marshal['children']);
	End;

	Function GetAppProps();
	Begin
		app_xml := excel_.WorkBook().GetXmlFileObj('docProps/app.xml');
		node := app_xml.FirstChildElement('Properties');
		app_props := TOfficeObj('TAppProperty');
		app_props.RootObj := node;
		return app_props;
	End

	Function SetCoreProps(appProps);
	Begin
		core_xml := excel_.WorkBook().GetXmlFileObj('docProps/core.xml');
		node := core_xml.FirstChildElement('cp:coreProperties');
		marshal := appProps.Marshal();
		class(TSXml).UpdateNode(node, marshal['attributes'], marshal['children']);
	End

    Function GetCoreProps();
	Begin
		core_xml := excel_.WorkBook().GetXmlFileObj('docProps/core.xml');
		node := core_xml.FirstChildElement('cp:coreProperties');
		core_props := TOfficeObj('TCoreProperty');
		core_props.RootObj := node;
		return core_props;
	End

	class Function NewObject(file);
	Begin
		return new xlsxDocProps(file);
	End;

private
	excel_; //TSExcelFile对象
End;
