v1.6.4
This commit is contained in:
parent
f499526f04
commit
b4ef4a531c
|
|
@ -1,4 +1,4 @@
|
|||
// Version 1.6.3
|
||||
// Version 1.6.4
|
||||
Function TOfficeObj(n);
|
||||
Begin
|
||||
case lowercase(n) of
|
||||
|
|
@ -10763,15 +10763,15 @@ Type TDocComments = Class
|
|||
End;
|
||||
|
||||
//w:pPr
|
||||
// 'w:pStyle', 'w:keepNext', 'w:keepLines', 'w:pageBreakBefore',
|
||||
// 'w:framePr', 'w:widowControl', 'w:numPr', 'w:suppressLineNumbers',
|
||||
// 'w:pBdr', 'w:shd', 'w:tabs', 'w:suppressAutoHyphens', 'w:kinsoku',
|
||||
// 'w:wordWrap', 'w:overflowPunct', 'w:topLinePunct', 'w:autoSpaceDE',
|
||||
// 'w:autoSpaceDN', 'w:bidi', 'w:adjustRightInd', 'w:snapToGrid',
|
||||
// 'w:spacing', 'w:ind', 'w:contextualSpacing', 'w:mirrorIndents',
|
||||
// 'w:suppressOverlap', 'w:jc', 'w:textDirection', 'w:textAlignment',
|
||||
// 'w:textboxTightWrap', 'w:outlineLvl', 'w:divId', 'w:cnfStyle',
|
||||
// 'w:rPr', 'w:sectPr', 'w:pPrChange'
|
||||
// 'w:pStyle', 'w:keepNext', 'w:keepLines', 'w:pageBreakBefore',
|
||||
// 'w:framePr', 'w:widowControl', 'w:numPr', 'w:suppressLineNumbers',
|
||||
// 'w:pBdr', 'w:shd', 'w:tabs', 'w:suppressAutoHyphens', 'w:kinsoku',
|
||||
// 'w:wordWrap', 'w:overflowPunct', 'w:topLinePunct', 'w:autoSpaceDE',
|
||||
// 'w:autoSpaceDN', 'w:bidi', 'w:adjustRightInd', 'w:snapToGrid',
|
||||
// 'w:spacing', 'w:ind', 'w:contextualSpacing', 'w:mirrorIndents',
|
||||
// 'w:suppressOverlap', 'w:jc', 'w:textDirection', 'w:textAlignment',
|
||||
// 'w:textboxTightWrap', 'w:outlineLvl', 'w:divId', 'w:cnfStyle',
|
||||
// 'w:rPr', 'w:sectPr', 'w:pPrChange'
|
||||
|
||||
//w:p
|
||||
Type TWHyperLink = Class(TWHyperLinkImpl)
|
||||
|
|
@ -10852,8 +10852,8 @@ Type TParagraph = Class(DocObject, TParagraphImpl)
|
|||
///制表位TTabStops对象
|
||||
///返回:TTabStops对象
|
||||
//<w:tabs>
|
||||
// <w:tab w:val="left" w:pos="2160" />
|
||||
// <w:tab w:val="left" w:pos="5040" />
|
||||
// <w:tab w:val="left" w:pos="2160" />
|
||||
// <w:tab w:val="left" w:pos="5040" />
|
||||
//</w:tabs>
|
||||
Function TabStops();
|
||||
Begin
|
||||
|
|
@ -10952,25 +10952,25 @@ Type TParagraph = Class(DocObject, TParagraphImpl)
|
|||
return new TRun(node);
|
||||
End;
|
||||
|
||||
///在段落对象开头添加TRun对象
|
||||
///返回TRun对象
|
||||
Function PrependRun();overload;
|
||||
Begin
|
||||
///在段落对象开头添加TRun对象
|
||||
///返回TRun对象
|
||||
Function PrependRun();overload;
|
||||
Begin
|
||||
node := node_.FirstChildElement('w:r');
|
||||
node := node_.InsertBeforeChild(node, 'element', 'w:r');
|
||||
node.InsertFirstChild('element', 'w:rPr');
|
||||
return new TRun(node);
|
||||
End;
|
||||
End;
|
||||
|
||||
///在段落某个TRun对象之前添加TRun对象
|
||||
///在段落某个TRun对象之前添加TRun对象
|
||||
///run:TRun对象
|
||||
///返回TRun对象
|
||||
Function PrependRun(run);overload;
|
||||
Begin
|
||||
///返回TRun对象
|
||||
Function PrependRun(run);overload;
|
||||
Begin
|
||||
node := node_.InsertBeforeChild(run.Root(), 'element', 'w:r');
|
||||
node.InsertFirstChild('element', 'w:rPr');
|
||||
return new TRun(node);
|
||||
End;
|
||||
End;
|
||||
|
||||
///段落中全部的修改标记(修订删除、修订插入)
|
||||
///返回:TRevision对象列表,array(TRevision...);
|
||||
|
|
@ -11058,7 +11058,7 @@ Type TParagraph = Class(DocObject, TParagraphImpl)
|
|||
///判断是否为空段落
|
||||
///返回: bool
|
||||
Function Empty();
|
||||
Begin
|
||||
Begin
|
||||
if ifObj(node_) then
|
||||
begin
|
||||
if ifObj(node_.FirstChildElement("w:r")) then return false;
|
||||
|
|
@ -11073,7 +11073,7 @@ Type TParagraph = Class(DocObject, TParagraphImpl)
|
|||
return true;
|
||||
end
|
||||
return false;
|
||||
End;
|
||||
End;
|
||||
|
||||
///获取当前段落的上一个段落
|
||||
///返回:TParagraph对象
|
||||
|
|
@ -11432,8 +11432,8 @@ Type TPicture = Class(DocObject, TPictureImpl)
|
|||
maxY := 23.0;//垂直方向23cm
|
||||
imageW := image.Width() / 28.346 * ETU;
|
||||
imageH := image.Height() / 28.346 * ETU;
|
||||
if Width <= 0 and Height <= 0 then Begin //图像缺省大小
|
||||
widthVal := imageW;
|
||||
if Width <= 0 and Height <= 0 then Begin //图像缺省大小
|
||||
widthVal := imageW;
|
||||
heightVal := imageH;
|
||||
End
|
||||
else Begin //用户设置了图片尺寸
|
||||
|
|
@ -11471,7 +11471,7 @@ Type TPicture = Class(DocObject, TPictureImpl)
|
|||
widthVal *= ratio;
|
||||
End;
|
||||
//println('w={}-{},maxx={}, h={}-{},maxh={},ratio={}',integer(imageW),integer(widthVal),15 * ETU, integer(imageH),integer(heightVal),23 * ETU,ratio);
|
||||
return array(integer(widthVal), integer(heightVal));
|
||||
return array(integer(widthVal), integer(heightVal));
|
||||
End;
|
||||
|
||||
Image;//图片内容(Binary)
|
||||
|
|
@ -11821,10 +11821,10 @@ private
|
|||
|
||||
Function getLegendPosition(t);
|
||||
Begin
|
||||
m := array("bottom": "b",
|
||||
"left": "l",
|
||||
"right": "r",
|
||||
"top": "t",
|
||||
m := array("bottom": "b",
|
||||
"left": "l",
|
||||
"right": "r",
|
||||
"top": "t",
|
||||
"top_right": "tr");
|
||||
return m[t];
|
||||
End;
|
||||
|
|
@ -11982,120 +11982,120 @@ private
|
|||
Function chartValAxCrossBetween(t);
|
||||
Begin
|
||||
m := array(
|
||||
'area': 'midCat',
|
||||
'areastacked': 'midCat',
|
||||
'areapercentstacked': 'midCat',
|
||||
'area3d': 'midCat',
|
||||
'area3dstacked': 'midCat',
|
||||
'area3dpercentstacked': 'midCat',
|
||||
'bar': 'between',
|
||||
'barstacked': 'between',
|
||||
'barpercentstacked': 'between',
|
||||
'bar3dclustered': 'between',
|
||||
'bar3dstacked': 'between',
|
||||
'bar3dpercentstacked': 'between',
|
||||
'bar3dconeclustered': 'between',
|
||||
'bar3dconestacked': 'between',
|
||||
'bar3dconepercentstacked': 'between',
|
||||
'bar3dpyramidclustered': 'between',
|
||||
'bar3dpyramidstacked': 'between',
|
||||
'area': 'midCat',
|
||||
'areastacked': 'midCat',
|
||||
'areapercentstacked': 'midCat',
|
||||
'area3d': 'midCat',
|
||||
'area3dstacked': 'midCat',
|
||||
'area3dpercentstacked': 'midCat',
|
||||
'bar': 'between',
|
||||
'barstacked': 'between',
|
||||
'barpercentstacked': 'between',
|
||||
'bar3dclustered': 'between',
|
||||
'bar3dstacked': 'between',
|
||||
'bar3dpercentstacked': 'between',
|
||||
'bar3dconeclustered': 'between',
|
||||
'bar3dconestacked': 'between',
|
||||
'bar3dconepercentstacked': 'between',
|
||||
'bar3dpyramidclustered': 'between',
|
||||
'bar3dpyramidstacked': 'between',
|
||||
'bar3dpyramidpercentstacked': 'between',
|
||||
'bar3dcylinderclustered': 'between',
|
||||
'bar3dcylinderstacked': 'between',
|
||||
'bar3dcylinderclustered': 'between',
|
||||
'bar3dcylinderstacked': 'between',
|
||||
'bar3dcylinderpercentstacked': 'between',
|
||||
'col': 'between',
|
||||
'colstacked': 'between',
|
||||
'colpercentstacked': 'between',
|
||||
'col3d': 'between',
|
||||
'col3dclustered': 'between',
|
||||
'col3dstacked': 'between',
|
||||
'col3dpercentstacked': 'between',
|
||||
'col3dcone': 'between',
|
||||
'col3dconeclustered': 'between',
|
||||
'col3dconestacked': 'between',
|
||||
'col3dconepercentstacked': 'between',
|
||||
'col3dpyramid': 'between',
|
||||
'col3dpyramidclustered': 'between',
|
||||
'col3dpyramidstacked': 'between',
|
||||
'col': 'between',
|
||||
'colstacked': 'between',
|
||||
'colpercentstacked': 'between',
|
||||
'col3d': 'between',
|
||||
'col3dclustered': 'between',
|
||||
'col3dstacked': 'between',
|
||||
'col3dpercentstacked': 'between',
|
||||
'col3dcone': 'between',
|
||||
'col3dconeclustered': 'between',
|
||||
'col3dconestacked': 'between',
|
||||
'col3dconepercentstacked': 'between',
|
||||
'col3dpyramid': 'between',
|
||||
'col3dpyramidclustered': 'between',
|
||||
'col3dpyramidstacked': 'between',
|
||||
'col3dpyramidpercentstacked': 'between',
|
||||
'col3dcylinder': 'between',
|
||||
'col3dcylinderclustered': 'between',
|
||||
'col3dcylinderstacked': 'between',
|
||||
'col3dcylinder': 'between',
|
||||
'col3dcylinderclustered': 'between',
|
||||
'col3dcylinderstacked': 'between',
|
||||
'col3dcylinderpercentstacked': 'between',
|
||||
'doughnut': 'between',
|
||||
'line': 'between',
|
||||
'pie': 'between',
|
||||
'pie3d': 'between',
|
||||
'pieofpiechart': 'between',
|
||||
'barofpiechart': 'between',
|
||||
'radar': 'between',
|
||||
'scatter': 'between',
|
||||
'surface3d': 'midCat',
|
||||
'wireframesurface3d': 'midCat',
|
||||
'contour': 'midCat',
|
||||
'wireframecontour': 'midCat',
|
||||
'bubble': 'midCat',
|
||||
'bubble3d': 'midCat');
|
||||
'doughnut': 'between',
|
||||
'line': 'between',
|
||||
'pie': 'between',
|
||||
'pie3d': 'between',
|
||||
'pieofpiechart': 'between',
|
||||
'barofpiechart': 'between',
|
||||
'radar': 'between',
|
||||
'scatter': 'between',
|
||||
'surface3d': 'midCat',
|
||||
'wireframesurface3d': 'midCat',
|
||||
'contour': 'midCat',
|
||||
'wireframecontour': 'midCat',
|
||||
'bubble': 'midCat',
|
||||
'bubble3d': 'midCat');
|
||||
return m[t];
|
||||
End;
|
||||
|
||||
Function chartValAxNumFmtFormatCode(t);
|
||||
Begin
|
||||
m := array(
|
||||
'area': 'General',
|
||||
'areastacked': 'General',
|
||||
'areapercentstacked': '0%',
|
||||
'area3d': 'General',
|
||||
'area3dstacked': 'General',
|
||||
'area3dpercentstacked': '0%',
|
||||
'bar': 'General',
|
||||
'barstacked': 'General',
|
||||
'barpercentstacked': '0%',
|
||||
'bar3dclustered': 'General',
|
||||
'bar3dstacked': 'General',
|
||||
'bar3dpercentstacked': '0%',
|
||||
'bar3dconeclustered': 'General',
|
||||
'bar3dconestacked': 'General',
|
||||
'bar3dconepercentstacked': '0%',
|
||||
'bar3dpyramidclustered': 'General',
|
||||
'bar3dpyramidstacked': 'General',
|
||||
'area': 'General',
|
||||
'areastacked': 'General',
|
||||
'areapercentstacked': '0%',
|
||||
'area3d': 'General',
|
||||
'area3dstacked': 'General',
|
||||
'area3dpercentstacked': '0%',
|
||||
'bar': 'General',
|
||||
'barstacked': 'General',
|
||||
'barpercentstacked': '0%',
|
||||
'bar3dclustered': 'General',
|
||||
'bar3dstacked': 'General',
|
||||
'bar3dpercentstacked': '0%',
|
||||
'bar3dconeclustered': 'General',
|
||||
'bar3dconestacked': 'General',
|
||||
'bar3dconepercentstacked': '0%',
|
||||
'bar3dpyramidclustered': 'General',
|
||||
'bar3dpyramidstacked': 'General',
|
||||
'bar3dpyramidpercentstacked': '0%',
|
||||
'bar3dcylinderclustered': 'General',
|
||||
'bar3dcylinderstacked': 'General',
|
||||
'bar3dcylinderclustered': 'General',
|
||||
'bar3dcylinderstacked': 'General',
|
||||
'bar3dcylinderpercentstacked': '0%',
|
||||
'col': 'General',
|
||||
'colstacked': 'General',
|
||||
'colpercentstacked': '0%',
|
||||
'col3d': 'General',
|
||||
'col3dclustered': 'General',
|
||||
'col3dstacked': 'General',
|
||||
'col3dpercentstacked': '0%',
|
||||
'col3dcone': 'General',
|
||||
'col3dconeclustered': 'General',
|
||||
'col3dconestacked': 'General',
|
||||
'col3dconepercentstacked': '0%',
|
||||
'col3dpyramid': 'General',
|
||||
'col3dpyramidclustered': 'General',
|
||||
'col3dpyramidstacked': 'General',
|
||||
'col': 'General',
|
||||
'colstacked': 'General',
|
||||
'colpercentstacked': '0%',
|
||||
'col3d': 'General',
|
||||
'col3dclustered': 'General',
|
||||
'col3dstacked': 'General',
|
||||
'col3dpercentstacked': '0%',
|
||||
'col3dcone': 'General',
|
||||
'col3dconeclustered': 'General',
|
||||
'col3dconestacked': 'General',
|
||||
'col3dconepercentstacked': '0%',
|
||||
'col3dpyramid': 'General',
|
||||
'col3dpyramidclustered': 'General',
|
||||
'col3dpyramidstacked': 'General',
|
||||
'col3dpyramidpercentstacked': '0%',
|
||||
'col3dcylinder': 'General',
|
||||
'col3dcylinderclustered': 'General',
|
||||
'col3dcylinderstacked': 'General',
|
||||
'col3dcylinder': 'General',
|
||||
'col3dcylinderclustered': 'General',
|
||||
'col3dcylinderstacked': 'General',
|
||||
'col3dcylinderpercentstacked': '0%',
|
||||
'doughnut': 'General',
|
||||
'line': 'General',
|
||||
'pie': 'General',
|
||||
'pie3d': 'General',
|
||||
'pieofpiechart': 'General',
|
||||
'barofpiechart': 'General',
|
||||
'radar': 'General',
|
||||
'scatter': 'General',
|
||||
'surface3d': 'General',
|
||||
'wireframesurface3d': 'General',
|
||||
'contour': 'General',
|
||||
'wireframecontour': 'General',
|
||||
'bubble': 'General',
|
||||
'bubble3d': 'General');
|
||||
'doughnut': 'General',
|
||||
'line': 'General',
|
||||
'pie': 'General',
|
||||
'pie3d': 'General',
|
||||
'pieofpiechart': 'General',
|
||||
'barofpiechart': 'General',
|
||||
'radar': 'General',
|
||||
'scatter': 'General',
|
||||
'surface3d': 'General',
|
||||
'wireframesurface3d': 'General',
|
||||
'contour': 'General',
|
||||
'wireframecontour': 'General',
|
||||
'bubble': 'General',
|
||||
'bubble3d': 'General');
|
||||
return m[t];
|
||||
End;
|
||||
|
||||
|
|
@ -12354,26 +12354,26 @@ private
|
|||
Function getSharp(t);
|
||||
Begin
|
||||
m := array(
|
||||
'bar3dconeclustered': 'cone',
|
||||
'bar3dconestacked': 'cone',
|
||||
'bar3dconepercentstacked': 'cone',
|
||||
'bar3dpyramidclustered': 'pyramid',
|
||||
'bar3dpyramidstacked': 'pyramid',
|
||||
'bar3dconeclustered': 'cone',
|
||||
'bar3dconestacked': 'cone',
|
||||
'bar3dconepercentstacked': 'cone',
|
||||
'bar3dpyramidclustered': 'pyramid',
|
||||
'bar3dpyramidstacked': 'pyramid',
|
||||
'bar3dpyramidpercentstacked': 'pyramid',
|
||||
'bar3dcylinderclustered': 'cylinder',
|
||||
'bar3dcylinderstacked': 'cylinder',
|
||||
'bar3dcylinderclustered': 'cylinder',
|
||||
'bar3dcylinderstacked': 'cylinder',
|
||||
'bar3dcylinderpercentstacked': 'cylinder',
|
||||
'col3dcone': 'cone',
|
||||
'col3dconeclustered': 'cone',
|
||||
'col3dconestacked': 'cone',
|
||||
'col3dconepercentstacked': 'cone',
|
||||
'col3dpyramid': 'pyramid',
|
||||
'col3dpyramidclustered': 'pyramid',
|
||||
'col3dpyramidstacked': 'pyramid',
|
||||
'col3dcone': 'cone',
|
||||
'col3dconeclustered': 'cone',
|
||||
'col3dconestacked': 'cone',
|
||||
'col3dconepercentstacked': 'cone',
|
||||
'col3dpyramid': 'pyramid',
|
||||
'col3dpyramidclustered': 'pyramid',
|
||||
'col3dpyramidstacked': 'pyramid',
|
||||
'col3dpyramidpercentstacked': 'pyramid',
|
||||
'col3dcylinder': 'cylinder',
|
||||
'col3dcylinderclustered': 'cylinder',
|
||||
'col3dcylinderstacked': 'cylinder',
|
||||
'col3dcylinder': 'cylinder',
|
||||
'col3dcylinderclustered': 'cylinder',
|
||||
'col3dcylinderstacked': 'cylinder',
|
||||
'col3dcylinderpercentstacked': 'cylinder');
|
||||
return m[t];
|
||||
End;
|
||||
|
|
@ -12429,9 +12429,9 @@ private
|
|||
Function getVaryColors(t);
|
||||
Begin
|
||||
m := array(
|
||||
'barstacked': 100,
|
||||
'barstacked': 100,
|
||||
'barpercentstacked': 100,
|
||||
'colstacked': 100,
|
||||
'colstacked': 100,
|
||||
'colpercentstacked': 100
|
||||
);
|
||||
return m[t];
|
||||
|
|
@ -12440,88 +12440,88 @@ private
|
|||
Function getGrouping(t);
|
||||
Begin
|
||||
m := array(
|
||||
'area': 'standard',
|
||||
'areastacked': 'stacked',
|
||||
'areapercentstacked': 'percentStacked',
|
||||
'area3d': 'standard',
|
||||
'area3dstacked': 'stacked',
|
||||
'area3dpercentstacked': 'percentStacked',
|
||||
'bar': 'clustered',
|
||||
'barstacked': 'stacked',
|
||||
'barpercentstacked': 'percentStacked',
|
||||
'bar3dclustered': 'clustered',
|
||||
'bar3dstacked': 'stacked',
|
||||
'bar3dpercentstacked': 'percentStacked',
|
||||
'bar3dconeclustered': 'clustered',
|
||||
'bar3dconestacked': 'stacked',
|
||||
'bar3dconepercentstacked': 'percentStacked',
|
||||
'bar3dpyramidclustered': 'clustered',
|
||||
'bar3dpyramidstacked': 'stacked',
|
||||
'area': 'standard',
|
||||
'areastacked': 'stacked',
|
||||
'areapercentstacked': 'percentStacked',
|
||||
'area3d': 'standard',
|
||||
'area3dstacked': 'stacked',
|
||||
'area3dpercentstacked': 'percentStacked',
|
||||
'bar': 'clustered',
|
||||
'barstacked': 'stacked',
|
||||
'barpercentstacked': 'percentStacked',
|
||||
'bar3dclustered': 'clustered',
|
||||
'bar3dstacked': 'stacked',
|
||||
'bar3dpercentstacked': 'percentStacked',
|
||||
'bar3dconeclustered': 'clustered',
|
||||
'bar3dconestacked': 'stacked',
|
||||
'bar3dconepercentstacked': 'percentStacked',
|
||||
'bar3dpyramidclustered': 'clustered',
|
||||
'bar3dpyramidstacked': 'stacked',
|
||||
'bar3dpyramidpercentstacked': 'percentStacked',
|
||||
'bar3dcylinderclustered': 'clustered',
|
||||
'bar3dcylinderstacked': 'stacked',
|
||||
'bar3dcylinderclustered': 'clustered',
|
||||
'bar3dcylinderstacked': 'stacked',
|
||||
'bar3dcylinderpercentstacked': 'percentStacked',
|
||||
'col': 'clustered',
|
||||
'colstacked': 'stacked',
|
||||
'colpercentstacked': 'percentStacked',
|
||||
'col3d': 'standard',
|
||||
'col3dclustered': 'clustered',
|
||||
'col3dstacked': 'stacked',
|
||||
'col3dpercentstacked': 'percentStacked',
|
||||
'col3dcone': 'standard',
|
||||
'col3dconeclustered': 'clustered',
|
||||
'col3dconestacked': 'stacked',
|
||||
'col3dconepercentstacked': 'percentStacked',
|
||||
'col3dpyramid': 'standard',
|
||||
'col3dpyramidclustered': 'clustered',
|
||||
'col3dpyramidstacked': 'stacked',
|
||||
'col': 'clustered',
|
||||
'colstacked': 'stacked',
|
||||
'colpercentstacked': 'percentStacked',
|
||||
'col3d': 'standard',
|
||||
'col3dclustered': 'clustered',
|
||||
'col3dstacked': 'stacked',
|
||||
'col3dpercentstacked': 'percentStacked',
|
||||
'col3dcone': 'standard',
|
||||
'col3dconeclustered': 'clustered',
|
||||
'col3dconestacked': 'stacked',
|
||||
'col3dconepercentstacked': 'percentStacked',
|
||||
'col3dpyramid': 'standard',
|
||||
'col3dpyramidclustered': 'clustered',
|
||||
'col3dpyramidstacked': 'stacked',
|
||||
'col3dpyramidpercentstacked': 'percentStacked',
|
||||
'col3dcylinder': 'standard',
|
||||
'col3dcylinderclustered': 'clustered',
|
||||
'col3dcylinderstacked': 'stacked',
|
||||
'col3dcylinder': 'standard',
|
||||
'col3dcylinderclustered': 'clustered',
|
||||
'col3dcylinderstacked': 'stacked',
|
||||
'col3dcylinderpercentstacked': 'percentStacked',
|
||||
'line': 'standard');
|
||||
'line': 'standard');
|
||||
return m[t];
|
||||
End;
|
||||
|
||||
Function getBarDir(t);
|
||||
Begin
|
||||
m := array(
|
||||
'bar': 'bar',
|
||||
'barstacked': 'bar',
|
||||
'barpercentstacked': 'bar',
|
||||
'bar3dclustered': 'bar',
|
||||
'bar3dstacked': 'bar',
|
||||
'bar3dpercentstacked': 'bar',
|
||||
'bar3dconeclustered': 'bar',
|
||||
'bar3dconestacked': 'bar',
|
||||
'bar3dconepercentstacked': 'bar',
|
||||
'bar3dpyramidclustered': 'bar',
|
||||
'bar3dpyramidstacked': 'bar',
|
||||
'bar': 'bar',
|
||||
'barstacked': 'bar',
|
||||
'barpercentstacked': 'bar',
|
||||
'bar3dclustered': 'bar',
|
||||
'bar3dstacked': 'bar',
|
||||
'bar3dpercentstacked': 'bar',
|
||||
'bar3dconeclustered': 'bar',
|
||||
'bar3dconestacked': 'bar',
|
||||
'bar3dconepercentstacked': 'bar',
|
||||
'bar3dpyramidclustered': 'bar',
|
||||
'bar3dpyramidstacked': 'bar',
|
||||
'bar3dpyramidpercentstacked': 'bar',
|
||||
'bar3dcylinderclustered': 'bar',
|
||||
'bar3dcylinderstacked': 'bar',
|
||||
'bar3dcylinderclustered': 'bar',
|
||||
'bar3dcylinderstacked': 'bar',
|
||||
'bar3dcylinderpercentstacked': 'bar',
|
||||
'col': 'col',
|
||||
'colstacked': 'col',
|
||||
'colpercentstacked': 'col',
|
||||
'col3d': 'col',
|
||||
'col3dclustered': 'col',
|
||||
'col3dstacked': 'col',
|
||||
'col3dpercentstacked': 'col',
|
||||
'col3dcone': 'col',
|
||||
'col3dconestacked': 'col',
|
||||
'col3dconeclustered': 'col',
|
||||
'col3dconepercentstacked': 'col',
|
||||
'col3dpyramid': 'col',
|
||||
'col3dpyramidclustered': 'col',
|
||||
'col3dpyramidstacked': 'col',
|
||||
'col': 'col',
|
||||
'colstacked': 'col',
|
||||
'colpercentstacked': 'col',
|
||||
'col3d': 'col',
|
||||
'col3dclustered': 'col',
|
||||
'col3dstacked': 'col',
|
||||
'col3dpercentstacked': 'col',
|
||||
'col3dcone': 'col',
|
||||
'col3dconestacked': 'col',
|
||||
'col3dconeclustered': 'col',
|
||||
'col3dconepercentstacked': 'col',
|
||||
'col3dpyramid': 'col',
|
||||
'col3dpyramidclustered': 'col',
|
||||
'col3dpyramidstacked': 'col',
|
||||
'col3dpyramidpercentstacked': 'col',
|
||||
'col3dcylinder': 'col',
|
||||
'col3dcylinderclustered': 'col',
|
||||
'col3dcylinderstacked': 'col',
|
||||
'col3dcylinder': 'col',
|
||||
'col3dcylinderclustered': 'col',
|
||||
'col3dcylinderstacked': 'col',
|
||||
'col3dcylinderpercentstacked': 'col',
|
||||
'line': 'standard');
|
||||
'line': 'standard');
|
||||
return m[t];
|
||||
End;
|
||||
|
||||
|
|
@ -12697,7 +12697,7 @@ Type TSectPr = Class
|
|||
|
||||
LineRatio := 1.0;
|
||||
if ifObj(pPr) then Begin
|
||||
if pPr.LineSpacingRule = 'exact' and pPr.LineSpacing then //固定行距
|
||||
if pPr.LineSpacingRule = 'exact' and pPr.LineSpacing then //固定行距
|
||||
defaultLineHeight := pPr.LineSpacing;
|
||||
else if pPr.LineSpacing then Begin
|
||||
LineRatio := pPr.LineSpacing / 240;
|
||||
|
|
@ -12936,13 +12936,13 @@ Type TDocumentBody = Class(DocObject)
|
|||
return r;
|
||||
End;
|
||||
|
||||
///word最后一个段落
|
||||
///word最后一个段落
|
||||
///返回:TParagraph对象
|
||||
Function LastParagraph();
|
||||
Begin
|
||||
Function LastParagraph();
|
||||
Begin
|
||||
node := node_.LastChildElement('w:p');
|
||||
return ifObj(node) ? new TParagraph(node) : nil;
|
||||
End;
|
||||
End;
|
||||
|
||||
///添加新段落
|
||||
///paragraph: TParagraph对象
|
||||
|
|
@ -12961,7 +12961,7 @@ Type TDocumentBody = Class(DocObject)
|
|||
_set_lastParagraph_(posOpt, p.node_);//设置最后一个段落
|
||||
return p;
|
||||
End;
|
||||
|
||||
|
||||
///复制w:p节点内容
|
||||
///paragraphObj: TParagraph对象
|
||||
///posOpt: 段落位置,0 在DOCX文件开头;-1 文件尾;N 在第N段之后;DocumentPart对象 在posOpt之后新添加段落
|
||||
|
|
@ -13111,14 +13111,14 @@ Type TDocumentBody = Class(DocObject)
|
|||
End;
|
||||
defaultpPr := defaultParagraph.pPr.Marshal();
|
||||
defaultrPr := defaultParagraph.pPr.rPr.Marshal();
|
||||
|
||||
|
||||
for i:=0 to length(tbl.Data_)-1 do Begin
|
||||
trNode := tbl.node_.InsertEndChild('element', 'w:tr');
|
||||
trNode.InsertEndChild('element', 'w:trPr');
|
||||
multiLine := false;
|
||||
if ifstring(tbl.Data_[i, j]) and Pos('\n', tbl.Data_[i, j]) then
|
||||
multiLine := true;
|
||||
for j:=0 to tbl.colCount_-1 do Begin
|
||||
if ifstring(tbl.Data_[i, j]) and Pos('\n', tbl.Data_[i, j]) then
|
||||
multiLine := true;
|
||||
//对象太多的话,对象效率奇慢,优化掉(性能可能相差50倍)
|
||||
if 0 then Begin
|
||||
tc := new TCell();
|
||||
|
|
@ -14196,9 +14196,9 @@ Type TDocSection = Class(DocObject, TDocSectionImpl)
|
|||
|
||||
///返回指定页眉
|
||||
///type:页眉类型,(default、even、first)
|
||||
///default, Header for odd pages or all if no even header.
|
||||
///first, Header for first page of section.
|
||||
///even, Header for even pages of recto/verso section.
|
||||
///default, Header for odd pages or all if no even header.
|
||||
///first, Header for first page of section.
|
||||
///even, Header for even pages of recto/verso section.
|
||||
Function Header(type);
|
||||
Begin
|
||||
return _getHeaderFooter('w:headerReference', type);
|
||||
|
|
@ -14206,9 +14206,9 @@ Type TDocSection = Class(DocObject, TDocSectionImpl)
|
|||
|
||||
///返回指定页脚
|
||||
///type:页眉类型,(default、even、first)
|
||||
///default, Header for odd pages or all if no even header.
|
||||
///first, Header for first page of section.
|
||||
///even, Header for even pages of recto/verso section.
|
||||
///default, Header for odd pages or all if no even header.
|
||||
///first, Header for first page of section.
|
||||
///even, Header for even pages of recto/verso section.
|
||||
Function Footer(type);
|
||||
Begin
|
||||
return _getHeaderFooter('w:footerReference', type);
|
||||
|
|
@ -14216,9 +14216,9 @@ Type TDocSection = Class(DocObject, TDocSectionImpl)
|
|||
|
||||
///添加页眉
|
||||
///type:页眉类型,(default、even、first)
|
||||
///default, Header for odd pages or all if no even header.
|
||||
///first, Header for first page of section.
|
||||
///even, Header for even pages of recto/verso section.
|
||||
///default, Header for odd pages or all if no even header.
|
||||
///first, Header for first page of section.
|
||||
///even, Header for even pages of recto/verso section.
|
||||
Function AddHeader(type);
|
||||
Begin
|
||||
return _AddHeaderFooter('header', (ifNil(type) or type = '') ? 'default' : type);
|
||||
|
|
@ -14226,9 +14226,9 @@ Type TDocSection = Class(DocObject, TDocSectionImpl)
|
|||
|
||||
///添加页脚
|
||||
///type:页眉类型,(default、even、first)
|
||||
///default, Header for odd pages or all if no even header.
|
||||
///first, Header for first page of section.
|
||||
///even, Header for even pages of recto/verso section.
|
||||
///default, Header for odd pages or all if no even header.
|
||||
///first, Header for first page of section.
|
||||
///even, Header for even pages of recto/verso section.
|
||||
Function AddFooter(type);
|
||||
Begin
|
||||
return _AddHeaderFooter('footer', (ifNil(type) or type = '') ? 'default' : type);
|
||||
|
|
@ -14358,6 +14358,11 @@ Type TTextBox = Class(TDocumentBody, TTextBoxImpl)
|
|||
class(TSXml).UpdateNode(NodeEx_, data[0]['attributes'], data[0]['children']);
|
||||
End;
|
||||
End;
|
||||
|
||||
Function Clear();
|
||||
Begin
|
||||
if ifObj(node_) then node_.DeleteChildren();
|
||||
End;
|
||||
|
||||
pNode_;//<w:p>
|
||||
NodeEx_;//w:p/w:r/mc:AlternateContent/mc:Choice/w:drawing/wp:anchor/a:graphic/a:graphicData/wps:wsp/wps:txbx/wps:txbxContent
|
||||
|
|
@ -14772,14 +14777,14 @@ Type TTable = Class(DocObject, TTableImpl)
|
|||
End;
|
||||
|
||||
/// 设置行高
|
||||
Function RowHeight(row, height);
|
||||
Begin
|
||||
Function RowHeight(row, height);
|
||||
Begin
|
||||
if row <= 0 or row > Rows() then return;
|
||||
node := _getRowNode(row - 1);
|
||||
node := class(TSXml).GetNode(node, 'w:trPr/w:trHeight', 'end');
|
||||
node.SetAttribute('w:hRule', 'exact');
|
||||
node.SetAttribute('w:val', height);
|
||||
End;
|
||||
End;
|
||||
|
||||
Function Height(row);
|
||||
Begin
|
||||
|
|
@ -15248,11 +15253,11 @@ End;
|
|||
|
||||
|
||||
//w:style
|
||||
// 'w:name', 'w:aliases', 'w:basedOn', 'w:next', 'w:link',
|
||||
// 'w:autoRedefine', 'w:hidden', 'w:uiPriority', 'w:semiHidden',
|
||||
// 'w:unhideWhenUsed', 'w:qFormat', 'w:locked', 'w:personal',
|
||||
// 'w:personalCompose', 'w:personalReply', 'w:rsid', 'w:pPr', 'w:rPr',
|
||||
// 'w:tblPr', 'w:trPr', 'w:tcPr', 'w:tblStylePr'
|
||||
// 'w:name', 'w:aliases', 'w:basedOn', 'w:next', 'w:link',
|
||||
// 'w:autoRedefine', 'w:hidden', 'w:uiPriority', 'w:semiHidden',
|
||||
// 'w:unhideWhenUsed', 'w:qFormat', 'w:locked', 'w:personal',
|
||||
// 'w:personalCompose', 'w:personalReply', 'w:rsid', 'w:pPr', 'w:rPr',
|
||||
// 'w:tblPr', 'w:trPr', 'w:tcPr', 'w:tblStylePr'
|
||||
Type TDocxStyle = Class(TDocxStyleImpl)
|
||||
Function Create(); overload;
|
||||
Begin
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Version 1.6.3
|
||||
// Version 1.6.4
|
||||
Type TSDocxFile = Class
|
||||
///Version: V1.0 2022-09-20
|
||||
///适用于 Microsoft Word docx格式文件
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Version 1.6.3
|
||||
// Version 1.6.4
|
||||
Type TSXlsxFile = Class
|
||||
///Version: V1.0 2022-08-08
|
||||
///适用于 Microsoft Excel? 2007 及以上版本创建的电子表格文档。支持 XLSX / XLSM / XLTM / XLTX 等多种文档格式。
|
||||
|
|
|
|||
Loading…
Reference in New Issue