- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在寻找常见问题解答,告诉我如何打开 Excel 工作簿/工作表以及如何在完成后保存文件。
我注意到,在大多数常见问题解答和我在 F# 上购买的所有书籍中,都展示了如何创建新的工作簿/工作表,但从未展示如何打开或保存它。
作为 F# 的新手,如果有人能给我一个答案或者一些建议,我将非常感激?
更新
至于为什么是 F# 而不是 C# 或 VB?
我很高兴地说,尽管我是新手(Forth、VBA 和 Excel 2003、2007 和 2010 以及 Visual Basic 除外),但我可以在 VB、VBA 和 C# 中完成此操作,因为我一直在由于医疗原因退休了,不幸的是我手头有很多时间,我喜欢不断地给自己设定挑战,以保持我的小灰细胞活跃,并成为尝试新语言的傻瓜......好吧!
F# 现在是 Visual Studio 2010 不可或缺的一部分,所以我想 - 为什么不呢。考虑一下这一点 - 如果我们不愿意使用或至少尝试一种新语言 - 我总是想知道我是否可能更喜欢它而不是 VBA、VB、C# ..... 如果你从另一个角度来看它 View ,如果没有人会使用它 - 为什么首先要创建它?我想你可以说,如果穴居人没有尝试通过将两根棍子摩擦在一起生火——我们现在会在哪里,火柴会被发明吗?
虽然完整的答案很好,但我更喜欢一些提示,以继续我的挑战。
最后但并非最不重要的一点 - 感谢您不厌其烦地回复!
最佳答案
我不认为它们是 Office 的特定 F# 库,因此您只需使用与 VB.NET/C# 中使用的完全相同的 .NET 库。 F# 是一种 .NET 语言,因此可以在 C# 中完成的任何操作都可以在 F# 中完成(但您可能已经知道了:))。 API 调用将完全相同,只是它们将使用 F# 语法而不是 VB/C# 语法完成。例如,看起来像这样的东西
public void SaveMyWorkbook() {
string filePath = @"C:\failworkbooks\catfail.xlsx";
workbook.Save(filepath);
}
在 F# 中将表示为
let filePath = "C:\\failworkbooks\\catfail.xlsx";
let saveWorkbook() = workbook.Save(filePath) |> ignore //if the Save method return something
现在,您很快就会意识到,API 的设计初衷并不是为了从函数式语言中轻松使用。这是可以完成的,但这个任务尤其适合 C#/VB.NET。
如果你真的想享受F#,我建议你在它真正发挥优势的地方使用。我个人的经验是,当涉及大量数学时,函数式语言非常棒。如果您想在应用程序中轻松引入并行性,这也是很棒的(因为 F# 代码通常没有副作用)。因此,任何需要对大量数据进行数据处理的事情都是完美的。但对于主要包含对外部库的一堆 API 调用的任务,F# 有点乏味。您可以说 F# 有点像图形卡编程语言,而 C# 是通用 CPU 编程语言。很多东西在 C# 上运行得更好,但在 F# 上运行得更好的东西在 F# 上运行得确实更好。
但如果您确实想走这条路,我的建议是尝试使用您已经了解的 Office API,但使用 F# 语法。如果在某些时候您确实不知道如何执行特定任务,请使用您的代码在 stackoverflow 上提出有关该任务的问题,并明确您想要做的事情。与广泛的包罗万象的问题相比,这些问题的回答速度快得离谱,所以您不会等待太久。 (程序员似乎喜欢有具体答案的精确问题^^)
希望对您有一点帮助。
关于visual-studio - 使用 F# 自动化 Excel 2010,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4768454/
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 5 年前。 Improve t
背景 我有一个 Azure Runbook(名为 RunStoredProcedure2),定义如下: param( [parameter(Mandatory=$True)] [string] $Sq
我有一个名为“团队”的表,其中包含“非事件”列,另一个表“事件”,其中包含“时间”列。如果任何团队的“事件”中的最新日期发生在 X 时间之前,如何将“非事件”列更新(为 true)? 我知道这可以通过
下面的问题可能有点令人困惑,但我会尽力以最好的方式解释它。 假设我们为一家制造公司工作。它制造然后用于制造产品的组件。在以下示例中,有 3 个组件和 2 个最终产品。 组件和产品的需求如下: comp
我有代码可以让我在一个范围内选择一个项目: COleVariant vItems = cstrAddr; hr = AutoWrap(
我正在开发一个应用程序,该应用程序有 4 种语言的大约 50 个应用内购买,这给了我很多表单和子表单、框和子框,需要使用 iTunesConnect 的令人痛苦且设计糟糕的表单来填充。 我想知道是否有
我想在 Azure 自动化中使用 powershell 脚本来安排打开/关闭资源。 我想在不创建帐户的情况下执行此操作,因为我们的域强制重置密码。我知道自动化帐户会创建一个证书 - 当使用资源管理器(
我尝试从 azure 自动化 run book power shell 自动检索 azure SQL 数据库中的数据。我发现azure自动化帐户的模块中缺少SQL Server模块。我已经导入了该模块
我正在自动化 Outlook,并且需要控制电子邮件的发件人身份。用户将在 Outlook 中设置两个或多个帐户,我需要能够选择从哪个帐户发送电子邮件。有什么想法吗? 需要 Outlook 2003 及
我尝试从 azure 自动化 run book power shell 自动检索 azure SQL 数据库中的数据。我发现azure自动化帐户的模块中缺少SQL Server模块。我已经导入了该模块
假设我有一个网站,我可以(随时)登录并每隔 x 小时提交数据(单击登录后可见的链接),我将如何自动化此过程? 我构建了一个图形用户界面,它为用户(现在是我,为了我自己的方便)提供了一个包含一些信息的界
我正在开发一个程序,它的任务是我们为它定义一些号码(我们的一些手机号码)并且它应该在 Telegram 中注册它们,然后获取发送到该号码的所有消息。如您所知,在 Telegram 中注册需要提供电话号
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 3 年前。 Improve this qu
最近我在处理 CSS Sprite 。一切正常。 我创建了一个 sprite、.css 文件和 html 结构。看起来像 .sprites{ background-image:url
我想为一款名为 Dune 2000 的策略游戏创建一个叠加层。令人讨厌的是,要创建 10 个士兵,每次完成一个都必须单击该图标。没有队列。因此,在不干扰游戏运行方式的情况下,我想听听鼠标移动的声音,当
我是 python 的初学者,我想从自动化开始。以下是我正在尝试执行的任务。 ssh -p 2024 root@10.54.3.32 root@10.54.3.32's password: 我尝试通过
当我将一些 urlencoded Javascript 粘贴到 Firefox 和 Chrome 上的 URL 时,我看到了一些奇怪的事情发生。是否可以使用此技术告诉 Chrome 访问 URL,然后
我需要将大量请求自动提交到基于云的数据库接口(interface) (Intelex)。没有任何方法可以批量提交某些操作,但是提交单个请求所必需的只是让经过身份验证的用户尝试打开 Web 链接。因此,
假设我有一个进程的内存转储。我想对其运行报告,所以基本上我想打开 WinDBG,加载 SOS 并运行一个脚本,该脚本运行一些命令,解析输出,然后基于此运行更多命令。 除了像 SendKeys 这样的
我正在使用 ffmpeg 创建视频剪辑。我想自动化该过程并保存剪辑,而无需手动为要保存的每个文件命名。这是我拥有的代码。它将创建并保存剪辑,但只能使用扩展名和不是名字。 @echo off cd /d
我是一名优秀的程序员,十分优秀!