我一直遇到一个问题,但在网上找不到答案。请不要将此标记为评论文章,因为它 100% 不是。
我有一个相当复杂的 Excel 报告,需要创建然后自动化。我的数据以 CSV、制表符分隔、json 和 .xls 的形式放置在 ftp 站点上。我还需要导入 SQL Server 上的数据。一旦我获得数据,我必须将其组织起来,并对其执行指标(这意味着它不像拖放到单个 Excel 文件中那么简单)。
目前,我一直在使用 VBA 将大部分数据导入到 MS Access 中,然后进行复杂的查询以获取大部分我想要的数据,然后通过链接 excel 中的查询并使其自动化,将其移植到 excel通过调用文件并指定宏来更新并从计划任务导入 Access/Excel。
这不仅很草率,而且还让人感觉不专业,好像随时都会对我造成打击。
有没有更好/更干净/更直接/更清晰/更安全的方法来做到这一点?
我知道 C# 控制台应用程序的想法,但我找不到任何好的教程来取得足够的进展来完成任何事情。
将所有数据本地化到一台服务器中是不可能的,除非我编写脚本从 ftp 站点执行此操作
我知道很多程序员都反对Access,反对VBA。有些人有优点,有些人只是巨魔。请发布您在自动化 Excel 报告方面的经验,以获得良好的2016 年解决方案。现有的所有文档都是 2007 年及之前的,并且找不到好的现代答案,否则人们试图声称购买他们的库/插件是唯一的解决方案(那些人试图把蹩脚的代码塞进你的喉咙让我感到恶心)。
我了解互操作,了解 openxml 和 IIS,但我没有在网上找到关于如何实现我的目标的很好的示例,而且我什至不确定该信息是否是最新的。
总而言之,您/您将如何自动化制作比数据透视表更精细的 Excel 报告,并且数据按计划来自许多来源?有没有人有一个好的 2016 年示例,该示例还没有过时或仍在 XP 上运行(XP 是一个很棒的操作系统,但现在是时候继续前进了)
最好使用 C#、VBA、SQL 等工具,并尽可能少地使用外部库和插件
谢谢
注意:要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为它们往往会吸引固执己见的人答案和垃圾邮件。 -我问专业人士如何在excel上实现自动化,以及如何以程序化的方式进行。我并不是要书籍、图书馆、第三方工具或其他资源。我正在寻求一种解决编码困境的方法,因为我一直在编写 100 行代码,并且相信必须有一种更直接的方法。
最佳答案
长期使用以下方法,最近一次成功部署是在2015年12月。
在数据来自不同来源和不同格式的场景中,要成功实现自动化,请考虑以下几点:
通过以下方式从不同来源提取数据
a. Windows powershell(作业调度)- 快速且有用,因为您使用 MS 技术 (OR)
b.您熟悉的任何其他编程语言(或)
c.通过 SQL 代理 T-SQL 查询(定义良好且结构良好) &将所有数据放在一个文件夹中
使用您喜欢的方法将数据转换为所需的数据集 -
a. Powershell(作业调度)-最佳(OR)
b.您想要的任何其他语言(或)
c. Excel/Access/CSV/文本格式的 VBA &我建议将数据集转换为.txt格式
将这些数据集加载到 SQL Server/DBMS 或其他地方进行进一步操作,使用查询对数据集进行操作并设置作业如下:
a.通过 SQL 代理通过 T-SQL 查询(定义良好且结构良好)(作业调度)- 输出为文本/Excel 格式(AND)
b.使用VBA在Excel中导入和创建数据透视表/分析/报告,并通过作业调度程序进行调度
增值 - 广泛使用 Powershell 来安排作业、嵌入 VBA 代码、与 SQL Server 进行数据事务以及发送电子邮件(警报/报告作为附件/有关成功或失败的通知等)。请记住在网络驱动器/服务器上提供足够的访问权限,这是成功的关键。
干杯
关于c# - 在数据透视表无法削减并且数据来自许多地方的情况下,如何自动化地按计划进行报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34905585/