Spire.Office for Java 4.10.5 已发布
Spire.Office for Java 4.10.5已发布。本次更新带来了一些新的功能,比如:Spire.XLS for Java支持设置迷你图的标记颜色,以及转换Excel到图片时保留批注;Spire.Doc for Java支持了加载和保存.wps/.wpt格式的文档;Spire.Presentation for Java增强了转换PPT文档到图片的功能。此外还修复了其它一些已知问题,详情请阅读以下内容。
Spire.XLS for Java
新功能:
· 支持设置迷你图的标记颜色
· 支持转换Excel到图片时保留批注
· 支持加载和保存.et/.ett格式的文档
问题修复:
· 修复了转换Excel到PDF抛异常“NullPointerException”的问题
· 修复了转换Excel到PDF抛异常“Invalid MsoLineDashStyle string val”的问题
· 修复了添加超链接后部分边框不显示的问题
· 修复了转换Excel到HTML内容不正确的问题
· 修复了获取命名区域的单元格数量,返回结果不正确的问题
· 修复了判断命名区域是否可见,返回结果错误的问题
· 修复了转换Excel到HTML,超链接指向不正确的问题
· 修复了多线程创建Workbook对象抛异常“Exception in thread ”的问题
· 修复了获取图表标题抛异常“NullPointerException”的问题
· 修复了转换Excel到PDF内容不正确的问题
· 修复了Excel转PDF,日期格式不正确的问题
Spire.Doc for Java
新功能:
· 支持加载和保存.wps/.wpt格式的文档
问题修复:
· 修复了转换Word到PDF换行不正确的问题
· 修复了比较文档结果不正确的问题
· 修复了转换Word到PDF图表显示不正确的问题
· 修复了邮件合并后更新域内容不正确的问题
· 修复了转换Word到PDF图片位置不正确的问题
· 修复了设置页眉中的DocProperty域的值,结果不正确的问题
· 修复了转换Word到PDF后内容不正确的问题
· 修复了加载保存文档后,表格边框在WPS查看显示不正确的问题
· 修复了转换Word到HTML,再转回Word后修订内容不正确的问题
· 修复了转换Word到PDF图片丢失的问题
· 修复了接受修订后内容不正确的问题
· 修复了加载文档抛异常“IllegalArgumentException”的问题
· 修复了转换Word到PDF文本重叠的问题
· 修复了合并文档抛异常“An element with the same key already exists in the dictionary”的问题
· 修复了接受修订抛异常“ArrayIndexOutOfBoundsException”的问题
· 修复了接受修订后,获取书签抛异常“NullPointerException”的问题
· 修复了转换Doc到Docx,用WPS查看结果文档表格边框丢失的问题
· 修复了转换Word到HTML抛异常“IllegalArgumentException”的问题
· 修复了转换Word到HTML,再转回Word多出图片的问题
· 修复了转换Word到PDF后,结果文档在Mac环境下无法打印的问题
· 修复了加载文档抛异常”Value was either too large or too small for an Int32“的问题
· 修复了转换Word到PDF表格列宽改变的问题
· 修复了转换Word到PDF多出图片的问题
· 修复了加载文档抛异常”'span' is expected Line 1, position 67“的问题
· 修复了更新目录抛异常”StackOverFlowError“的问题
· 修复了更新目录抛异常”Input String was not in the correct format“的问题
· 修复了加载文档抛异常”No have this value 104“的问题
· 修复了加载文档抛异常”No have this value 5“的问题
Spire.Presention for Java
问题修复:
· 修复了加载PPT文件程序的“Invalid format string”问题
· 修复了转换PPT到图片时进程卡死的问题
AI编程 Copilot 最佳用例 Copilot 编写测试
要测试原始代码 如下所示 :
columns = data.get("columns")
rows = data.get("rows")
row = data.get("row")
if not columns and not rows and not row:
return _error(["columns, rows or row is required"])
if rows and row:
return _error(["Cannot specify both rows and row"])
if columns:
if rows or row:
return _error(["Cannot specify columns with rows or row"])
if not isinstance(columns, list):
return _error(["columns must be a list"])
for column in columns:
if not isinstance(column, dict):
return _error(["columns must be a list of objects"])
if not column.get("name") or not isinstance(column.get("name"), str):
return _error(["Column name is required"])
if not column.get("type"):
column["type"] = "text"
if column["type"] not in self._supported_column_types:
return _error(
["Unsupported column type: {}".format(column["type"])]
)
# No duplicate column names
dupes = {c["name"] for c in columns if columns.count(c) > 1}
if dupes:
return _error(["Duplicate column name: {}".format(", ".join(dupes))])
需要为每个错误案例编写测试。 我已经构建了一个参数化的开始 pytest测试这些。
现实了Copilot/GPT-3自动编写了大部分测试。
首先,使用 VS Code 选择了所有 _error(...)线。 将它们粘贴到一个新文档中,并将它们变成一系列评论,如下所示:
# Error: columns must be a list
# Error: columns must be a list of objects
# Error: Column name is required
# Error: Unsupported column type
# Error: Duplicate column name
# Error: rows must be a list
# Error: rows must be a list of objects
# Error: pk must be a string
将这些评论粘贴到现有参数化测试列表中的测试文件中,然后通过在评论下方添加换行符并点击来编写每个测试 tab直到 Copilot 编写好测试集。
它正确地猜出了每个错误断言和所需的无效输入!
这是一个动画截图:
【鸿蒙操作系统应用笔记211030B】