如何在asp.net核心应用程序中执行open office calc(宏)

Posted

技术标签:

【中文标题】如何在asp.net核心应用程序中执行open office calc(宏)【英文标题】:How to execute open office cal (macro) in asp.net core application 【发布时间】:2020-02-04 11:25:07 【问题描述】:

我正在开发下载一些 excel 文件并在其上执行宏的 asp.net 核心应用程序。 宏正在执行一些数据验证和数据格式化并生成新的 excel 文件。我需要将此文件保存在服务器上的特定文件夹中。

我已经在 centos 7 上托管了这个应用程序,所以显然 Microsoft 互操作服务将无法工作。所以,我必须使用 open office 执行宏。

如果有人可以提供帮助,我们将不胜感激。

【问题讨论】:

这是一个问答网站,不是请求一般帮助的地方。想想你想要完成什么,然后在互联网上搜索,看看你是否能找到有关如何做到这一点的信息。如果没有,请在此处提出具体问题。另外,我不清楚您要问的是什么技术。您想使用 C# 还是更常用于 LibreOffice 的语言,例如 Java? 我的问题是我们如何使用 asp.net c# 执行 open office 或 libre office 宏。 【参考方案1】:

正如你所说,COM 互操作在 CentOS 上不起作用,所以你可能想改用 Java 或 Python。

但是,执行C# system call 并执行基本宏可能会起作用。来自https://ask.libreoffice.org/en/question/150565/execute-macro-in-calc-from-terminal/的例子:

soffice "macro:///Standard.Module1.Ora(2,3)" "/home/lim/Scrivania/Test.ods"

使用此设置,大部分代码将采用 Basic 格式。如果您不熟悉该语言,可以从http://www.pitonyak.org/oo.php 开始。

【讨论】:

嗨 Jim,我们可以使用 Java 或 Python 开发 API 吗?所以一旦我的 Excel 文件被下载,我就会调用这个 API 来执行宏。 如果我理解正确,您是在问是否可以编写一个 Java 程序,然后以某种方式从 linux 上的 C# 代码连接到它。关于这个主题的谷歌搜索提出了 IKVM:mono-project.com/docs/about-mono/languages/java。否则,C# 系统调用可以运行 Java 或 Python 代码。

以上是关于如何在asp.net核心应用程序中执行open office calc(宏)的主要内容,如果未能解决你的问题,请参考以下文章

如何在asp.net核心的Razor中更改根路径〜/

如何在 asp.net 核心中从返回零计数的主体正确映射数组

如何在asp.net核心中从客户端调用web api方法?

如何更改 asp.net 核心中的程序集信息?

我如何在 asp.net 核心中捕获或抛出异常?

asp.net 核心中的红隼