问题标签 [excel-interop]

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

c# - 如何使用另存为对话框将创建的 excel 实例保存到客户端的磁盘

在一个项目中,当用户单击一个按钮时,一些数据被互操作库获取并写入一个 excel 实例。

现在,我想要:当 excel 实例获取所有数据时,必须打开另存为对话框并将此 excel 实例保存到用户指定的路径。

有没有办法做到这一点?

编辑:

我将数据转换为 excel 的代码在这里:

0 投票
2 回答
30208 浏览

c# - 如何在 C# 中动态重命名 Excel 工作表名称

我创建了一个 Excel 工作簿,其中包含许多工作表,如 sheet1、sheet2 等。如何在 C# 中动态重命名这些选项卡名称?

0 投票
4 回答
8340 浏览

c# - Excel 互操作从右到左文档

我用 C# 创建了一个新的 Excel 文件。

当我打开文档时,所有工作表都从右到左对齐。

如何对齐工作表/工作簿/窗口以在语法上从左到右显示?

0 投票
1 回答
1308 浏览

c# - C# 自动化到 Excel

...

...

在崩溃时产生这个:

在这种情况下,第 60 行是

oSheet = (Excel._Worksheet)oWB.Sheets[1];

如果该行被写入,也会发生同样的事情

oSheet = (Excel._Worksheet)oWB.ActiveSheet;.

Excel 当时已经在屏幕上打开,并有一个新的工作表。

0 投票
2 回答
2103 浏览

asp.net-mvc - Excel 互操作 + MVC

在 MVC 应用程序中使用 Excel 互操作是否安全?

0 投票
4 回答
41890 浏览

c# - 在 C# 中将时间跨度转换为日期时间

我正在使用 C# 和 Microsoft.Office.Interop 读取 Excel 工作表数据。该工作表包含一些日期值。当我试图读取该值时,它只是给出了数字(可能是 TimeSpan)。我在将此数字转换为 DateTime 时遇到问题。

下面是代码:

ws在哪里Excel.WorkSheet

谁能解释我应该如何将这个数字(TimeSpan)转换为DateTime

感谢您分享您宝贵的时间。

0 投票
2 回答
1663 浏览

.net - .NET 4.0 Excel 与动态集合的互操作问题

在 Excel 中,您可以System.Object[*]使用从系列对象返回动态数组XValues。在 .NET 3.5 中,您可以通过将其转换为数组来访问此对象中的元素,即:

在 .NET 4.0 中,这不再有效,并且消息

“无法将 'System.Object[*]' 类型的对象转换为 'System.Object[]' 类型”

给出。

有任何想法吗?以下不起作用:

  • 将其转换为动态的。
  • 将其转换为System.Object[*].
  • 只需将对象放在 for each 循环中。
  • 尝试使用 直接访问该值values[1],而不是在转换为动态时。

然而,数组中的值确实显示在调试器中。

0 投票
4 回答
86762 浏览

c# - 使用 Excel 互操作设置单元格值

好的,所以我正在尝试使用 excel 互操作库设置单元格的值。我可以通过以下方式做到这一点:

但是对于我设置的数量来说,它非常慢。所以我试图走这条路:

代码执行,但单元格中没有数据。关于我所缺少的任何建议?谢谢!

0 投票
1 回答
715 浏览

c# - Excel Interop 2007 中的条件格式

如何获取 excel interop 2007 中单元格的显示格式。我有一个单元格,其中字体的粗细取决于另一个单元格中的值。无论是否满足条件,cell.Font.Bold 和 cell.Style.Font.Bold 属性始终为 false。(单元格的类型为 Range)。那么有没有办法像用户在 Excel 中看到的那样查询单元格的样式?

我也尝试使用 FormatConditions,但我还没有找到一种方法来知道条件是否满足。

干杯
乌利

0 投票
1 回答
1918 浏览

.net - myWorksheet.Range.Resize.Value = 数组在高行数处失败

我继承了一个使用 Office.Interop.Excel 将数据插入电子表格的大型项目。

就可见交互而言,您单击一个按钮会出现一个 Excel 电子表格,其中所有数据都已插入。我之所以提到这一点,是因为我已经在其他地方看到它已经打开程序并插入了值。我正在使用的程序在 Excel 出现之前插入数据。

不幸的是,一旦插入了相对大量的数据,到 Excel 的信息传输就会被锁定,程序无法继续。

无论如何,我做了一些调查,发现以下行:

这会将 dataArray 中的所有数据直接复制到工作表中的一堆单元格中。

我猜测问题可能是由于尝试一次传输如此大量的数据引起的,所以我将其更改为逐行复制数据:

这会将 350 左右的行复制到 Excel,然后行设置值停止返回。

任何人都可以提出解决这个问题的方法吗?

编辑:好的,我已经尝试了 Lazarus 在下面提出的一些建议,这就是我现在所处的位置:

只要数据相对较短,或者数据类型相当简单(整数等),代码的所有变体都可以正常工作。原始的大量复制工作正常,逐行复制和逐单元复制工作,只要数据集小或简单。

但是,我的实际数据集相对复杂,并且包含多种数据类型,包括字符串。

它在 350 行之后倒下。它落在代码的 Excel 端,线程转到 Excel 并且永远不会回来。

那么,还有什么想法,有人吗?