问题标签 [spreadsheetml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
113 浏览

c# - 从电子表格ML 创建数据集

有没有什么方法可以在不使用 Interop.Excel 的情况下使用 C# 从电子表格ML 创建数据集?

0 投票
3 回答
1064 浏览

excel - SpreadsheetML 中有没有办法在打开文档时强制 Excel 重新计算公式(和其他依赖项)?

据我了解,Microsoft Office Excel 中带有公式的单元格在以 Office Open XML 格式(特别是 SpreadsheetML)进行序列化和保存时可以包含计算值。这很可能适用于其他类型的依赖项和来自其他单元格的值的函数(如图表、数据透视表等)。我很可能做错了什么,但是当通过外部工具处理这个 XML 文档(SpreadsheetML)时,不使用 MS 提供的任何 .Net 组件或类似 API,而只是直接操作 XML,我遇到了一个问题,当我修改Excel 工作表之一的某些内容仍将使用包含公式的单元格中最后生成的值。因此,当用户打开生成的电子表格时,他会看到修改后的数据,但所有计算字段都已过时。现在(这些天)我在互联网上唯一能找到的是:

http://openxmldeveloper.org/discussions/formats/f/14/p/1561/4164.aspx

这确实不是一个可取的解决方案,特别是如果它适用于任何类型的计算单元格和对象(图表等),因为当您不确切知道所有工作表的结构时,这意味着部分重新实现一些 SpreadsheetML 处理器。

我希望在 Excel 中肯定会有一个选项,或者在一个 SpreadsheetML 部分中进行配置,以强制重新计算或将单元格标记为脏,但我还没有找到。

假设脚本会有所帮助,但我对该领域的了解不足并没有给我带来任何成功的结果,因为我不确定如何将脚本包含到 SpreadsheetML 工作表中。虽然我找到了一些如何触发重新计算以及如何添加打开事件侦听器的示例。

0 投票
2 回答
6457 浏览

excel - 如何使用 OpenXML API 从 Excel 电子表格中读取表格?

我在网上阅读了很多关于如何使用 OpenXML API 获取单元数据的内容。但实际上并没有太多特别简单的东西。大多数似乎是关于写入SpreadsheetML,而不是阅读......但即使这样也无济于事。我有一个电子表格,里面有一个表格。我知道表名是什么,我可以找出它在哪个工作表上,以及表中有哪些列。但我不知道如何取回包含表中数据的行集合。

我有这个来加载文档并获取工作簿的句柄:

我有这个找到表格/表格:

我可以通过遍历 table.TableColumns 来迭代表中的列。

0 投票
2 回答
4945 浏览

c# - OpenXML SpreadsheetML 横向文本

我试图弄清楚如何让文本在 OpenXML 的电子表格单元格中横向打印。我认为它可以通过 Cell 类的 ExtendedProperties 以某种方式完成。这就是我所拥有的。

0 投票
1 回答
1055 浏览

php - 将 AsciiMathML 方程导出为 Excel 格式

我必须将具有 AsciiMathML 表示法的数学问题列表导出到 Excel 电子表格,并且我想正确显示方程式。我的代码是用 PHP 编写的,我想在服务器端创建 Excel 文件并使其可供下载。

我发现 JavaScript 中有许多库可以将 AsciiMathML 转换为图像,例如http://dlippman.imathas.com/asciimathtex/AMT.html

但我需要的是使用 PHP 将方程转换为图像,或者最好在服务器端转换为 Excel 方程。有没有人知道我可以使用的任何库?如果有人可以帮助我,我真的很感激。

谢谢你。

0 投票
1 回答
3097 浏览

xml - 使用电子表格ml 换行文本的样式

我用 xslt 生成我的电子表格,并想要一个带有换行文本的单元格(或者更好:一个带有换行符的文本)。

所以我的 xslt 为 sheetdata 生成以下 XML:

完成工作簿构建后,我在 Excel 中打开它;并且没有换行符,只是 A1 中的一个简单的单行字符串。

有没有人解决这个问题?不必在 xml 或 xslt 中(但会很好)。我也可以在 C# 中做一些事情

0 投票
3 回答
7186 浏览

c# - OpenXML 选择特定列

我正在尝试选择一个特定的列,以便我可以自动设置它的宽度,但收效甚微。我是否应该不能使用 MSDN 的 GetRow 版本从列集合中选择列?

我是否采取了正确的方法?FWIW 我知道如何从头开始创建列并设置宽度,但这是不可行的,因为当我在构造函数中创建列时,我不知道列中将包含哪些数据。

0 投票
1 回答
2639 浏览

openxml - 如何使用 Excel 图表更新 PowerPoint 幻灯片

我有一个带有图表(条形图)的 Excel 文件。我还有一个带有 3 张幻灯片的 Powerpoint 演示文稿。请注意,在 Excel 表格或 Powerpoint 幻灯片上都没有图表“标题”。我需要使用 excel 文件中的图表更新幻灯片 #2 中的图表。

请注意,我已经搜索了这个论坛,我发现了创建新幻灯片以及使用标题更新图表的方法。

任何帮助将不胜感激。谢谢你的时间

编辑:您的解决方案很好,但对如何替换特定幻灯片中的图表没有帮助。在我的问题中,我已经说过有 3 张幻灯片。我想专门更新幻灯片 2 中的图表。没有图表标题,所以我需要根据幻灯片编号找到要替换的图表。这是怎么做的?再次感谢。

0 投票
2 回答
103851 浏览

c# - OpenXML 电子表格中的单元格样式 (SpreadsheetML)

我使用 OpenXML SDK 在 C# 中生成了一个 .xlsx 电子表格,但不知道如何使单元格样式正常工作。我一直在研究 Excel 生成的文件,但不太清楚它是如何完成的。

现在,我正在创建一个填充,创建一个CellStyleFormat指向填充的指向,创建一个CellFormat指向 的索引CellStyleFormat,然后创建一个CellStyle指向CellFormat.

这是我用来生成文档的代码:

这是生成的 XML:

工作簿.xml

样式.xml

工作表/sheet.xml

最后一行的最后一个单元格是我要添加样式的地方。

当我通过 OpenXML SDK Productivity Tool 运行它时,这一切都得到了正确验证,但是,当我尝试在 Excel 中打开文件时,我收到以下错误:

修复的记录:格式来自 /xl/styles.xml 部分(样式)

然后显示电子表格,但未应用填充。

知道如何解决这个问题吗?

0 投票
0 回答
291 浏览

c# - SpreadsheetML - 错误和验证

我在我的 C# 项目中为 MS Excel 生成了一个 SpreadsheetML 文件。由于昨天进行了一些更改,因此这很有效。现在我打开它时遇到问题。它出现了错误:

XML PARSE ERROR: Null or missing attribute value 错误发生在此元素堆栈或其下方:

我已经将它缩小到一个有问题的表,但它有 7000 多行,大约 20 列。当我导出一行时,它打开得很好,所以显然不是每一行都有问题。

现在我正在寻找有关如何找到问题的建议,因为 Excel 不提供行号(我讨厌那个!)。

有人知道验证 SpreadsheetML 文件的工具或好方法吗?