问题标签 [closedxml]

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 投票
2 回答
5557 浏览

c# - 如何在 ClosedXML 中获取截断的列范围?

我想将数据验证和样式应用于列范围,但没有标题单元格。现在我分两步做:

  • 将规则应用于列范围
  • 清除标题单元格

它有效,但我必须在所有其他单元格之后编辑标题单元格。它看起来像一个黑客,可能有更好的方法。

那么,如何选择没有顶部单元格的列?

0 投票
2 回答
20489 浏览

closedxml - ClosedXML 中的日期格式

我正在阅读的 Excel 表中有日期。我喜欢做的是强制日期为 mm/dd/yyyy 有没有办法在封闭的 XML 中做到这一点。

我看了一下https://closedxml.codeplex.com/documentation但找不到如何强制或将日期更新为某种格式。

0 投票
1 回答
1882 浏览

excel - ClosedXML 生成格式错误的 xlsx

当我打开我得到的文件时,似乎无法用 ClosedXML 输出一个好的文件

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

0 投票
4 回答
3516 浏览

c# - ClosedXML read row with VLOOKUP formula

im currently working on a project that reads data from excel using closedXML but im having errors with my code because the excel cells have vlookup formulas in it. is there a way for closedxml to read row values with vlookup formulas? Thanks!

this is where i get the "Syntax Error" error:

0 投票
3 回答
7197 浏览

c# - ClosedXML 将数据添加到现有表

使用 ClosedXML,我正在尝试将数据添加到现有表中的现有 Excel 工作表中。最简单的方法是将表格添加到 Excel 工作表中,下面是如何执行此操作的快速示例。我不明白的是,如果你已经有一个空的表,你怎么能添加到现有的表中?

0 投票
0 回答
292 浏览

c# - 是否可以使用进程互操作性(不借助 COM)从 32 位可执行文件运行 64 位代码?

我发现自己有一个 32 位应用程序需要为环境分配太多内存(构建和序列化一个非常大的 Excel 工作表 - 80 列,200k 行,通过 ClosedXml 的 3 个工作表)。

虽然我很确定某些解决方案将需要重写 ClosedXml 以包括一些将数据一次全部刷新到磁盘的能力,但我正在考虑的一种方法是为操作启动一个新进程(甚至如果它完全工作,则需要 10-20 分钟才能获取数据,所以我不太担心开销)。

但是,我不知道该怎么做。这个问题提供了一个使用 COM 和 Delphi 的链接,但首先我在 C# 中,其次,如果可能,我想避免使用 COM(或者,更准确地说,我想避免垃圾收集头痛如果可能的话是互操作的;如果只是继承自MarshalByRefObject或类似的问题,那很好)。

有什么建议么?

0 投票
0 回答
552 浏览

c# - 如何在c#中将datagridview和treeview数据导出到excel?

我的表单中有一个 datagridview 和一个 treeview。

我有一个问题,比如我需要在哪里显示每个容器中携带的物品的详细信息并将其导出到 excel

这是一个例子,

几个物品被装在集装箱中并移动到另一个位置,每当它被移动时,我都需要跟踪集装箱的数量和每个集装箱中携带的物品清单。据说这是一次旅行。

我在 datagridview 中显示所有行程详细信息,当用户单击与该行程 ID 对应的单行时,容器详细信息将填充到树视图中。

截图如下

http://postimg.org/image/j8a6mj5mz/

如何将datagridview和treeview的这些数据导出到excel?

我正在使用 closedXML SDK 将数据表导出到 excel。

但我希望树视图数据显示为与每个行程详细信息行相对应。经过几次研究,我遇到了类似可枢转的东西。可枢转是正确的解决方案吗?我不知道,如何在这个 SDK 中实现这一点?是否有任何替代 SDK 来实现这一目标?

0 投票
0 回答
1719 浏览

c# - 确定 OpenXML 工作表中自动分页符的位置

我正在开发一个以 Excel xlsx 格式生成输出文档的程序。我最初使用 Excel Interop 编写了该功能并获得了预期的输出/结果,但是完成单个输出需要相当长的时间,因此我尝试使用 OpenXML 复制相同的功能(目前使用 ClosedXML 库来简化转换来自 Excel 互操作,但我对任何其他库或方法持开放态度......)

基本过程是打开模板文件(具有初始打印区域 [A1:M27] 并且打印设置已经设置和定义),然后用数据填充模板。第一行数据从单元格 A11 开始,根据需要在其下方插入其他行。(此数据表下方的模板上还有其他内容,因此插入的最后一行不是实际打印区域的底部。)

插入第二行数据后,我有一个函数将检查给定单元格的值和位于其正上方的单元格的值是否相同。如果是这样,那么它会在合并之前检查以确保那里没有任何分页符。

这是相关代码的那部分:

但是,当我生成输出时,它仍然会跨分页符合并单元格。我逐步浏览了代码,发现它outputSheet.PageSetup.RowBreaks总是的......但是当我在 Excel 中打开输出文件时,将有一个自动分页符穿过它合并的单元格的中间。

  

 

我做了一个测试并在数据行插入模板的地方插入了一个水平分页符,以查看它是否能正确检测手动放置的分页符,然后检查分页符是否按预期工作......但仅适用于手动插入中断。

所以看来我的问题在于根据现有打印和页面设置自动确定的分页符位置。

是否可以使用 OpenXML(或除Excel Interop 之外的任何内容)确定自动分页符在哪里?

任何帮助或建议将不胜感激。


编辑/更新:我设法针对当前情况想出了一种解决方法,但是在插入第一个初始分页符后效果不佳。

我采用模板并逐渐增加行高,直到找到将任何行高增加一个点导致自动分页符移动的点。我写了一个函数,在分页符之前对行高求和,给我一个943.

然后,在检查任何分页符之前,我调用这个过程:

不利的一面是,由于页面布局、缩放、页面方向等方面的差异,我需要为我使用的每个不同的输出模板使用此过程的变体,所以除了这个特定的解决方案之外,它不是一个非常实用的解决方案应用。此外,在插入第一个分页符后似乎会出现一些“漂移”,并且分页符不再适合第三页插入 Excel 的自动分页符的位置。

所以......仍在寻找更好的解决方案。

0 投票
0 回答
2557 浏览

c# - 当超过 70k 行时导出到 excel 抛出 System.outofmemoryexception(关闭 XML)

我正在使用 closedxml 将数据表导出到 asp.net 中的 excel 中。如果我导出少于 50k 行但在导出更多行时抛出异常,它工作正常。它有 31 列。我将数据表拆分为 10000 行,然后将数据表添加到单独的工作表中。如果有人帮助我,将不胜感激。下面是代码。

我也尝试过使用以下

0 投票
0 回答
368 浏览

c# - 有没有办法使用 ClosedXML 创建 Excel 关系?我尝试使用数据集来执行此操作,但未在 Excel 文件中实现

有没有办法使用 ClosedXML 创建 Excel 关系?我尝试使用数据集来执行此操作,但未在 Excel 文件中实现。