From 8d63ecd7b358d81e7b03834390b693c504319cbc Mon Sep 17 00:00:00 2001 From: csh Date: Fri, 11 Aug 2023 16:27:15 +0800 Subject: [PATCH] v1.4.1 --- funcext/TSOffice/TOfficeObj.tsf | 57 ++++++++++++++++------------ funcext/TSOffice/TOfficeTemplate.tsf | 1 + funcext/TSOffice/TSDocxFile.tsf | 2 +- funcext/TSOffice/TSExcelFile.tsf | 2 +- 更新日志.md | 8 ++++ 5 files changed, 44 insertions(+), 26 deletions(-) diff --git a/funcext/TSOffice/TOfficeObj.tsf b/funcext/TSOffice/TOfficeObj.tsf index a45665e..14db5f0 100644 --- a/funcext/TSOffice/TOfficeObj.tsf +++ b/funcext/TSOffice/TOfficeObj.tsf @@ -1,4 +1,4 @@ -// Version 1.4.0 +// Version 1.4.1 Function TOfficeObj(n); Begin @@ -13122,14 +13122,14 @@ Type TDocumentBody = Class(DocObject) *) End; - if ifObj(tblCellMar) then Begin - c := class(TSXml).GetNode(trNode, 'w:tblPrEx/w:tblCellMar', 'first'); - class(TSXml).UpdateNode(c, cellmar[0]['attributes'], cellmar[0]['children']); - End; - if ifObj(tblBorders) then Begin - b := class(TSXml).GetNode(trNode, 'w:tblPrEx/w:tblBorders', 'first'); - class(TSXml).UpdateNode(b, borders[0]['attributes'], borders[0]['children']); - End; + //if ifObj(tblCellMar) then Begin + // c := class(TSXml).GetNode(trNode, 'w:tblPrEx/w:tblCellMar', 'first'); + // class(TSXml).UpdateNode(c, cellmar[0]['attributes'], cellmar[0]['children']); + //End; + //if ifObj(tblBorders) then Begin + // b := class(TSXml).GetNode(trNode, 'w:tblPrEx/w:tblBorders', 'first'); + // class(TSXml).UpdateNode(b, borders[0]['attributes'], borders[0]['children']); + //End; End; node_.Parent().SetAttribute('mc:Ignorable', 'w14 w15 wp14'); node_.Parent().SetAttribute('xmlns:w15', 'http://schemas.microsoft.com/office/word/2012/wordml'); @@ -14480,23 +14480,23 @@ Type TTable = Class(DocObject, TTableImpl) data := array(fields) union data; End; Data_ := data; - //TblPr.StyleId := 'Normal Table'; + TblPr.StyleId := _GetStyle(docx, 'normaltable'); TblPr.Width := 0; TblPr.WidthType := 'auto'; - TblPr.Borders.Top.Val := 'single'; - TblPr.Borders.Left.Val := 'single'; - TblPr.Borders.Bottom.Val := 'single'; - TblPr.Borders.Right.Val := 'single'; - TblPr.Borders.InsideH.Val := 'single'; - TblPr.Borders.InsideV.Val := 'single'; - TblPr.CellMar.Top := 0; - TblPr.CellMar.Left := 108; - TblPr.CellMar.Bottom := 0; - TblPr.CellMar.Right := 108; - TblPr.CellMar.TopType := 'dxa'; - TblPr.CellMar.LeftType := 'dxa'; - TblPr.CellMar.BottomType := 'dxa'; - TblPr.CellMar.RightType := 'dxa'; + //TblPr.Borders.Top.Val := 'single'; + //TblPr.Borders.Left.Val := 'single'; + //TblPr.Borders.Bottom.Val := 'single'; + //TblPr.Borders.Right.Val := 'single'; + //TblPr.Borders.InsideH.Val := 'single'; + //TblPr.Borders.InsideV.Val := 'single'; + //TblPr.CellMar.Top := 0; + //TblPr.CellMar.Left := 108; + //TblPr.CellMar.Bottom := 0; + //TblPr.CellMar.Right := 108; + //TblPr.CellMar.TopType := 'dxa'; + //TblPr.CellMar.LeftType := 'dxa'; + //TblPr.CellMar.BottomType := 'dxa'; + //TblPr.CellMar.RightType := 'dxa'; //TblPr.FirstColumn := 1; //TblPr.FirstRow := 1; //TblPr.LastColumn := 0; @@ -14518,6 +14518,15 @@ Type TTable = Class(DocObject, TTableImpl) TblGrid.GridCol := gridArr; End; + Function _GetStyle(obj, id); + Begin + style := obj.StyleObject().GetStyleById(id); + if not ifObj(style) then Begin + style := obj.StyleObject().AddDefaultStyle(id); + End; + return style.StyleId; + End; + Property Format read readFormat; Function readFormat(); Begin diff --git a/funcext/TSOffice/TOfficeTemplate.tsf b/funcext/TSOffice/TOfficeTemplate.tsf index 84b6de3..4306f42 100644 --- a/funcext/TSOffice/TOfficeTemplate.tsf +++ b/funcext/TSOffice/TOfficeTemplate.tsf @@ -59,6 +59,7 @@ Type TTemplateObj = class map_["wstyle/heading8char.xml"] := array("base64":"PHc6c3R5bGUgdzp0eXBlPSJjaGFyYWN0ZXIiIHc6Y3VzdG9tU3R5bGU9IjEiIHc6c3R5bGVJZD0iSGVhZGluZzhDaGFyIj4NCgk8dzpuYW1lIHc6dmFsPSJIZWFkaW5nIDggQ2hhciIgLz4NCgk8dzpiYXNlZE9uIHc6dmFsPSJEZWZhdWx0UGFyYWdyYXBoRm9udCIgLz4NCgk8dzpsaW5rIHc6dmFsPSJIZWFkaW5nOCIgLz4NCgk8dzp1aVByaW9yaXR5IHc6dmFsPSI5IiAvPg0KCTx3OnNlbWlIaWRkZW4gLz4NCgk8dzpyc2lkIHc6dmFsPSIwMEZDNjkzRiIgLz4NCgk8dzpyUHI+DQoJCTx3OnJGb250cyB3OmFzY2lpVGhlbWU9Im1ham9ySEFuc2kiIHc6ZWFzdEFzaWFUaGVtZT0ibWFqb3JFYXN0QXNpYSIgdzpoQW5zaVRoZW1lPSJtYWpvckhBbnNpIiB3OmNzdGhlbWU9Im1ham9yQmlkaSIgLz4NCgkJPHc6Y29sb3Igdzp2YWw9IjRGODFCRCIgdzp0aGVtZUNvbG9yPSJhY2NlbnQxIiAvPg0KCQk8dzpzeiB3OnZhbD0iMjAiIC8+DQoJCTx3OnN6Q3Mgdzp2YWw9IjIwIiAvPg0KCTwvdzpyUHI+DQo8L3c6c3R5bGU+DQo=","binary":nil); map_["wstyle/heading9.xml"] := array("base64":"PHc6c3R5bGUgdzp0eXBlPSJwYXJhZ3JhcGgiIHc6c3R5bGVJZD0iSGVhZGluZzkiPg0KCTx3Om5hbWUgdzp2YWw9ImhlYWRpbmcgOSIgLz4NCgk8dzpiYXNlZE9uIHc6dmFsPSJOb3JtYWwiIC8+DQoJPHc6bmV4dCB3OnZhbD0iTm9ybWFsIiAvPg0KCTx3Omxpbmsgdzp2YWw9IkhlYWRpbmc5Q2hhciIgLz4NCgk8dzp1aVByaW9yaXR5IHc6dmFsPSI5IiAvPg0KCTx3OnNlbWlIaWRkZW4gLz4NCgk8dzp1bmhpZGVXaGVuVXNlZCAvPg0KCTx3OnFGb3JtYXQgLz4NCgk8dzpyc2lkIHc6dmFsPSIwMEZDNjkzRiIgLz4NCgk8dzpwUHI+DQoJCTx3OmtlZXBOZXh0IC8+DQoJCTx3OmtlZXBMaW5lcyAvPg0KCQk8dzpzcGFjaW5nIHc6YmVmb3JlPSIyMDAiIHc6YWZ0ZXI9IjAiIC8+DQoJCTx3Om91dGxpbmVMdmwgdzp2YWw9IjgiIC8+DQoJPC93OnBQcj4NCgk8dzpyUHI+DQoJCTx3OnJGb250cyB3OmFzY2lpVGhlbWU9Im1ham9ySEFuc2kiIHc6ZWFzdEFzaWFUaGVtZT0ibWFqb3JFYXN0QXNpYSIgdzpoQW5zaVRoZW1lPSJtYWpvckhBbnNpIiB3OmNzdGhlbWU9Im1ham9yQmlkaSIgLz4NCgkJPHc6aSAvPg0KCQk8dzppQ3MgLz4NCgkJPHc6Y29sb3Igdzp2YWw9IjQwNDA0MCIgdzp0aGVtZUNvbG9yPSJ0ZXh0MSIgdzp0aGVtZVRpbnQ9IkJGIiAvPg0KCQk8dzpzeiB3OnZhbD0iMjAiIC8+DQoJCTx3OnN6Q3Mgdzp2YWw9IjIwIiAvPg0KCTwvdzpyUHI+DQo8L3c6c3R5bGU+DQo=","binary":nil); map_["wstyle/heading9char.xml"] := array("base64":"PHc6c3R5bGUgdzp0eXBlPSJjaGFyYWN0ZXIiIHc6Y3VzdG9tU3R5bGU9IjEiIHc6c3R5bGVJZD0iSGVhZGluZzlDaGFyIj4NCgk8dzpuYW1lIHc6dmFsPSJIZWFkaW5nIDkgQ2hhciIgLz4NCgk8dzpiYXNlZE9uIHc6dmFsPSJEZWZhdWx0UGFyYWdyYXBoRm9udCIgLz4NCgk8dzpsaW5rIHc6dmFsPSJIZWFkaW5nOSIgLz4NCgk8dzp1aVByaW9yaXR5IHc6dmFsPSI5IiAvPg0KCTx3OnNlbWlIaWRkZW4gLz4NCgk8dzpyc2lkIHc6dmFsPSIwMEZDNjkzRiIgLz4NCgk8dzpyUHI+DQoJCTx3OnJGb250cyB3OmFzY2lpVGhlbWU9Im1ham9ySEFuc2kiIHc6ZWFzdEFzaWFUaGVtZT0ibWFqb3JFYXN0QXNpYSIgdzpoQW5zaVRoZW1lPSJtYWpvckhBbnNpIiB3OmNzdGhlbWU9Im1ham9yQmlkaSIgLz4NCgkJPHc6aSAvPg0KCQk8dzppQ3MgLz4NCgkJPHc6Y29sb3Igdzp2YWw9IjQwNDA0MCIgdzp0aGVtZUNvbG9yPSJ0ZXh0MSIgdzp0aGVtZVRpbnQ9IkJGIiAvPg0KCQk8dzpzeiB3OnZhbD0iMjAiIC8+DQoJCTx3OnN6Q3Mgdzp2YWw9IjIwIiAvPg0KCTwvdzpyUHI+DQo8L3c6c3R5bGU+DQo=","binary":nil); + map_["wstyle/normaltable.xml"] := array("base64":"PHc6c3R5bGUgdzp0eXBlPSJ0YWJsZSIgdzpzdHlsZUlkPSJub3JtYWx0YWJsZSI+DQogICAgPHc6bmFtZSB3OnZhbD0iVGFibGUgR3JpZCIgLz4NCiAgICA8dzpiYXNlZE9uIHc6dmFsPSJhMSIgLz4NCiAgICA8dzp1aVByaW9yaXR5IHc6dmFsPSIzOSIgLz4NCiAgICA8dzpyc2lkIHc6dmFsPSIwMDc4NkFERSIgLz4NCiAgICA8dzp0YmxQcj4NCiAgICAgICAgPHc6dGJsQm9yZGVycz4NCiAgICAgICAgICAgIDx3OnRvcCB3OnZhbD0ic2luZ2xlIiB3OnN6PSI0IiB3OnNwYWNlPSIwIiB3OmNvbG9yPSJhdXRvIiAvPg0KICAgICAgICAgICAgPHc6bGVmdCB3OnZhbD0ic2luZ2xlIiB3OnN6PSI0IiB3OnNwYWNlPSIwIiB3OmNvbG9yPSJhdXRvIiAvPg0KICAgICAgICAgICAgPHc6Ym90dG9tIHc6dmFsPSJzaW5nbGUiIHc6c3o9IjQiIHc6c3BhY2U9IjAiIHc6Y29sb3I9ImF1dG8iIC8+DQogICAgICAgICAgICA8dzpyaWdodCB3OnZhbD0ic2luZ2xlIiB3OnN6PSI0IiB3OnNwYWNlPSIwIiB3OmNvbG9yPSJhdXRvIiAvPg0KICAgICAgICAgICAgPHc6aW5zaWRlSCB3OnZhbD0ic2luZ2xlIiB3OnN6PSI0IiB3OnNwYWNlPSIwIiB3OmNvbG9yPSJhdXRvIiAvPg0KICAgICAgICAgICAgPHc6aW5zaWRlViB3OnZhbD0ic2luZ2xlIiB3OnN6PSI0IiB3OnNwYWNlPSIwIiB3OmNvbG9yPSJhdXRvIiAvPg0KICAgICAgICA8L3c6dGJsQm9yZGVycz4NCiAgICA8L3c6dGJsUHI+DQo8L3c6c3R5bGU+","binary":nil); map_["wstyle/title.xml"] := array("base64":"PHc6c3R5bGUgdzp0eXBlPSJwYXJhZ3JhcGgiIHc6c3R5bGVJZD0iVGl0bGUiPg0KCTx3Om5hbWUgdzp2YWw9IlRpdGxlIiAvPg0KCTx3OmJhc2VkT24gdzp2YWw9Ik5vcm1hbCIgLz4NCgk8dzpuZXh0IHc6dmFsPSJOb3JtYWwiIC8+DQoJPHc6bGluayB3OnZhbD0iVGl0bGVDaGFyIiAvPg0KCTx3OnVpUHJpb3JpdHkgdzp2YWw9IjEwIiAvPg0KCTx3OnFGb3JtYXQgLz4NCgk8dzpyc2lkIHc6dmFsPSIwMEZDNjkzRiIgLz4NCgk8dzpwUHI+DQoJCTx3OnBCZHI+DQoJCQk8dzpib3R0b20gdzp2YWw9InNpbmdsZSIgdzpzej0iOCIgdzpzcGFjZT0iNCIgdzpjb2xvcj0iNEY4MUJEIiB3OnRoZW1lQ29sb3I9ImFjY2VudDEiIC8+DQoJCTwvdzpwQmRyPg0KCQk8dzpzcGFjaW5nIHc6YWZ0ZXI9IjMwMCIgdzpsaW5lPSIyNDAiIHc6bGluZVJ1bGU9ImF1dG8iIC8+DQoJCTx3OmNvbnRleHR1YWxTcGFjaW5nIC8+DQoJPC93OnBQcj4NCgk8dzpyUHI+DQoJCTx3OnJGb250cyB3OmFzY2lpVGhlbWU9Im1ham9ySEFuc2kiIHc6ZWFzdEFzaWFUaGVtZT0ibWFqb3JFYXN0QXNpYSIgdzpoQW5zaVRoZW1lPSJtYWpvckhBbnNpIiB3OmNzdGhlbWU9Im1ham9yQmlkaSIgLz4NCgkJPHc6Y29sb3Igdzp2YWw9IjE3MzY1RCIgdzp0aGVtZUNvbG9yPSJ0ZXh0MiIgdzp0aGVtZVNoYWRlPSJCRiIgLz4NCgkJPHc6c3BhY2luZyB3OnZhbD0iNSIgLz4NCgkJPHc6a2VybiB3OnZhbD0iMjgiIC8+DQoJCTx3OnN6IHc6dmFsPSI1MiIgLz4NCgkJPHc6c3pDcyB3OnZhbD0iNTIiIC8+DQoJPC93OnJQcj4NCjwvdzpzdHlsZT4NCg==","binary":nil); map_["wstyle/titlechar.xml"] := array("base64":"PHc6c3R5bGUgdzp0eXBlPSJjaGFyYWN0ZXIiIHc6Y3VzdG9tU3R5bGU9IjEiIHc6c3R5bGVJZD0iVGl0bGVDaGFyIj4NCgk8dzpuYW1lIHc6dmFsPSJUaXRsZSBDaGFyIiAvPg0KCTx3OmJhc2VkT24gdzp2YWw9IkRlZmF1bHRQYXJhZ3JhcGhGb250IiAvPg0KCTx3Omxpbmsgdzp2YWw9IlRpdGxlIiAvPg0KCTx3OnVpUHJpb3JpdHkgdzp2YWw9IjEwIiAvPg0KCTx3OnJzaWQgdzp2YWw9IjAwRkM2OTNGIiAvPg0KCTx3OnJQcj4NCgkJPHc6ckZvbnRzIHc6YXNjaWlUaGVtZT0ibWFqb3JIQW5zaSIgdzplYXN0QXNpYVRoZW1lPSJtYWpvckVhc3RBc2lhIiB3OmhBbnNpVGhlbWU9Im1ham9ySEFuc2kiIHc6Y3N0aGVtZT0ibWFqb3JCaWRpIiAvPg0KCQk8dzpjb2xvciB3OnZhbD0iMTczNjVEIiB3OnRoZW1lQ29sb3I9InRleHQyIiB3OnRoZW1lU2hhZGU9IkJGIiAvPg0KCQk8dzpzcGFjaW5nIHc6dmFsPSI1IiAvPg0KCQk8dzprZXJuIHc6dmFsPSIyOCIgLz4NCgkJPHc6c3ogdzp2YWw9IjUyIiAvPg0KCQk8dzpzekNzIHc6dmFsPSI1MiIgLz4NCgk8L3c6clByPg0KPC93OnN0eWxlPg0K","binary":nil); map_["wstyle/toc.xml"] := array("base64":"PHc6c3R5bGUgdzp0eXBlPSJwYXJhZ3JhcGgiIHc6c3R5bGVJZD0iVE9DIj4NCiAgICA8dzpuYW1lIHc6dmFsPSJUT0MgSGVhZGluZyIgLz4NCiAgICA8dzpiYXNlZE9uIHc6dmFsPSIxIiAvPg0KICAgIDx3Om5leHQgdzp2YWw9ImEiIC8+DQogICAgPHc6dWlQcmlvcml0eSB3OnZhbD0iMzkiIC8+DQogICAgPHc6dW5oaWRlV2hlblVzZWQgLz4NCiAgICA8dzpxRm9ybWF0IC8+DQogICAgPHc6cnNpZCB3OnZhbD0iMDA4OTZGN0QiIC8+DQogICAgPHc6cFByPg0KICAgICAgICA8dzpzcGFjaW5nIHc6YmVmb3JlPSIyNDAiIHc6bGluZT0iMjU5IiB3OmxpbmVSdWxlPSJhdXRvIiAvPg0KICAgICAgICA8dzpvdXRsaW5lTHZsIHc6dmFsPSI5IiAvPg0KICAgIDwvdzpwUHI+DQogICAgPHc6clByPg0KICAgICAgICA8dzpiIHc6dmFsPSIwIiAvPg0KICAgICAgICA8dzpiQ3Mgdzp2YWw9IjAiIC8+DQogICAgICAgIDx3OnN6IHc6dmFsPSIzMiIgLz4NCiAgICAgICAgPHc6c3pDcyB3OnZhbD0iMzIiIC8+DQogICAgPC93OnJQcj4NCjwvdzpzdHlsZT4=","binary":nil); diff --git a/funcext/TSOffice/TSDocxFile.tsf b/funcext/TSOffice/TSDocxFile.tsf index 7be7774..b50895d 100644 --- a/funcext/TSOffice/TSDocxFile.tsf +++ b/funcext/TSOffice/TSDocxFile.tsf @@ -1,4 +1,4 @@ -// Version 1.4.0 +// Version 1.4.1 Type TSDocxFile = Class ///Version: V1.0 2022-09-20 diff --git a/funcext/TSOffice/TSExcelFile.tsf b/funcext/TSOffice/TSExcelFile.tsf index 91496d5..120d73c 100644 --- a/funcext/TSOffice/TSExcelFile.tsf +++ b/funcext/TSOffice/TSExcelFile.tsf @@ -1,4 +1,4 @@ -// Version 1.4.0 +// Version 1.4.1 Type TSExcelFile = Class ///Version: V1.0 2022-08-08 diff --git a/更新日志.md b/更新日志.md index 5f53304..76cc571 100644 --- a/更新日志.md +++ b/更新日志.md @@ -1,5 +1,13 @@ # 更新日志 +## 2023-8-11 + +### V1.4.1 + +#### word + +修复插入表格后,设置样式ID无法全部生效问题 + ## 2023-8-10 ### V1.4.0