问题标签 [spire.xls]

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 回答
129 浏览

c# - C# Spire.Xls 异常:zip 中已存在条目 pivotCacheDefinition2.xml

介绍

我正在使用 C# 和 Spire.Xls 来编辑 excel 文件并询问 SQL 数据库。

每次运行程序 (WPF) 时,我都想打开现有的 Excel 文件,以根据 SQL 数据库信息删除和创建工作表和数据透视表。一切正常,我清空用作数据源的 2 张工作表并删除 pivot1 的工作表(数据透视表 1)并创建一个具有相同名称的新工作表并基于数据源工作表创建一个新的数据透视表(3 个数据透视表的 2 个数据源工作表表,其中 2 个共享一个数据源)。


问题

之后,我尝试对数据透视表 2 执行相同的过程,删除数据透视表并重新创建。代码一直执行到最后(删除和创建),但在我尝试保存文件后,我得到 zip 中已经存在条目 pivotCacheDefinition2.xml 并且文件已损坏。经过更多测试后,我发现即使我只删除/删除工作表 pivot2 并保存文件(不包括执行中的创建过程),它也会给我同样的错误。所以我只能删除和创建 1 个数据透视表。如何解决这个问题?


主要代码


removeSheet 函数


保存文件代码


创建数据透视表代码


excel_manager 全类代码


更新1

经过一整天的进一步测试,我得出结论,使用此代码运行另一个文件工作得很好,我可以创建 2 个数据透视表。

使用 7zip 打开这个文件,我们可以看到 2 个文件:

  • pivotCacheDefinition1.xls
  • pivotCacheDefinition2.xls

新问题 当我使用 OG 原始文件来运行程序时,在删除工作表 pivot2 并保存后会引发异常。

打开打算运行的原始文件(在异常损坏并运行代码之后)我们只观察到 1 个文件:

  • pivotCacheDefinition2.xls

似乎问题与文件相关而不是与代码相关?也许吧,但我不知道为什么。

链接到调试图片和异常的帖子: imgur debug images

0 投票
1 回答
116 浏览

java - 以块的形式在 Excel 文件(.xls 格式的旧版本)中写入大量行,而不在内存中加载完整的文件

我正在研究将数据导出到 Excel 文件(.xls(旧版本)格式支持)的功能。

我必须将块附加到.xls文件中,而不将文件加载到内存中。该文件应为 .xls 格式。每个步骤中的块大小都可以很大,并且有数百万行。分成块。如果我在内存中加载文件,可能会出现内存溢出的情况。有人可以建议任何可以提供帮助的免费或付费 api 或 java 解决方案。

0 投票
1 回答
78 浏览

c# - 为什么我不能在 Linux 中使用 Spire.Xls 将 Excel 文件转换为图像?

我将 Excel 文件转换为 C# 中的图像,但我发现我使用的 API 仅适用于我正在使用 linux 的 Windows

0 投票
1 回答
15 浏览

c# - 在excel c#中手动将值添加到图表中

我正在使用 Spire.XLS 许可包,我需要找到一种方法从 ac#win 表单应用程序手动设置图表的值,将类别标签讨论为要在内部显示的实际值,而不是被迫使用sheet.Range[],或者至少能够使用从工作表中相互分离的单个单元格值,并使用“扩展范围”之类的值来表示是否可行?

0 投票
0 回答
9 浏览

c# - Spire.XLS 使用单个值在图表中创建一条线

我正在使用 Spire.XLS 制作一个项目,其中一些图表使用来自不同工作表的值显示,我试图找出是否可以创建一条从头到尾穿过图表但仅使用 1 或2 个值,虽然类别轴中有更多步骤,例如我有 6 个步骤 X 轴,然后有 2 个值我想在 X 轴上划一条线,我可以将 2 值设置为相对到第一步和最后一步,还是我也只需要其中的 6 个值?图表

例如,在这种情况下,我希望红线穿过整个图表,而不是在图表的第二步停止,您有什么建议吗?我可以直接复制并粘贴带有 6 列的红线值的列,但在这种情况下看起来很糟糕而且效率不高

0 投票
1 回答
21 浏览

c# - 将 Excel 范围导出到 DataGridView,维护单元格格式和公式

我正在使用 Spire.XLS,我必须用不同的工作表填充一个 excel 文件,然后问题就开始了,我需要从不同的工作表中取出值并将它们一起导出到同一个 dataGridView 中,以获取我使用的值方法sheet.Range[],它看起来像 spire.XLS 作为命令exportDataTable(),但在这种情况下它显示类似这样的东西

而这个的问题是,这不会保持单元格背景颜色,也不会保持最后一列中公式的实际值,如果需要,我也可以向其他库开放,但我需要解决这个问题