From 2037e8c2fe527f6563b0e09ad9afc835a29cb541 Mon Sep 17 00:00:00 2001 From: csh Date: Tue, 31 Jan 2023 17:27:13 +0800 Subject: [PATCH] v1.1.2 --- Demo/ExcelHelp.tsl | 16 +- Demo/excel_demo.tsl | 11 + Demo/wordHelp.tsl | 5 +- DocxFile使用帮助.docx | Bin 78220 -> 78888 bytes ExcelFile使用帮助.xlsx | Bin 25121 -> 25684 bytes funcext/TSOffice/TOfficeObj.tsf | 314 ++++++++++++++++--- funcext/TSOffice/TSDocxFile.tsf | 2 +- funcext/TSOffice/TSExcelFile.tsf | 35 ++- funcext/TSOffice/worksheet/xlsxSheetView.tsf | 53 +++- funcext/TSOffice/worksheet/xlsxWorkBook.tsf | 20 ++ 更新日志.md | 15 + 11 files changed, 404 insertions(+), 67 deletions(-) diff --git a/Demo/ExcelHelp.tsl b/Demo/ExcelHelp.tsl index 8c043d6..b1c74cd 100644 --- a/Demo/ExcelHelp.tsl +++ b/Demo/ExcelHelp.tsl @@ -525,6 +525,7 @@ style.Protection.Lock := 1; ('attrName': 'Vertical', 'type': 'string', 'desc': '垂直对齐', 'value': array('nil(默认): 靠下', '"center": 居中', '"top": 靠上', '"justify": 两端对齐', 'distributed: 分散对齐')), ('attrName': 'WrapText', 'type': 'boolean', 'desc': '是否自动换行,默认FALSE', 'value': array()), ('attrName': 'ReadingOrder', 'type': 'int', 'desc': '文字方向', 'value': array('nil(默认): 根据内容', '1: 总是从左到右', '2: 总是从右到左')), + ('attrName': 'TextRotation', 'type': 'int', 'desc': '文本方向', 'value': array('[-90:90]')), ), 'Demo': '', ), @@ -742,8 +743,19 @@ style.Protection.Lock := 1; 'AttrInfo': ( ('attrName': 'ShowGridLines', 'type': 'bool', 'desc': '网格线', 'value': array()), ('attrName': 'ShowRowColHeaders', 'type': 'bool', 'desc': '标题', 'value': array()), - ('attrName': 'View', 'type': 'string', 'desc': '工作簿视图', 'value': array('"pageBreakPreview": 分页预览')), - ('attrName': 'ZoomScale', 'type': 'bool', 'desc': '缩放比例(%)', 'value': array()), + ('attrName': 'View', 'type': 'bool', 'desc': '工作簿视图', 'value': array('"pageBreakPreview": 分页预览')), + ('attrName': 'ZoomScale', 'type': 'string', 'desc': '缩放比例(%)', 'value': array()), + ), + 'Demo': '', + ), + ('ObjName': 'TPane', + 'Desc': ('TPane有以下属性: '), + 'AttrInfo': ( + ('attrName': 'XSplit', 'type': 'int', 'desc': '按列分割', 'value': array()), + ('attrName': 'YSplit', 'type': 'int', 'desc': '按行分割', 'value': array()), + ('attrName': 'ActivePane', 'type': 'string', 'desc': '激活窗格', 'value': array('"bottomRight": 都设置{XSplit}和{YSplit}时为该值', '"topRight": 仅设置{XSplit}时', '"bottomLeft": 仅设置{YSplit}时')), + ('attrName': 'State', 'type': 'string', 'desc': '冻结窗口', 'value': array('"frozen"')), + ('attrName': 'TopLeftCell', 'type': 'string', 'desc': '顶部单元格,根据{ActivePane}的值设定', 'value': array('"frozen"')), ), 'Demo': '', ), diff --git a/Demo/excel_demo.tsl b/Demo/excel_demo.tsl index 1197493..24780b8 100644 --- a/Demo/excel_demo.tsl +++ b/Demo/excel_demo.tsl @@ -242,6 +242,7 @@ style.Alignment.Horizontal := "center"; style.Alignment.Vertical := "justify"; style.Alignment.WrapText := True; style.Alignment.ReadingOrder := 2; +style.Alignment.TextRotation := 45; style.Border.Left.LineStyle := "thin"; style.Border.Left.Color := "A020F0"; style.Border.Right.LineStyle := "thin"; @@ -357,6 +358,16 @@ println("[success] SetSheetViewOptions"); view := excel.GetSheetViewOptions(sheetName, 0); println("[success] GetSheetViewOptions ShowGridLines = {}, ShowRowColHeaders = {}, View = {}, ZoomScale = {}", view.ShowGridLines, view.ShowRowColHeaders, view.ZoomScale, view.View); +// SetPane +Pane := TOfficeObj('TPane'); +Pane.XSplit := 6; +Pane.YSplit := 14; +Pane.ActivePane := 'bottomRight'; +Pane.TopLeftCell := excel.CoordinatesToCellName(Pane.XSplit + 1, Pane.YSplit + 1)[1]; +Pane.State := 'frozen'; +excel.SetPane(sheetName, 0, Pane); +println("[success] SetPane"); + // SetPageLayout pageLayout := TOfficeObj('TPageLayout'); pageLayout.FitToWidth := 10; diff --git a/Demo/wordHelp.tsl b/Demo/wordHelp.tsl index ef8393c..d8b549e 100644 --- a/Demo/wordHelp.tsl +++ b/Demo/wordHelp.tsl @@ -203,8 +203,9 @@ Begin ///TTable对象 _AddTitle(docx, 'TTable对象属性', 2); //第二级标题 tbl := new TOfficeObj('TTable'); - _LoadObjectAttributes(tbl.Format, attrs, '表格属性', 'Format'); - _LoadObjectAttributes(tbl.FormatEx, attrs, '表格扩展属性', 'FormatEx'); + attrs := array(('类别':'单元格属性', '接口':'Paragraph', '说明':'TParagrap对象:设置单元格段落格式、字体格式')); + _LoadObjectAttributes(tbl.Format, attrs, '表格样式', 'Format'); + _LoadObjectAttributes(tbl.FormatEx, attrs, '浮动表设置', 'FormatEx'); _AddClassHelpTable(docx, attrs);//添加表格:TTable属性 ///TTable方法 diff --git a/DocxFile使用帮助.docx b/DocxFile使用帮助.docx index 433d1488b028f00e57f05a47257d9b721785c743..fe1435eb5c1f07413243421f0d4a7dd65a9352b4 100644 GIT binary patch delta 51122 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 LZj9jXU&Q|bIUH>H delta 50769 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 S$4G=_0!9U2q4?|u(EkA-uvj?& diff --git a/ExcelFile使用帮助.xlsx b/ExcelFile使用帮助.xlsx index 341a55b3bf18f61ee956a3a5b95e5a64126df03e..7a6f227478c8f1114ae32424eb46a4acb4d1d4bc 100644 GIT binary patch delta 19076 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 VXzd34bGEx!?QGjYZUo)H{{qf~5#Im+ delta 18578 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 Q$)b}jQ$*SR$AOFh0B>pmYybcN diff --git a/funcext/TSOffice/TOfficeObj.tsf b/funcext/TSOffice/TOfficeObj.tsf index 54652c6..dafca2e 100644 --- a/funcext/TSOffice/TOfficeObj.tsf +++ b/funcext/TSOffice/TOfficeObj.tsf @@ -1,4 +1,4 @@ -// Version 1.1.1 +// Version 1.1.2 Function TOfficeObj(n); Begin @@ -145,6 +145,10 @@ Begin return new THyperLink(); "tsheetview": return new TSheetView(); + "tpane": + return new TPane(); + "tselection": + return new TSelection(); "tpagelayout": return new TPageLayout(); "tappproperty": @@ -3799,7 +3803,7 @@ type TAlignment=class(NodeInfo) Function GetAttrs(); override; Begin HandleAttrs(); - return array(("Horizontal", "horizontal", Horizontal, ""),("Vertical", "vertical", Vertical, ""),("WrapText", "wrapText", WrapText, ""),("ReadingOrder", "readingOrder", ReadingOrder, "")) union ExtAttr; + return array(("Horizontal", "horizontal", Horizontal, ""),("Vertical", "vertical", Vertical, ""),("WrapText", "wrapText", WrapText, ""),("ReadingOrder", "readingOrder", ReadingOrder, ""),("TextRotation", "textRotation", TextRotation, "")) union ExtAttr; End; Function GetChildren(); override; @@ -3813,6 +3817,7 @@ type TAlignment=class(NodeInfo) Vertical; WrapText; ReadingOrder; + TextRotation; //Nodes End; @@ -4340,6 +4345,202 @@ type TSheetView=class(NodeInfo) //Nodes End; +/////////////////////////////////////////////////////////////// +/// TPane +/////////////////////////////////////////////////////////////// +type TPane=class(NodeInfo) + Function Create(); overload; + Begin + Create(nil, 'pane'); + End; + + Function Create(p, name); overload; + Begin + Class(NodeInfo).Create(p, name); + Init(); + End; + + Function Init(); + Begin + //TODO... + End; + + Function InitRootNode(node); + Begin + RootObj := node; + End; + + Property XSplit read readXMLXSplit write writeXMLXSplit; + Function readXMLXSplit(); + Begin + tmpVal := class(TSXml).Utf8ToCurCodePage(Value('XSplit')); + if not ifNil(tmpVal) then return tmpVal; + return class(TSXml).Utf8ToCurCodePage(XMLXSplit); + End; + + Function writeXMLXSplit(str); + Begin + XMLXSplit := class(TSXml).CurCodePageToUtf8(str); + End; + + Property YSplit read readXMLYSplit write writeXMLYSplit; + Function readXMLYSplit(); + Begin + tmpVal := class(TSXml).Utf8ToCurCodePage(Value('YSplit')); + if not ifNil(tmpVal) then return tmpVal; + return class(TSXml).Utf8ToCurCodePage(XMLYSplit); + End; + + Function writeXMLYSplit(str); + Begin + XMLYSplit := class(TSXml).CurCodePageToUtf8(str); + End; + + Property TopLeftCell read readXMLTopLeftCell write writeXMLTopLeftCell; + Function readXMLTopLeftCell(); + Begin + tmpVal := class(TSXml).Utf8ToCurCodePage(Value('TopLeftCell')); + if not ifNil(tmpVal) then return tmpVal; + return class(TSXml).Utf8ToCurCodePage(XMLTopLeftCell); + End; + + Function writeXMLTopLeftCell(str); + Begin + XMLTopLeftCell := class(TSXml).CurCodePageToUtf8(str); + End; + + Property ActivePane read readXMLActivePane write writeXMLActivePane; + Function readXMLActivePane(); + Begin + tmpVal := class(TSXml).Utf8ToCurCodePage(Value('ActivePane')); + if not ifNil(tmpVal) then return tmpVal; + return class(TSXml).Utf8ToCurCodePage(XMLActivePane); + End; + + Function writeXMLActivePane(str); + Begin + XMLActivePane := class(TSXml).CurCodePageToUtf8(str); + End; + + Property State read readXMLState write writeXMLState; + Function readXMLState(); + Begin + tmpVal := class(TSXml).Utf8ToCurCodePage(Value('State')); + if not ifNil(tmpVal) then return tmpVal; + return class(TSXml).Utf8ToCurCodePage(XMLState); + End; + + Function writeXMLState(str); + Begin + XMLState := class(TSXml).CurCodePageToUtf8(str); + End; + + Function GetAttrs(); override; + Begin + HandleAttrs(); + return array(("XSplit", "xSplit", XMLXSplit, ""),("YSplit", "ySplit", XMLYSplit, ""),("TopLeftCell", "topLeftCell", XMLTopLeftCell, ""),("ActivePane", "activePane", XMLActivePane, ""),("State", "state", XMLState, "")) union ExtAttr; + End; + + Function GetChildren(); override; + Begin + HandleChildren(); + return ExtNodes; + End; + + //Attributes + XMLXSplit; + XMLYSplit; + XMLTopLeftCell; + XMLActivePane; + XMLState; + + //Nodes +End; + +/////////////////////////////////////////////////////////////// +/// TSelection +/////////////////////////////////////////////////////////////// +type TSelection=class(NodeInfo) + Function Create(); overload; + Begin + Create(nil, 'selection'); + End; + + Function Create(p, name); overload; + Begin + Class(NodeInfo).Create(p, name); + Init(); + End; + + Function Init(); + Begin + //TODO... + End; + + Function InitRootNode(node); + Begin + RootObj := node; + End; + + Property Pane read readXMLPane write writeXMLPane; + Function readXMLPane(); + Begin + tmpVal := class(TSXml).Utf8ToCurCodePage(Value('Pane')); + if not ifNil(tmpVal) then return tmpVal; + return class(TSXml).Utf8ToCurCodePage(XMLPane); + End; + + Function writeXMLPane(str); + Begin + XMLPane := class(TSXml).CurCodePageToUtf8(str); + End; + + Property ActiveCell read readXMLActiveCell write writeXMLActiveCell; + Function readXMLActiveCell(); + Begin + tmpVal := class(TSXml).Utf8ToCurCodePage(Value('ActiveCell')); + if not ifNil(tmpVal) then return tmpVal; + return class(TSXml).Utf8ToCurCodePage(XMLActiveCell); + End; + + Function writeXMLActiveCell(str); + Begin + XMLActiveCell := class(TSXml).CurCodePageToUtf8(str); + End; + + Property Sqref read readXMLSqref write writeXMLSqref; + Function readXMLSqref(); + Begin + tmpVal := class(TSXml).Utf8ToCurCodePage(Value('Sqref')); + if not ifNil(tmpVal) then return tmpVal; + return class(TSXml).Utf8ToCurCodePage(XMLSqref); + End; + + Function writeXMLSqref(str); + Begin + XMLSqref := class(TSXml).CurCodePageToUtf8(str); + End; + + Function GetAttrs(); override; + Begin + HandleAttrs(); + return array(("Pane", "pane", XMLPane, ""),("ActiveCell", "activeCell", XMLActiveCell, ""),("Sqref", "sqref", XMLSqref, "")) union ExtAttr; + End; + + Function GetChildren(); override; + Begin + HandleChildren(); + return ExtNodes; + End; + + //Attributes + XMLPane; + XMLActiveCell; + XMLSqref; + + //Nodes +End; + /////////////////////////////////////////////////////////////// /// TPageLayout /////////////////////////////////////////////////////////////// @@ -7195,7 +7396,7 @@ type TcellMerge=class(NodeInfo) Function GetAttrs(); override; Begin HandleAttrs(); - return array(("Author", "w:author", XMLAuthor, ""),("Date", "w:date", Date, ""),("ID", "w:id", ID, ""),("vmerge", "w:vmerge", vmerge, ""),("vmergeOrig", "w:vmergeOrig", vmergeOrig, "")) union ExtAttr; + return array(("Author", "w:author", XMLAuthor, ""),("Date", "w:date", Date, ""),("ID", "w:id", ID, ""),("vmerge", "w:vmerge", vmerge, "垂直合并设置。"),("vmergeOrig", "w:vmergeOrig", vmergeOrig, "")) union ExtAttr; End; Function GetChildren(); override; @@ -7260,23 +7461,23 @@ type TwTcPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Width","name":"w:tcW","obj":Width,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Type","name":"w:tcW","obj":Type,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"", "class":"") + return array(("field":"Width","name":"w:tcW","obj":Width,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"表格单元格宽度", "class":"") + ,("field":"Type","name":"w:tcW","obj":Type,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"宽度属性的单位。此属性用于定义表格的各种属性,包括:单元格间距、首选宽度和表格边距。", "class":"") ,("field":"Shading","name":Shading.NodeName,"obj":Shading,"attrEx":"","nodeType":"","attrName":"", "desc":"表头底纹", "class":"TwShading") - ,("field":"cnfStyle","name":"w:cnfStyle","obj":cnfStyle,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") + ,("field":"cnfStyle","name":"w:cnfStyle","obj":cnfStyle,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"此表格单元的条件表格样式格式设置属性集。", "class":"") ,("field":"CellMar","name":CellMar.NodeName,"obj":CellMar,"attrEx":"","nodeType":"","attrName":"", "desc":"单元格边距设置", "class":"TTblCellMar") ,("field":"Borders","name":Borders.NodeName,"obj":Borders,"attrEx":"","nodeType":"","attrName":"", "desc":"边框属性", "class":"TwTblBorders") - ,("field":"gridSpan","name":"w:gridSpan","obj":gridSpan,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"hideMark","name":"w:hideMark","obj":hideMark,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"hmerge","name":"w:hmerge","obj":hmerge,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"noWrap","name":"w:noWrap","obj":noWrap,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"tcFitText","name":"w:tcFitText","obj":tcFitText,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"textDirection","name":"w:textDirection","obj":textDirection,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") + ,("field":"gridSpan","name":"w:gridSpan","obj":gridSpan,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"当前表单元格所跨的网格列", "class":"") + ,("field":"hideMark","name":"w:hideMark","obj":hideMark,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"忽略行高度计算中的单元格结尾标记", "class":"") + ,("field":"hmerge","name":"w:hmerge","obj":hmerge,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"水平合并单元格", "class":"") + ,("field":"noWrap","name":"w:noWrap","obj":noWrap,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"不换行单元格内容", "class":"") + ,("field":"tcFitText","name":"w:tcFitText","obj":tcFitText,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"调整单元格内的文本", "class":"") + ,("field":"textDirection","name":"w:textDirection","obj":textDirection,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"表格单元格文本文字方向", "class":"") ,("field":"Del","name":Del.NodeName,"obj":Del,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TOptInfo") ,("field":"Ins","name":Ins.NodeName,"obj":Ins,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TOptInfo") - ,("field":"cellMerge","name":cellMerge.NodeName,"obj":cellMerge,"attrEx":"","nodeType":"","attrName":"", "desc":"单元格属性", "class":"TcellMerge") - ,("field":"vAlign","name":"w:vAlign","obj":vAlign,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"vmerge","name":"w:vmerge","obj":vmerge,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") + ,("field":"cellMerge","name":cellMerge.NodeName,"obj":cellMerge,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TcellMerge") + ,("field":"vAlign","name":"w:vAlign","obj":vAlign,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"表格单元格垂直对齐", "class":"") + ,("field":"vmerge","name":"w:vmerge","obj":vmerge,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"垂直合并单元格", "class":"") ) union ExtNodes; End; @@ -7388,15 +7589,15 @@ type TwTrPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"Height","name":"w:trHeight","obj":Height,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Rule","name":"w:trHeight","obj":Rule,"attrEx":"w:hRule","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Alignment","name":"w:jc","obj":Alignment,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"CantSplit","name":"w:cantSplit","obj":CantSplit,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"cnfStyle","name":"w:cnfStyle","obj":cnfStyle,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"gridAfter","name":"w:gridAfter","obj":gridAfter,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"gridBefore","name":"w:gridBefore","obj":gridBefore,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"hidden","name":"w:hidden","obj":hidden,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"tblHeader","name":"w:tblHeader","obj":tblHeader,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") + return array(("field":"Height","name":"w:trHeight","obj":Height,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"行高", "class":"") + ,("field":"Rule","name":"w:trHeight","obj":Rule,"attrEx":"w:hRule","nodeType":"","attrName":"", "desc":"如果Rule的值为自动,则应根据其内容的高度自动确定表行的高度,忽略Height值;如果Rule的值至少为least,则表行的高度应至少为Height属性的值;如果Rule的值是精确的,那么表行的高度应该正好是Height属性的值。", "class":"") + ,("field":"Alignment","name":"w:jc","obj":Alignment,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"对齐方式(left、right、center)", "class":"") + ,("field":"CantSplit","name":"w:cantSplit","obj":CantSplit,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"表行不能跨页分隔", "class":"") + ,("field":"cnfStyle","name":"w:cnfStyle","obj":cnfStyle,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"表行条件格式", "class":"") + ,("field":"gridAfter","name":"w:gridAfter","obj":gridAfter,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"最后一个单元格后的网格列", "class":"") + ,("field":"gridBefore","name":"w:gridBefore","obj":gridBefore,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"第一个单元格之前的网格列", "class":"") + ,("field":"hidden","name":"w:hidden","obj":hidden,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"隐藏表行标记", "class":"") + ,("field":"tblHeader","name":"w:tblHeader","obj":tblHeader,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"在每个新页面上重复表行", "class":"") ,("field":"Del","name":Del.NodeName,"obj":Del,"attrEx":"","nodeType":"","attrName":"", "desc":"disable", "class":"TOptInfo") ) union ExtNodes; End; @@ -7811,7 +8012,7 @@ type TwTblpPr=class(NodeInfo) Function GetAttrs(); override; Begin HandleAttrs(); - return array(("bottomFromText", "w:bottomFromText ", bottomFromText, ""),("horizAnchor", "w:horizAnchor", horizAnchor, ""),("leftFromText", "w:leftFromText", leftFromText, ""),("rightFromText", "w:rightFromText", rightFromText, ""),("tblpX", "w:tblpX", tblpX, ""),("tblpXSpec", "w:tblpXSpec", tblpXSpec, ""),("tblpY", "w:tblpY", tblpY, ""),("tblpYSpec", "w:tblpYSpec", tblpYSpec, ""),("topFromText", "w:topFromText", topFromText, ""),("vertAnchor", "w:vertAnchor", vertAnchor, "")) union ExtAttr; + return array(("bottomFromText", "w:bottomFromText ", bottomFromText, "指定当前浮动表与该浮动表下方段落中文本顶部之间应保持的最小距离。"),("horizAnchor", "w:horizAnchor", horizAnchor, "指定水平定位的基础对象。"),("leftFromText", "w:leftFromText", leftFromText, "指定当前浮动表与该浮动表左侧段落中文本边缘之间应保持的最小距离。"),("rightFromText", "w:rightFromText", rightFromText, "指定当前浮动表与该浮动表右侧段落中文本边缘之间应保持的最小距离。"),("tblpX", "w:tblpX", tblpX, "指定浮动表的绝对水平位置。此绝对位置是相对于horzAnchor属性为此浮动表指定的水平定位点指定的。"),("tblpXSpec", "w:tblpXSpec", tblpXSpec, "指定浮动表的相对水平位置。此相对位置是相对于此浮动表的horizAnchor属性指定的水平定位点指定的。"),("tblpY", "w:tblpY", tblpY, "指定浮动表的绝对垂直位置。此绝对位置是相对于此浮动表的vertAnchor属性指定的垂直锚点指定的。"),("tblpYSpec", "w:tblpYSpec", tblpYSpec, "指定浮动表的相对垂直位置。此相对位置是相对于此浮动表的vertAnchor属性指定的垂直锚点指定的。"),("topFromText", "w:topFromText", topFromText, "指定当前浮动表与该浮动表上方段落中文本底部边缘之间应保持的最小距离。"),("vertAnchor", "w:vertAnchor", vertAnchor, "指定应根据其计算tblpY属性中的垂直定位的基础对象。")) union ExtAttr; End; Function GetChildren(); override; @@ -7877,26 +8078,26 @@ type TwTblPr=class(NodeInfo) Function GetChildren(); override; Begin HandleChildren(); - return array(("field":"StyleID","name":"w:tblStyle","obj":StyleID,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Width","name":"w:tblW","obj":Width,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"WidthType","name":"w:tblW","obj":WidthType,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Val","name":"w:tblLook","obj":Val,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"NoVBand","name":"w:tblLook","obj":NoVBand,"attrEx":"w:noVBand","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"NoHBand","name":"w:tblLook","obj":NoHBand,"attrEx":"w:noHBand","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"LastRow","name":"w:tblLook","obj":LastRow,"attrEx":"w:lastRow","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"LastColumn","name":"w:tblLook","obj":LastColumn,"attrEx":"w:lastColumn","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"FirstRow","name":"w:tblLook","obj":FirstRow,"attrEx":"w:firstRow","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"FirstColumn","name":"w:tblLook","obj":FirstColumn,"attrEx":"w:firstColumn","nodeType":"","attrName":"", "desc":"", "class":"") + return array(("field":"StyleID","name":"w:tblStyle","obj":StyleID,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"样式ID", "class":"") + ,("field":"Width","name":"w:tblW","obj":Width,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"表格宽度", "class":"") + ,("field":"WidthType","name":"w:tblW","obj":WidthType,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"宽度属性的单位。此属性用于定义表格的各种属性,包括:单元格间距、首选宽度和表格边距。", "class":"") + ,("field":"Val","name":"w:tblLook","obj":Val,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"表格条件格式样式:表格样式最多可以指定六种不同的可选条件格式,如首行、尾行、首列、尾列等(16进制short)", "class":"") + ,("field":"NoVBand","name":"w:tblLook","obj":NoVBand,"attrEx":"w:noVBand","nodeType":"","attrName":"", "desc":"disable", "class":"") + ,("field":"NoHBand","name":"w:tblLook","obj":NoHBand,"attrEx":"w:noHBand","nodeType":"","attrName":"", "desc":"disable", "class":"") + ,("field":"LastRow","name":"w:tblLook","obj":LastRow,"attrEx":"w:lastRow","nodeType":"","attrName":"", "desc":"disable", "class":"") + ,("field":"LastColumn","name":"w:tblLook","obj":LastColumn,"attrEx":"w:lastColumn","nodeType":"","attrName":"", "desc":"disable", "class":"") + ,("field":"FirstRow","name":"w:tblLook","obj":FirstRow,"attrEx":"w:firstRow","nodeType":"","attrName":"", "desc":"disable", "class":"") + ,("field":"FirstColumn","name":"w:tblLook","obj":FirstColumn,"attrEx":"w:firstColumn","nodeType":"","attrName":"", "desc":"disable", "class":"") ,("field":"Shading","name":Shading.NodeName,"obj":Shading,"attrEx":"","nodeType":"","attrName":"", "desc":"表头底纹", "class":"TwShading") - ,("field":"bidiVisual","name":"w:bidiVisual","obj":bidiVisual,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Alignment","name":"w:jc","obj":Alignment,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"Indent","name":"w:tblInd","obj":Indent,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"IndentType","name":"w:tblInd","obj":IndentType,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"", "class":"") + ,("field":"bidiVisual","name":"w:bidiVisual","obj":bidiVisual,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"从右到左可视化表格", "class":"") + ,("field":"Alignment","name":"w:jc","obj":Alignment,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"当前文本边距的对齐方式(left、right、center)", "class":"") + ,("field":"Indent","name":"w:tblInd","obj":Indent,"attrEx":"w:w","nodeType":"","attrName":"", "desc":"文档中当前表格前缘之前的缩进(从左到右表格中的左边缘,从右到左表格中的右边缘)。", "class":"") + ,("field":"IndentType","name":"w:tblInd","obj":IndentType,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"约定Indent值的的单位,如果忽略此属性,则其值应假定为dxa(二十分之一点)。", "class":"") ,("field":"Borders","name":Borders.NodeName,"obj":Borders,"attrEx":"","nodeType":"","attrName":"", "desc":"表格边框属性", "class":"TwTblBorders") - ,("field":"Autofit","name":"w:tblLayout","obj":Autofit,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"", "class":"") + ,("field":"Autofit","name":"w:tblLayout","obj":Autofit,"attrEx":"w:type","nodeType":"","attrName":"", "desc":"布局该表内容的算法。当表格显示在文档中时,可以使用固定宽度或自动调整布局算法来显示表格。如果省略了该元素,则该元素的值应假定为自动。", "class":"") ,("field":"CellMar","name":CellMar.NodeName,"obj":CellMar,"attrEx":"","nodeType":"","attrName":"", "desc":"单元格边距设置", "class":"TTblCellMar") - ,("field":"Overlap","name":"w:tblOverlap ","obj":Overlap,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"", "class":"") - ,("field":"tblpPr","name":tblpPr.NodeName,"obj":tblpPr,"attrEx":"","nodeType":"","attrName":"", "desc":"表格样式", "class":"TwTblpPr") + ,("field":"Overlap","name":"w:tblOverlap ","obj":Overlap,"attrEx":"w:val","nodeType":"","attrName":"", "desc":"当前表是否允许其他浮动表重叠其范围。如果指定,则不应进行任何调整,以防止其属性通常会导致其重叠的表格在显示时重叠。如果关闭,则应根据需要调整表格,以防止它们在显示时重叠,方法是根据需要调整浮动表格属性。", "class":"") + ,("field":"tblpPr","name":tblpPr.NodeName,"obj":tblpPr,"attrEx":"","nodeType":"","attrName":"", "desc":"浮动表设置", "class":"TwTblpPr") ) union ExtNodes; End; @@ -8316,7 +8517,7 @@ type TtblStylePr=class(NodeInfo) return array(("field":"pPr","name":pPr.NodeName,"obj":pPr,"attrEx":"","nodeType":"","attrName":"", "desc":"段落格式", "class":"TwpPr") ,("field":"rPr","name":rPr.NodeName,"obj":rPr,"attrEx":"","nodeType":"","attrName":"", "desc":"字体属性", "class":"TwrPr") ,("field":"TrPr","name":TrPr.NodeName,"obj":TrPr,"attrEx":"","nodeType":"","attrName":"", "desc":"表格行属性", "class":"TwTrPr") - ,("field":"TblPr","name":TblPr.NodeName,"obj":TblPr,"attrEx":"","nodeType":"","attrName":"", "desc":"表格属性", "class":"TwTblPr") + ,("field":"TblPr","name":TblPr.NodeName,"obj":TblPr,"attrEx":"","nodeType":"","attrName":"", "desc":"表格样式", "class":"TwTblPr") ,("field":"TcPr","name":TcPr.NodeName,"obj":TcPr,"attrEx":"","nodeType":"","attrName":"", "desc":"单元格属性", "class":"TwTcPr") ) union ExtNodes; End; @@ -11948,13 +12149,16 @@ Type TDocumentBody = Class(DocObject) borders := ifObj(tblBorders) ? tblBorders.Marshal() : nil; cellmar := ifObj(tblCellMar) ? tblCellMar.Marshal() : nil; End; - defaultParagraph := new TParagraph(); - defaultParagraph.pPr.rPr.Lang := 'en-US'; - defaultParagraph.pPr.rPr.eastAsia := 'zh-CN'; - defaultParagraph.Run.rPr.Lang := 'en-US'; - defaultParagraph.Run.rPr.eastAsia := 'zh-CN'; + defaultParagraph := tbl.Paragraph; + if not ifObj(defaultParagraph) then Begin + defaultParagraph := new TParagraph(); + defaultParagraph.pPr.rPr.Lang := 'en-US'; + defaultParagraph.pPr.rPr.eastAsia := 'zh-CN'; + defaultParagraph.Run.rPr.Lang := 'en-US'; + defaultParagraph.Run.rPr.eastAsia := 'zh-CN'; + End; defaultpPr := defaultParagraph.pPr.Marshal(); - defaultrPr := defaultParagraph.Run.rPr.Marshal(); + defaultrPr := defaultParagraph.pPr.rPr.Marshal(); for i:=0 to length(tbl.Data_)-1 do Begin trNode := tbl.node_.InsertEndChild('element', 'w:tr'); @@ -12656,7 +12860,7 @@ Type TDocumentBody = Class(DocObject) Begin if not ifObj(lastParagraph_) then lastParagraph_ := node; - else if (ifInt(posOpt) and posOpt = -1) then + else if ifInt(posOpt) and posOpt = -1 then lastParagraph_ := node; else if ifObj(posOpt) then Begin posNode := posOpt; @@ -13184,6 +13388,14 @@ Type TTable = Class(DocObject, TTableImpl) return TblPr; End; + Property Paragraph read readParagraph; + Function readParagraph(); + Begin + if not ifObj(paragraph_) then + paragraph_ := new TParagraph(); + return paragraph_; + End; + Property FormatEx read readFormatEx; Function readFormatEx(); Begin @@ -13395,6 +13607,7 @@ Type TTable = Class(DocObject, TTableImpl) Data_; colCount_; colWidth_; + paragraph_;//缺省单元格段落格式、字体格式 End; Type TCoreProperties = Class(DocObject) @@ -13962,3 +14175,4 @@ private middlePosition; End + diff --git a/funcext/TSOffice/TSDocxFile.tsf b/funcext/TSOffice/TSDocxFile.tsf index f872d91..f0384f3 100644 --- a/funcext/TSOffice/TSDocxFile.tsf +++ b/funcext/TSOffice/TSDocxFile.tsf @@ -1,4 +1,4 @@ -// Version 1.1.1 +// Version 1.1.2 Type TSDocxFile = Class ///Version: V1.0 2022-09-20 diff --git a/funcext/TSOffice/TSExcelFile.tsf b/funcext/TSOffice/TSExcelFile.tsf index 693e859..fbc4181 100644 --- a/funcext/TSOffice/TSExcelFile.tsf +++ b/funcext/TSOffice/TSExcelFile.tsf @@ -1,4 +1,4 @@ -// Version 1.1.1 +// Version 1.1.2 Type TSExcelFile = Class ///Version: V1.0 2022-08-08 @@ -613,23 +613,41 @@ Type TSExcelFile = Class return workbook_.UnMergeCell(class(TSXml).CurCodePageToUtf8(sheet), hcell, vcell); End; - ///设置工作表视图属性 + ///新建窗口 + ///返回:windowsIndex int, 窗口索引 + Function NewSheetPane(); + Begin + return workbook_.NewSheetView(); + End; + + ///设置窗格 ///sheet: string,工作表名称 - ///viewindex: int,视图索引,viewIndex,从0开始 - ///sheet: object,TSheetView对象 - Function SetSheetViewOptions(sheet, viewIndex, sheetView); + ///windowsIndex: int,窗口索引,从0开始 + ///Pane: TPane对象 + Function SetPane(sheet, windowsIndex, Pane); Begin o := getOj(sheet, 'xlsxSheetView'); - if ifObj(o) then return o.SetSheetViewOptions(viewIndex, sheetView); + if ifObj(o) then return o.SetPane(windowsIndex, Pane); + End; + + ///设置工作表视图属性 + ///sheet: string,工作表名称 + ///windowsIndex: int,窗口索引,从0开始 + ///sheet: object,TSheetView对象 + Function SetSheetViewOptions(sheet, windowsIndex, sheetView); + Begin + o := getOj(sheet, 'xlsxSheetView'); + if ifObj(o) then return o.SetSheetViewOptions(windowsIndex, sheetView); End; ///获取工作表视图属性 ///sheet: string,工作表名称 + ///windowsIndex: int,窗口索引,从0开始 ///返回: object, TSheetView对象 - Function GetSheetViewOptions(sheet, viewIndex); + Function GetSheetViewOptions(sheet, windowsIndex); Begin o := getOj(sheet, 'xlsxSheetView'); - if ifObj(o) then return o.GetSheetViewOptions(viewIndex); + if ifObj(o) then return o.GetSheetViewOptions(windowsIndex); End; // TODO printerSettings1.bin? @@ -652,6 +670,7 @@ Type TSExcelFile = Class return "error sheet"; End; + ///设置默认工作表 ///sheet: string,工作表名称 Function SetDefaultSheet(sheet); Begin diff --git a/funcext/TSOffice/worksheet/xlsxSheetView.tsf b/funcext/TSOffice/worksheet/xlsxSheetView.tsf index 0cd41ca..8d076fb 100644 --- a/funcext/TSOffice/worksheet/xlsxSheetView.tsf +++ b/funcext/TSOffice/worksheet/xlsxSheetView.tsf @@ -6,14 +6,14 @@ Type xlsxSheetView = Class xmlFile_ := xml; End; - Function SetSheetViewOptions(viewIndex, sheetView); + Function SetSheetViewOptions(windowsIndex, sheetView); Begin node := xmlFile_.FirstChild('worksheet').FirstChild('sheetViews'); sheet_view_node := node.FirstChild('sheetView'); while ifObj(sheet_view_node) do Begin id := sheet_view_node.GetAttribute('workbookViewId'); - if trystrtoint(id, r) and r = viewIndex then + if trystrtoint(id, r) and r = windowsIndex then Begin attributes := sheet_view_node.Attributes(); sheetView.TabSelected := attributes['tabselected']; @@ -28,14 +28,14 @@ Type xlsxSheetView = Class End End; - Function GetSheetViewOptions(viewIndex, sheetView); + Function GetSheetViewOptions(windowsIndex, sheetView); Begin node := xmlFile_.FirstChild('worksheet').FirstChild('sheetViews'); sheet_view_node := node.FirstChild('sheetView'); while ifObj(sheet_view_node) do Begin id := sheet_view_node.GetAttribute('workbookViewId'); - if trystrtoint(id, r) and r = viewIndex then + if trystrtoint(id, r) and r = windowsIndex then Begin sheetview := TOfficeObj('TSheetView'); sheetview.RootObj := sheet_view_node; @@ -46,6 +46,51 @@ Type xlsxSheetView = Class return nil; End + Function SetPane(windowsIndex, Pane); + Begin + node := xmlFile_.FirstChild('worksheet').FirstChild('sheetViews'); + sheet_view_node := node.FirstChild('sheetView'); + while ifObj(sheet_view_node) do + Begin + id := sheet_view_node.GetAttribute('workbookViewId'); + if trystrtoint(id, r) and r = windowsIndex then + Begin + sheet_view_node.DeleteChildren(); + sheet_view_node.InsertFirstChild(Pane.Marshal()); + if Pane.XSplit and Pane.YSplit then + begin + selection := tofficeobj('TSelection'); + selection.pane := 'topRight'; + selection.activecell := coordinatestocellname(pane.xsplit + 1, 1)[1]; + selection.sqref := selection.activecell; + sheet_view_node.InsertEndChild(selection.Marshal()); + selection.Pane := 'bottomLeft'; + selection.ActiveCell := CoordinatesToCellName(1, Pane.YSplit + 1)[1]; + selection.Sqref := selection.ActiveCell; + sheet_view_node.InsertEndChild(selection.Marshal()); + selection := TOfficeObj('TSelection'); + selection.Pane := 'bottomRight'; + sheet_view_node.InsertEndChild(selection.Marshal()); + end + else if Pane.XSplit then + begin + selection := tofficeobj('TSelection'); + selection.pane := 'topRight'; + selection.activecell := coordinatestocellname(pane.xsplit + 1, 2)[1]; + selection.sqref := selection.activecell; + sheet_view_node.InsertEndChild(selection.Marshal()); + end + else if Pane.YSplit then + begin + selection := tofficeobj('TSelection'); + selection.pane := 'bottomLeft'; + sheet_view_node.InsertEndChild(selection.Marshal()); + end + End + sheet_view_node := sheet_view_node.NextElement(); + End + End; + class Function NewObject(sheetname, file); Begin o := file.WorkBook().GetSheetObj(sheetname); diff --git a/funcext/TSOffice/worksheet/xlsxWorkBook.tsf b/funcext/TSOffice/worksheet/xlsxWorkBook.tsf index 300b579..2edf94c 100644 --- a/funcext/TSOffice/worksheet/xlsxWorkBook.tsf +++ b/funcext/TSOffice/worksheet/xlsxWorkBook.tsf @@ -1104,6 +1104,26 @@ Type xlsxWorkBook = Class return; End; + Function NewSheetPane(); + Begin + workbook := GetXmlFileObj('xl/workbook.xml'); + book_view_node := workbook.FirstChildElement('workbook').FirstChildElement('bookViews'); + workbook_node := book_view_node.FirstChildElement('workbookView'); + book_view_node.InsertEndChild(workbook_node.Marshal()[0]); + for i:=0 to length(sheetnames_)-1 do + begin + name := sheetNames_[i]['name']; + xml_file := GetXmlFileObj(sheetNames_[i]['file']); + sheet_node := xml_file.FirstChildElement('worksheet').FirstChildElement('sheetViews'); + sheet_view := sheet_node.LastChildElement('sheetView'); + view_id := strtoint(sheet_view.GetAttribute('workbookViewId')) + 1; + view_obj := TOfficeObj('TSheetView'); + view_obj.WorkbookViewId := view_id; + sheet_node.InsertEndChild(view_obj.Marshal()); + end + return view_id; + End; + private Function generateRow(c1, c2, r); Begin diff --git a/更新日志.md b/更新日志.md index 54fb568..7ea1ae5 100644 --- a/更新日志.md +++ b/更新日志.md @@ -1,5 +1,20 @@ # 更新日志 +## 2023-1-31 + +### V1.1.2 + +#### word + +1. 完善帮助文档 +2. 修复获取chart图无法获取对应属性值 + +#### excel + +1. 新增`SetPane` +2. 新增`NewSheetView` +3. 单元格样式新增属性“文本方向”: `TAlignment::TextRotation` + ## 2023-1-18 ### V1.1.1