编写 Windows 桌面应用程序 (.exe) - 这听起来对吗? [关闭]

Posted

技术标签:

【中文标题】编写 Windows 桌面应用程序 (.exe) - 这听起来对吗? [关闭]【英文标题】:Coding a windows desktop app (.exe) - does this sound right? [closed] 【发布时间】:2017-10-22 16:38:36 【问题描述】:

我是一名实习生,正在从事一个项目。我的老板他没有技术背景(其他任何员工也没有),所以我真的没有人可以问。

现在,我们有一堆包含数据(运输数据)的 excel 文件。通常,我们在 excel 中获取数据,然后手动将数据转置到地图上。例如,我们可能会从谷歌地图中截取“位置 X”的屏幕截图,然后进行注释:

A 楼上带有 10 的红色圆圈对应于 A 楼的 10 批番茄酱 在 B 楼上放置一个带有 5 的绿色方块对应于 B 楼的 5 批苹果 C 楼上的黑色箭头表示 C 楼收到的货物最多。 等等……

更多信息:

总共有大约 30 个不同的符号 有 > 100 个位置。位置的地址在数据文件中给出。 每个图表都针对特定的一周(或一个月)。

我想自动化这个过程,使其对工作中的其他员工更友好。这是我关于如何开发这个应用程序的思考过程

我们只使用基于 Windows(尤其是 Windows 7)的系统 我想开发一个桌面应用程序。在 Visual Studio 中使用 VB.net 或 C#(不确定哪个更好)。 应用程序将获取一个 excel 文件并从中提取数据。它将覆盖该位置图像上的任何符号。 图像的位置可以来自用户输入的屏幕截图,也可以以编程方式从 Google 地图中获取(取决于是否可以集成 Google 地图)。

我的问题是:

Visual Studio + VB.net/C# 是这个项目的好选择吗? 能处理excel文件吗? (或者我走错了方向)。 是否可以集成 Google 地图? 有什么建议吗?

(另外,我的老板说我们可以聘请承包商来完成这项工作,但我真的很想尝试一下)。

【问题讨论】:

听起来很有趣,而且在 C# 或 VB.Net 中肯定是可行的。两者都不是更好,尽管您可以在 C# 中在线找到更多示例代码。唯一让我担心的是你说位置的 address 是在数据文件中给出的。不知何故,您需要将其翻译为纬度和经度以将其定位在地图上,或类似的东西上。需要围绕这一点进行一些研究,但这与语言选择无关。 @peterG 如果他有地址,他可以通过 API 调用获取经纬度。 我建议使用 VB.NET:这种语言不如 C# 通用,但如果您的 excel 文件是“干净的 VBA”,它将允许您保留相当多的 VBA 代码。否则……无论你在 excel 中做什么,你都可以在 .NET 中进行,而 .NET(VB 或 C#)绝对是一个不错的选择。 【参考方案1】:

Visual Studio + VB.net/C# 是这个项目的好选择吗?

是的,您可以使用其中任何一种语言来实现您的目标。我建议使用 C#,因为我个人认为它更易于学习,更直观,您可以在网络上使用更多工具、示例和文档(这在 VB 中是不可能的)。使用 C# 是个人意见,但回答您的问题:是的,您可以使用它们。

它可以处理excel文件吗? (或者我走错了方向)。

两种语言都具有加载.xls(以及许多其他格式)并从中读取和处理数据的功能。实际上,您的 excel 将充当数据库,因为您的数据存储在那里。一个很好的可能性是在服务器中创建一个数据库(每台计算机都可以访问)并开始创建表单,以便您的团队使用它来输入数据(不再需要 Excel)。但这只是一种可能,需要考虑,暂时不需要,你仍然可以使用你的excel。

是否可以集成 Google 地图?

是的。 Google 提供了许多用于集成的 API。一种选择是使用他们的Static Maps API,它允许您提供位置或纬度/经度、配置缩放、标记甚至连接这些标记的路径。您执行 HTTP 请求 并获取图像(默认情况下,它们会提供 PNG,但您可以提供所需的格式)。

请看这个简单的例子:https://maps.googleapis.com/maps/api/staticmap?center=Berkeley,CA&zoom=14&size=400x400。

在免费使用情况下(我写这篇文章的那天),每日使用限制最多 25000 个请求和 640x640 最大分辨率以避免滥用,但如果您需要每天发出超过 25000 个请求或需要更好的解决方案,您可以获得许可证。

您可以check here了解更多详情。


这不是一件容易的事,但它是一个有趣的挑战。如果你不熟悉 C# 和编程语言,你可以从创建一个小系统开始,让你的团队可以输入他们在系统中输入的所有内容,这样你就可以将其存储在数据库中并停止使用 excel,就像练习一样。

【讨论】:

感谢您的建议!很高兴知道我正朝着正确的方向前进。实际上,我确实对 C 和 web 开发(以及一些谷歌地图)有一些经验。我确实喜欢你关于数据库的想法——虽然现在一切都在 Excel 上,但我认为将所有新数据移动到 Microsoft Access 等数据库格式会很好

以上是关于编写 Windows 桌面应用程序 (.exe) - 这听起来对吗? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Java可以编写能在WINDOWS下的exe程序吗 就是可执行文件

nodejs能写windows桌面应用程序吗,就是打包成exe这种的

适用于 Windows 7 的 Delphi/Paradox 数据库桌面 DBD32.exe 设置

Flutter桌面开发 — Windows App打包以及使用Inno Setup生成.exe文件安装包

开机提示,windows找不到C:/windows/ylmf/桌面运行/numlock exe。怎

windows 10桌面白屏