Tag: office interop

如何冻结顶部行,并在C#中使用Excel自动化应用筛选器

我有自动从C#创build一个Excel文档。 我试图冻结我的工作表的第一行,并应用filter。 如果您select“查看”>“冻结窗格”>“冻结顶部行”,然后select“顶部行数据”>“filter”,则这与Excel 2010中的相同。 我不知道如何应用filter,但以下是我试图冻结最上面一行,它只是冻结了整个工作表。 有没有人有我的问题的解决scheme。 数据filter的问题是我需要更多的帮助,所以如果有人有一个解决scheme,请赐教。 非常感谢,KBP workSheet.Activate(); Excel.Range firstRow = (Excel.Range)workSheet.Rows[1]; firstRow.Activate(); firstRow.Select(); firstRow.Application.ActiveWindow.FreezePanes = true;

从C#创build没有办公室的Excel文件

可能重复: 从C#创buildExcel(.XLS和.XLSX)文件 我正在编写一个生成excel报告的程序,目前使用Microsoft.Interop.Excel参考。 我的开发计算机上有Excel,但最终用户可能或可能没有安装Office。 如果Office未安装在最终用户计算机上,或者这种互操作服务与实际应用程序分离,此工具是否会失败?

通过asp.net访问Office Word对象模型导致“由于以下错误而失败:80070005访问被拒绝”。

我开发了一个网站,允许用户上传office文档,然后使用office对象模型将文档转换为HTML文件,然后显示在iFrame中。 当然,我已经包含了对Office.interop.word的引用,并且该网站在我的开发机器上正常工作。 当我上传到我的生产服务器时,该网站的function正常,直到我尝试上传文件。 我最初有一个类似的错误,说“COM对象未注册”。 我意识到,Word没有安装在我的生产服务器上。 所以我安装了单词,现在当服务器试图访问单词对象模型时,我收到以下错误: 检索具有CLSID {000209FF-0000-0000-C000-000000000046}的组件的COM类工厂失败,原因如下:80070005访问被拒绝。 (从HRESULTexception:0x80070005(E_ACCESSDENIED)) 我search了相应的CLSID的registry,并find了相应的文件夹。 我向IUSR_帐户添加了完全控制权,并且由于错误的持续性,我最终将完全控制权添加到“所有人”,并确保将这些权限inheritance到文件夹的其余部分。 然后,我将完全控制权添加到IUSR_,并最终将完全控制权添加到“所有人”到我的Microsoft Office文件夹。 我不知道还有什么其他权限可以授予,以及为了使这个“访问被拒绝”错误消失。 我必须把他们放在错误的地方,因为据我所知,我不能再比“人人”“完全控制”更放纵了。 任何人都可以摆脱任何光?

如何消除模糊的警告?

我有这个警告: 警告3方法'Microsoft.Office.Interop.Word._Application.Quit(ref object,ref object,ref object)'和非方法'Microsoft.Office.Interop.Word.ApplicationEvents4_Event.Quit'之间的歧义。 使用方法组。 在我的线上 wordApplication.Quit(); 我曾尝试将其replace为: wordApplication.Quit(false); // don't save changes 和 wordApplication.Quit(false, null, null); // no save, no format 但它一直给我这个警告。 这不是一个巨大的问题,因为代码编译完美,function如预期,但我想摆脱警告。 我能做什么?

我需要在.NET中使用Microsoft.Office.Interop.Excel?

我有兴趣使用C#来操纵/自动化Excel文件。 浏览网页后,我发现VSTO,但似乎你不能在Visual Studio速成版中使用,所以我不能使用它。 就在几分钟前,我注意到这个网站中的一个问题,在代码中使用了这个命名空间: 的Microsoft.Office.Interop.Excel 所以我想知道是否所有我需要使用的是添加必要的参考,如果是的话,哪些参考添加? UPDATE 我将“主互操作程序集”安装为接受的答案,但由于某些原因,它们在“.NET”下的“添加引用”对话框中仍然缺失,但它们存在于GAC中。 所以我只是使用“浏览”添加引用,并在GAC文件夹中findMicrosoft.Office.Interop.Excel.dll 。 但在本网站寻找类似的问题,关于添加GAC的参考,似乎不build议这样做。

对Excel自定义函数工具提示的追求

这个问题之前已经被问 过了 ,但是每次被接受的答案都只是使用Application.MacroOptions ( VBA6 )( VBA7 )来提供函数描述的辞职,但是这个信息实际上并没有作为工具提示出现,所以它不能解决我的问题。 目标 我们所希望的是能够以任何方式(VBA,VSTO或COM插件)定义自定义函数,并为用户提供对函数及其参数的popup/工具提示描述的好处,如对于每个内置的Excel函数,都可以内联或在编辑栏中显示: 被广泛接受的这个需求的答案是,它不可能定制function,但是我想挑战这个信念。 问题 目前,我见过的最好的方法是定义函数(通常使用上面的MacroOptions调用),以便在调用函数对话框(公式栏中的fxbutton)时,它们的函数和参数描述如下所示: 正如你所看到的,这是一个复杂的函数,有许多参数。 如果用户不知道这个“函数参数”对话框,以及如何使用它,而只是熟悉Excel的标准工具提示,他们将只能看到公式名称,并没有额外的帮助: 他们没有机会正确提供所需的参数。 (没有阅读文档,这当然是没有用户的。) 现在,高级用户可能知道,通过inputCtrl + Shift + A ,他们将被授予一个自动完成的函数参数列表,如下所示: 但是,当然,我们也遇到了同样的问题,那就是标准的excel用户只会使用第一张图片的默认行为,而且可能从来没有学过这个function。 这一点应该清楚,为什么这是不够的,我们希望每个内置的函数都有 – 内联的工具提示告诉用户如何使用函数。 戏弄 起初,我可能已经确信,除了原生的Excel应用程序function,这是不可能的。 加载项和VBA是可扩展性function,并且此工具提示可能根本无法扩展。 但是,这个理论受到分析工具包加载项存在的挑战。 当然,它是build立在微软的,但ANALYS32.xll是一个独立的XLL插件,就像那些可以在VB,C,C ++和C#中生成的插件一样。 果然,当XLL被加载到应用程序中时,它提供的函数具有与本机Excel函数相同的工具提示: 当然,如果这个信息以某种方式编码在XLL文件中,并传递给Excel,有一种方法可以用我们自己的插件复制它? 现在我正要开始自我反思,看看我是否可以对分析工具箱中正在进行的任何工作进行逆向工程。 你如何帮助 我几乎可以肯定,我已经研究了所有关于这个问题的公开信息。 如果有人知道我不知道这可能对此有帮助,请随时发一声。我对逆向工程编译的dll / xlls非常不熟悉,所以如果有人想popup打开Analysis32.xll的本地副本,弄清楚自定义函数定义是怎么回事,我会非常感激。 否则,我会继续深入研究这个问题,直到我把所有的问题都解决了,然后回报我find的东西。

如何在不使用Microsoft.Office.Interop.Excel库的情况下读取C#中的excel文件

我在C#中有一个.Net-Windows应用程序。 我需要打开一个excel并处理它。 我怎样才能做到这一点,而不使用Microsoft.Office.Interop.Excel库?

读取date时间值从Excel工作表中读取

当我试图从Excel表格中读取date时间types值时,它将返回一个double值。例如,如果想要读取这样的值'2007-02-19 14:11:45.730' ,那么我会得到一个doubletypes的值。我使用时间跨度转换这个双重价值,但没有成功完成,因为我只得到这个值'2007-02-19 12:00:00 AM' 现在我想要第一个完全相同的date时间值。 我的代码是这样的: – TimeSpan datefromexcel = new TimeSpan(Convert.ToInt32((range.Cells[rCnt, cCnt] as Excel.Range).Value2), 0, 0, 0); DateTime inputdate = new DateTime(1900, 1, 1).Add(datefromexcel); arrrow2[cCnt – 1] = inputdate.ToString(); 请帮忙!!! 谢谢。

我仍然可以使用Office 2013的Microsoft.Office.Interop程序集?

我不得不将旧的项目(在.Net 2中)导入Visual Studio 2013,它使用了Microsoft主互操作程序集。 Visual Studio说我需要添加对项目的引用。 现在,我去了一些阅读,显然微软只发布了Office 2010的PIA? (我有Office 2013) 现在我想知道的是。 我可以得到它与办公室2013年工作,并向后兼容? 如果是的话,这是一个走向未来的好路线吗? 它会兼容吗? 因为我看到你需要.Net 2 (最迟),而Windows 8自带了4.5而不是3(默认),大多数新电脑将有Office 2012或2013。