excel - 如何在 SpreadsheetML 中指定合并的单元格

标签 excel openxml

我正在尝试使用 SpreadsheetML 生成 Excel 报告服务器端并通过浏览器下载报告。我一切正常,正在下载我需要的文件。但是,当我尝试在我正在创建的一张工作表中合并单元格时遇到了问题。我在网上找到了两种不同的语法并尝试了它们都没有成功。我将文件保存为 .xml 文件,并且将打开并显示预期数据,但单元格未合并。

第一种语法在元素上使用“mergeAcross”限定符,并且应该将指定的单元格数量合并到当前单元格中。使用元素的第二种语法。我已经为这两种尝试粘贴了下面的实际 xml 代码。如果我能弄清楚 XML 应该是什么,那么我可以很容易地以编程方式创建它。

版本 1

<?xml version='1.0'?>
<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<ss:Worksheet ss:Name='Distribution List Overview'>
<ss:Table>
    <ss:Row>
        <ss:Cell mergeAcross="2"><ss:Data ss:Type="String">First Cell Entry</ss:Data></ss:Cell>
        <ss:Cell><ss:Data ss:Type="String">Third Cell</ss:Data></ss:Cell>
    </ss:Row>
</ss:Table>
</ss:Worksheet>
</ss:Workbook>

版本 1
<?xml version='1.0'?>
<ss:Workbook xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
<ss:Worksheet ss:Name='Distribution List Overview'>
<ss:Table>
    <ss:Row>
        <ss:Cell><ss:Data ss:Type="String">First Cell Entry</ss:Data></ss:Cell>
        <ss:Cell><ss:Data ss:Type="String">Third Cell</ss:Data></ss:Cell>
    </ss:Row>
</ss:Table>
<mergeCells count="2">
    <mergeCell ref="A1:B1"/>
</mergeCells>
</ss:Worksheet>
</ss:Workbook>

上述两种方法都无法创建合并单元格。我期待在单元格 C1 中用“第三个单元格”填充单元格 A1 和 B1 的“第一个单元格条目”。相反,我在单元格 A1 中得到“第一个单元格条目”,在单元格 B1 中得到“第三个单元格”。任何帮助或建议将不胜感激。这是我需要让一些遗留代码正常工作的唯一剩余项目,我不想将整个报告转换为 OpenXML SDK 代码。

最佳答案

尝试替换 mergeAcrossss:MergeAcross .换句话说,使用:

<ss:Cell ss:MergeAcross="2"><ss:Data ss:Type="String">First Cell Entry</ss:Data></ss:Cell>

此外,您可能会注意到要获得“A1:B1”合并单元格,您需要设置 ss:MergeAcross值为 1,而不是 2。

关于excel - 如何在 SpreadsheetML 中指定合并的单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54716052/

相关文章:

java - 如何通过poi注册功能?

c# - 使用 C# 从 excel 写入文本文件

java - 如何修复 Java2Word 生成的 ms-word 文档中的错误

java - 使用xml解析查找word文档中的隐式分页符

javascript - 如何在 MS Word 2013 中使用 String.replace() 方法而不弄乱空白段落和对象标识符?

电子表格 |工作表 : Display numbers between range in one cell

excel - VBA 在特定列中查找错误值

Javascript 使用 SheetJS 在服务器上读取 Excel 文件

xml - 如何使用 OpenXML 访问 xml 中的嵌套元素

javascript - Ooxml 中不显示下划线