Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在数据透视表无法剪切数据且数据来自多个地方的情况下,自动化excel以按计划进行报告?_C#_Sql Server_Excel_Vba_Automation - Fatal编程技术网

C# 如何在数据透视表无法剪切数据且数据来自多个地方的情况下,自动化excel以按计划进行报告?

C# 如何在数据透视表无法剪切数据且数据来自多个地方的情况下,自动化excel以按计划进行报告?,c#,sql-server,excel,vba,automation,C#,Sql Server,Excel,Vba,Automation,我一直遇到一个问题,我在网上找不到答案。请不要将这篇文章标记为观点文章,因为它100%不是 我有一个相当复杂的excel报告,我需要创建,然后自动化。我将数据以CSV、制表符分隔、json和.xls的形式放到ftp站点上。我还有SQL Server上的数据,我也需要带进去。一旦我得到数据,我就必须将其组织起来,并对其执行度量(这意味着它不像拖放到单个excel文件中那样简单) 目前,我一直在使用VBA将大部分数据导入MS Access,然后进行复杂的查询,以获得我想要的数据,然后我将通过链接ex

我一直遇到一个问题,我在网上找不到答案。请不要将这篇文章标记为观点文章,因为它100%不是

我有一个相当复杂的excel报告,我需要创建,然后自动化。我将数据以CSV、制表符分隔、json和.xls的形式放到ftp站点上。我还有SQL Server上的数据,我也需要带进去。一旦我得到数据,我就必须将其组织起来,并对其执行度量(这意味着它不像拖放到单个excel文件中那样简单)

目前,我一直在使用VBA将大部分数据导入MS Access,然后进行复杂的查询,以获得我想要的数据,然后我将通过链接excel中的查询将其导入excel,并通过调用文件和指定宏在Access/excel中从计划任务更新和导入,使其自动化

这不仅是草率的,而且让人觉得不专业,好像随时都可能爆发在我身上

有更好/更干净/更直接/更清晰/更安全的方法吗?

我知道c#控制台应用程序的想法,但我找不到任何好的教程来帮助我完成任何事情

除非我从ftp站点编写脚本,否则将所有数据本地化到一台服务器是不可能的

我知道很多程序员都是反访问和反VBA的。有些人很有优点,有些人只是些怪人。请发布您在自动化excel报告方面的经验,以获得一个好的2016解决方案。所有的文档都是2007年和以前的版本,一个好的现代答案是找不到的,或者人们试图声称购买他们的库/插件是唯一的解决方案(那些试图把蹩脚的代码塞进你喉咙的人让我恶心)

我知道互操作,我知道openxml和IIS,但我在网上找不到关于如何实现我的目标的好例子,我甚至不确定这些信息是否是最新的

总而言之,您/您将如何自动生成一份excel报告,该报告需要比数据透视表更精细的技巧,并且数据定期来自多个来源?还有谁有一个2016年的好例子没有过时或者仍然在XP上运行(XP是一个伟大的操作系统,但时间已经到了继续前进的时候了)

最好使用C#、VBA和SQL作为工具,尽可能少地使用外部库和外接程序

谢谢

注意:要求我们推荐或查找书籍、工具、软件库、教程或其他非现场资源的问题对于堆栈溢出来说是离题的,因为它们往往会吸引固执己见的答案和垃圾邮件。
-我想问的是,专业人士是如何在excel上实现自动化的,以及如何以程序化的方式实现自动化。我不是要书、图书馆、第三方工具或其他资源。我在寻求一种解决编码难题的方法,因为我一直在使用100行代码,并且相信必须有一种更直接的方法。

我理解您对多个源部分的强调,但是我对这一主题的第一种方法始终是如何标准化数据的原始形式。我相信标准化是金科玉律。这就带来了如何做的问题

在最近的一个例子中,我必须制作一个工具,根据SQL server和在线Excel电子表格上的可用数据生成报告。解决方案是将所有数据转换成我最熟悉的格式,对我来说就是Excel电子表格。因此,对于SQL Server中的数据,我生成了一个脚本,该脚本来自在线可用的电子表格,例如SharePoint上的电子表格,然后将数据保存在同一在线位置。在这个阶段,数据是以非常原始的形式出现的(即,没有处理,最少的过滤等)

因此,有了一个公共的在线位置,可以使用我的数据(Excel电子表格和转换后的SQL数据),我制作了一个加载项,从该位置输入。这样做的好处是可以将外接程序分发给多个用户(这是我的先决条件),并且每个人都可以从同一位置提供数据

总结如下:

  • 尽可能标准化原始数据表单
  • 公共数据源
  • 用您最熟悉的语言处理数据

就个人而言,我会用C#或Visual Basic创建一个程序(这是个人喜好;两者都使用相同的.NET功能),以您需要的任何格式导入数据

首先,您可以通过以下方式从XLS文件中提取数据。如果使用,则提取CSV数据并不特别困难(有关Visual Basic教程,请参见)。这个类将允许您解析制表符分隔的数据。JSON格式的数据比较复杂,但提供了该部门所需的一切

对于SQL Server,这显然很容易在.NET应用程序中使用(请参阅或仅使用Google it)

诀窍是始终将此数据提取到相同的内部格式中,以便在检索后以相同的方式将其导入Excel


您的需求是复杂的,因此我无法给出一个特别完整的答案,但希望我的观点是有用的…

长期使用以下方法,最近的成功部署是2015年12月

考虑以下几点,以便在具有不同来源和不同格式数据的场景中实现成功的自动化:

  • 通过以下方式从不同来源提取数据:

    a。Windows powershell(作业调度)-快速且有用,因为您使用MS技术(或)

    b。您熟悉的任何其他编程语言(或)