This commit is contained in:
csh 2023-12-18 11:33:26 +08:00
parent 91f3c5af49
commit fcb2a8e7b3
5 changed files with 26 additions and 18 deletions

View File

@ -1,4 +1,4 @@
// Version 1.5.3
// Version 1.5.4
Function TOfficeObj(n);
Begin
case lowercase(n) of
@ -5743,9 +5743,9 @@ type TwrPr=class(NodeInfo)
,('field':'Em','name':'w:em','obj':Em,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'强调标志的类型,取值:"comma", "dot", "circle", "underDot", "none"', 'class':'')
,('field':'Imprint','name':'w:imprint','obj':Imprint,'attrEx':'w:val','nodeType':'empty','attrName':'', 'desc':'刻雕效果', 'class':'')
,('field':'Vanish','name':'w:vanish','obj':Vanish,'attrEx':'w:val','nodeType':'empty','attrName':'', 'desc':'隐藏', 'class':'')
,('field':'Italic','name':'w:i','obj':Italic,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'斜体', 'class':'')
,('field':'ICs','name':'w:iCs','obj':ICs,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'斜体,适用于从右到左语言文本', 'class':'')
,('field':'Strike','name':'w:strike','obj':Strike,'attrEx':'','nodeType':'empty','attrName':'', 'desc':'单个删除线', 'class':'')
,('field':'Italic','name':'w:i','obj':Italic,'attrEx':'w:val','nodeType':'empty','attrName':'', 'desc':'斜体', 'class':'')
,('field':'ICs','name':'w:iCs','obj':ICs,'attrEx':'w:val','nodeType':'empty','attrName':'', 'desc':'斜体,适用于从右到左语言文本', 'class':'')
,('field':'Strike','name':'w:strike','obj':Strike,'attrEx':'w:val','nodeType':'empty','attrName':'', 'desc':'单个删除线', 'class':'')
,('field':'dStrike','name':'w:dstrike','obj':dStrike,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'两个删除线', 'class':'')
,('field':'kern','name':'w:kern','obj':kern,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'字体紧排', 'class':'')
,('field':'Sz','name':'w:sz','obj':Sz,'attrEx':'w:val','nodeType':'','attrName':'', 'desc':'字体大小', 'class':'')
@ -10946,6 +10946,7 @@ Type TParagraph = Class(DocObject, TParagraphImpl)
///返回TRun对象
Function AppendRun(run);overload;
Begin
node := run.NodeUri <> '' ? class(TSXml).GetNode(run.Root(), run.NodeUri) : run.Root();
node := node_.InsertAfterChild(run.Root(), 'element','w:r');
node.InsertFirstChild('element', 'w:rPr');
return new TRun(node);
@ -11340,19 +11341,19 @@ Type TRun = Class(DocObject, TRunImpl)
///清除字体格式
Function ClearFormat();
Begin
rPr := node_.FirstChildElement('w:rPr');
if ifObj(rPr) then
node_.DeleteChild(rPr);
rpr_node := node_.FirstChildElement('w:rPr');
if ifObj(rpr_node) then
node_.DeleteChild(rpr_node);
End;
Function CopyFontFormat(fromRun);
Begin
ClearFormat();
rPr := fromRun.node_.FirstChildElement('w:rPr');
if not ifObj(rPr) then
rpr_node := fromRun.node_.FirstChildElement('w:rPr');
if not ifObj(rpr_node) then
return;
data := rPr.Marshal();
data := rpr_node.Marshal();
node_.InsertFirstChild(data[0]);
End;

View File

@ -1,4 +1,4 @@
// Version 1.5.3
// Version 1.5.4
Type TSDocxFile = Class
///Version: V1.0 2022-09-20
///适用于 Microsoft Word docx格式文件

View File

@ -1,4 +1,4 @@
// Version 1.5.3
// Version 1.5.4
Type TSXlsxFile = Class
///Version: V1.0 2022-08-08
///适用于 Microsoft Excel? 2007 及以上版本创建的电子表格文档。支持 XLSX / XLSM / XLTM / XLTX 等多种文档格式。
@ -350,11 +350,10 @@ Type TSXlsxFile = Class
colNum ++;
End;
for i:=0 to length(data)-1 do Begin
[err, cell] := CoordinatesToCellName(colNum, rowNum + i);
if err then
return array(err, cell);
t := sselect * from data where thisrowindex = i End;
SetSheetRow(sheet, cell, t);
for j:=0 to length(data[i])-1 do Begin
[err, cell] := CoordinatesToCellName(colNum + j, rowNum + i);
SetCellValue(sheet, cell, data[i][j]);
End;
if err then
return array(err, info);
End;

View File

@ -110,7 +110,7 @@ Type xlsxWorkBook = Class
o := GetSheetObj(sheet);
if ifObj(o) then
begin
if not o.CellIsExists(axis) and (ifnil(opt) or (istable(opt) and ifnil(opt['s']))) then
if (ifnil(opt) or ifnil(opt['s'])) and not o.CellIsExists(axis) then
begin
[err, col, row] := CellNameToCoordinates(axis);
xml := GetSheetXmlFile(sheet);

View File

@ -1,5 +1,13 @@
# 更新日志
## 2023-12-18
### V1.5.4
#### excel
1. 优化`InsertTable`的写入效率
## 2023-12-11
### V1.5.3