问题标签 [openxml-table]

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 投票
0 回答
108 浏览

import - 如何在 OpenXML 中整合表格属性以减少文档长度,帮助脚本化数据导入?

我正在尝试自动生成一组 80 多个文本表,每个表在Microsoft Word 2013.

这些表具有以下共同特征:

  1. 每个表格上方的文本标题,有几个插入罐头文本的位置。
  2. 表格中的单个标题行,具有粗的顶部和底部边框。
  3. N 行数据,每行 5 列,其中 N 可以因每个表而异。
  4. 数据来源于一些空格分隔的文本文件,带有一个标题行。

我的想法是将示例表保存为Word XML格式文档,然后BASH使用Cygwin. 是的,我知道与 using 相比,这有点迂回VBA,但我已经知道如何在其中执行脚本方面的工作,因为我对生成表格知之甚少,VBA而且我的初步阅读表明这将是一条更困难的途径明智地学习,而不是简单地理解XML格式并解析它。

无论如何,Word XML我得到的文件相当……冗长。包含数据的表11 rows占用91,100+字符。深入研究我发现大部分问题是缺乏通用格式。

这些字符中的大约~44,000一个专门用于包含字体等内容的关闭 XML 的巨大块。XML 设置的标题块占用大约~5,000. 我将不理会这些部分,因为它显然很复杂,并且不会真正妨碍我的主要目标。

剩下~42,000的字符值是XML,它们都专用于一个表,在这种情况下12 rows5 columns所有单元格文本条目都小于10 characters长。

一行中的单个条目的示例是:

啊哈,原来如此500+ characters。所以12 rows x 5 cells x ~500 characters per cell = 30,000 characters......添加额外的行格式等,剩下的就是你了。

根据我对“ Running (aka -ing) with Word ”的阅读,我对语法有了基本的了解,并且知道我希望如何精简表格条目。

我的目标是做这样的事情:

然后将格式提升到更高级别,因为其中大部分是共享的。即我所有的文字都是Times New Roman,大小12,垂直center对齐,水平right对齐。

我的问题是:

  1. 有没有办法设置一种格式(即<w:pPr><w:rPr><w:rFonts w:ascii="Times New Roman" w:eastAsia="Times New Roman" w:hAnsi="Times New Roman" w:cs="Times New Roman"/></w:rPr></w:pPr>),这样就字体而言,它适用于整个表格,而不必在每次开始运行文本时重复它?
  2. 有没有办法拉出宽度(即<w:tcPr><w:tcW w:w="602" w:type="pct"/><w:vAlign w:val="center"/></w:tcPr>)以应用于列级别,所以我不必为每一行的单元格重新定义它,当给定列中的表格单元格都应该有一个一致的宽度时?
  3. 文档中可以看出rsidR//是rsidRPrrsidRDefault修订相关的标识符......我认为在我的自动生成的文档中并没有太大的意义。从标签<w:p>中删除这些 id 设置是否有缺点?<w:r>
  4. (可能是最重要的问题)这在 VBA 中会容易得多吗?

关于#4,我不是要 VBA 代码,只是一般意义上是否插入罐头文本标题、插入新表格、读取任意数量的空格分隔数据行以填充表格选项卡单元格,适当调整表格大小,并重复上述过程 80 次以上,都会有任何严重的障碍/障碍。

0 投票
0 回答
652 浏览

c# - 使用 Open XML 在占位符中插入格式化的 HTML 字符串

我正在使用打开的 XML 创建一张幻灯片 PowerPoint 文件。我在 PPT 中标记了我需要以编程方式更新的占位符。我能够找到占位符并可以从数据库中更新其值。

现在的问题是我需要显示一些用户使用所见即所得编辑器输入的 HTML 代码,格式与用户输入的格式相同,例如在项目符号中。

当我尝试用 HTML 文本替换占位符时,HTML 文本像所有标签等一样被粘贴。

当我需要粘贴简单的平面文本时,下面的行工作正常

但是当我想将 HTML 粘贴到占位符中时,它被视为普通的纯字符串。

任何帮助或指针将不胜感激。先感谢您

0 投票
1 回答
2512 浏览

c# - 使用 Excel.OpenXml.Table 使 Excel 的单元格变为粗体

使用 Excel.OpenXml.Table 使 Excel 的单元格变为粗体。

编码 :

我想让 c1 单元格加粗。我尝试过什么:

但没有效果。c1。风格不存在。任何帮助将不胜感激

0 投票
1 回答
254 浏览

excel - 这是什么 .xlsx 文件格式?

使用现有的 SSIS 包,我试图导入我们从客户端收到的 .xlsx 文件。我收到错误消息:

外部表不是预期的格式

  • 这些文件将在 XL 中打开
  • 当我使用 XL(当前为 XL2010)另存为...文件而不做任何更改时:
    • 新文件导入就好了
    • 新文件是原始文件大小的 330%
    • 将 .xlsx 更改为 .zip 并使用 WinZip 调查内容时:
      • 原始文件只有 4 个 .xml 文件和一个_rels文件夹(有 2 个 .rels 文件): 原始文件
      • 新文件具有预期的 .xlsx 内容: 新文件

有谁知道这可能是什么类型的文件?

开发我的 SSIS 包来处理这些原始文件会很好,而不必打开和重新保存每个文件。只有 12 个文件,所以如果没有其他选项,打开/保存每个文件没什么大不了的……我可以用 VBA 自动执行它。

感谢任何人都可以提供的任何帮助,

CTB

0 投票
1 回答
2142 浏览

c# - Embed html within a table or at specific location in a docx document

I'm trying to add HTML content to DOCX file using OpenXML altchunk approach using C#. The below sample code works fine and appends the HTML content to the end of the document. My requirement is to add HTML content at a specific place in the document, like inside a table cell or inside a paragraph, or search and replace a specific string with an HTML string or placeholders marked using content controls. Can you please point me to some sample example or share few suggestions. Please let me know if you need more info.

0 投票
0 回答
223 浏览

openxml - OpenXML 表 gridSpan 属性

我在LibreOffice 5.3.7.2.0+中创建了一个 DOCX 文档,其表格如下:

您可以看到单元A格的宽度为两个单元格,所有其他单元格的大小相同。

我读到该属性在文档中gridSpan定义了单元格的逻辑宽度。

我解压缩了创建的docx文件并查看了document.xml文件内部:https ://gist.github.com/erdos/3a69e5c5a9eb8ea26c4f8fc5951bc127

奇怪的是,xml 文件中的值似乎gridSpan与我在编辑器中看到的不匹配。

  • xml 文件包含以下gridSpan值:2,2,2,1 1,1,1,2,2
  • 但是,从我在屏幕上看到的内容来看,我期望类似:2,1,1,1 1,1,1,1,1

为什么有区别?我误解了 ? 的目的和用途gridSpan?非常感谢!

0 投票
0 回答
1278 浏览

openxml - 使用 C# 创建 OpenXML 表

我在我的 excel 文件中制作实际表格时遇到问题。该文件已创建并且所有数据都在那里,但是当我打开文件时,表定义不存在。我正在使用这种方法尝试将数据范围转换为表格。

tableRange变量是一个简单的 Excel 范围字符串,例如“A1:D27”。我正在尝试将其添加到工作表中,如下所示:

打开文件时我没有收到任何错误。

如果我使用 XML Productivity 工具打开文件并单击工作表中的“x:table (Table)”部分,我会看到:

所以看起来我正在将一些东西正确地放入文件中。就 Excel 而言,它不是一个实际的“表格”。

0 投票
1 回答
654 浏览

c# - 使用 OpenXml SDK 删除 Excel 工作表中的表格

您能否提供从工作表中删除 Excel 表的 c# 代码。谢谢!

0 投票
0 回答
1058 浏览

c# - 为什么我的 Excel 表格在打开文件时使用 OpenXml 以编程方式创建并引发错误?

编辑:为了我的项目的需要,我将使用 EPPlus(感谢 Tsahi Asher 的评论)包,它非常适合我们操作 Excel 和包装 OpenXML 所需的内容。
我对这个项目的问题已经解决了,但我仍然对我的问题的答案很好奇,所以请随时回答,将不胜感激。

我正在做一个项目,我必须生成一个 Excel 文件,然后通过电子邮件发送它。
为了让 Interop 暂时无法正常工作,我们正在使用 OpenXML 创建 Excel 文件,因此它对我们的团队来说是相当新的(1 个月或类似的时间)。

创建文件时我没有太多问题,这是一个包含 3 个两列表格的简单文档。
问题是当我尝试打开之前生成的 .xslx 文件时,我得到一个弹出窗口,告诉我:

我们发现“file.xlsx”中的某些内容存在问题。你想让我们尽可能多地恢复吗?如果您信任此工作簿的来源,请单击“是”。

如果我单击“是”,它会修复文件并完全按照我的意愿显示,并显示一条消息:

修复的记录:来自 /xl/tables/table2.xml 部分的表(表)

这是我创建此表的短代码:

我已经尝试通过解压缩 .xlxs 来直接搜索 xml 文件,但我没有注意到 Table2 和 Table1/Table3 之间有任何区别。
即使在Excel修复文件后,我再次尝试解压缩,Excel添加到Table2的内容也添加到了Table1/Table3,所以我真的不知道为什么这个Table2会阻止这个文件正常打开。
我还尝试删除 Table2 并将 Table1/Table3 保持原样(仅更改 id)并且它运行良好,所以我很确定我的问题确实来自 Table2。

那么,我的问题从何而来?我的错误是什么,我错过了什么?

任何提示都会受到赞赏,因为 OpenXml 对我来说很新。

0 投票
1 回答
90 浏览

ms-word - ms词表末尾的隐藏线导致末尾有空格

如果我在单词表中有多行并在其间隐藏行,则 ms word 不会显示空白,但如果我隐藏最后一行,则 ms word 会显示空行。请参考以下链接中的图片。

在此处输入图像描述

知道为什么吗?