基于来自:https://github.com/ClosedXML/ClosedXML/wiki/Using-Tables的文档示例
在C#应用程序中,我使用ClosedXML创建一个包含新内容的工作簿。内容的一部分是我想要设置为表格样式的单元格范围。然而,表的第一个“列”实际上跨越了多个单元格列。在不应用任何表格格式的情况下,结果类似于下面的简化代码片段。
在我的C#应用程序中,在填充了该表的单元格之后,我获取这些单元格的范围并从它们创建一个IXLTable
。
IXLWorkbook book = ...;
IXLWorksheet sheet = ...;
//------------------------------
// Populate cells with milestone data.
...
//------------------------------
// Create a table.
IXLRange range = sheet.Range( "A1:D3");
IXLTable table = range.CreateTable();
//------------------------------
// Done.
book.SaveAs( "foo.xlsx" );
只要C#应用程序编译、执行并生成一个工作簿文件,它就可以工作。
但是,当我在Microsoft Excel中打开该工作簿时,Excel确定存在错误,并提示我是否修复该工作簿。Excel只需删除工作簿中的所有<table>
,即可修复工作簿。
相反,如果表的第一个“列”只跨越一个单元格列,则创建的表没有错误,并且可以在Excel中加载。结果类似于下面的简化代码片段。
因此,根本问题是表中包含合并的单元格。
有没有办法实现我想要的,其中一个表格“列”由跨多个单元格列的合并单元格组成?
发布于 2021-09-15 12:48:40
IXLRange range = sheet.Range( "A1:D3");
range.Range(startRow, startColumn, startRow, endColumn).Merge();
https://stackoverflow.com/questions/68146672
复制相似问题