Tag: .net 4.0

用后期绑定创build和填充Excel工作表

我一直在使用Visual C#.NET来查看Office自动化服务器的Microsoft支持页面绑定,尝试创buildExcel工作表,使用数据表中的值填充它,并将其保存到计算机中。 我有一个使用早期绑定,并简单地循环通过项目的实现,但我不知道你如何实现这与后期绑定,我需要能够embeddedInteroptypes,使应用程序版本独立于关于MS Office。 如何使用迟绑定将数据表中的行添加到新的Excel工作表中?

Asssembly.LoadFrom通过Excel 2007调用失败

我有一个.NET 4.0类使用Assembly.LoadFrom来加载一个.NET 3.5混合模式程序集。 当从.NET 4.0应用程序调用此类(在configuration文件中指定useLegacyV2RuntimeActivationPolicy =“true”时),它一切正常。 但是,这个类也是COM可见的,当我从Excel 2007中调用它(同样,Excel.exe.config指定useLegacyV2RuntimeActivationPolicy =“true”)我得到一个FileLoadException: 无法加载文件或程序集'Foo …'或其某个依赖项。 无法加载运行时。 (从HRESULTexception:0x80131700) 内部exception是System.Runtime.InteropServices.COMException:加载运行时失败。 (从HRESULTexception:0x80131700) 从Excel 2003或Excel 2010或vbscript调用时,我不会遇到此问题。 有人可以解释发生了什么,我该如何解决?

excel xlsx文件parsing – 使用koogra

在用git hub尝试几个包之后,试图parsing/处理这个相当大的excel文档。 我试过的每个方法都是在out of memory抛出exception。 我正在谷歌更多,发现这个名为koogra GNU库,似乎只有一个我可以看到适合的工作,不能打扰太多,继续search,因为我没有时间这个项目的这一部分。 我现在得到的代码正在传递“内存不足”问题的一部分, 所以唯一剩下的就是我如何正确parsing一个Excel文档,这样就可以提取出一种字典集合键是一列,值是另一种。 这是有问题的文件 这是迄今为止的代码 var path = Path.Combine(Environment.CurrentDirectory, "tst.xlsx"); Net.SourceForge.Koogra.Excel2007.Workbook xcel = new Net.SourceForge.Koogra.Excel2007.Workbook(path); var ss = xcel.GetWorksheets();

在ADO.NET 4.0中处理多个连接到多个Excel文件的正确方法是什么?

我有一段使用VS 2005编写的代码,可以在运行.NET 2.0的计算机上正常工作,但是在运行.NET 4.0的计算机上发生严重的崩溃。 造成问题的hte代码部分是对DataAdapter的Fill()方法的调用。 代码如下所示: private void button_Click(object sender, EventArgs e) { DataTable dt1 = new DataTable(); string connectionString = … //connects to excelfile1.xls string selectCommand = "SELECT * FROM [Sheet1$]"; using(OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connectionString)) { adapter.SelectCommand.Connection.Open(); adapter.Fill(dt1); } DataTable dt2 = new DataTable(); connectionString = … //connects to excelfile2.xls using(OleDbDataAdapter adapter […]

如何将图表从Excel文件复制到电源点?

我有一个C#代码构build一个包含几个图表的Excel文件。 我正在通过Microsoft.Office.Interop.Excel 12使用Excel。 这工作正常,但同时我需要生成一个包含相同的图表的PowerPoint演示文稿。 有没有办法将Microsoft.Office.Interop.Excel.ChartObject复制到PowerPoint文件? 或者以任何其他方式将这些图表以编程方式复制到PowerPoint演示文稿中?

如何遍历Excel工作表只从特定列中提取数据

你如何迭代通过一个Excel工作簿与多个工作表只提取说专栏“C”,“E”和“F”的数据? 这是我到目前为止的代码: public static string ExtractData(string filePath) { Excel.Application excelApp = new Excel.Application(); Excel.Workbook workBook = excelApp.Workbooks.Open(filePath); string data = string.Empty; int i = 0; foreach (Excel.Worksheet sheet in workBook.Worksheets) { data += "******* Sheet " + i++.ToString() + " ********\n"; //foreach (Excel.Range row in sheet.UsedRange.Rows) //{ // data += row.Range["C"].Value.ToString(); //} foreach (Excel.Range row […]

我们无法在.NET 4.0中的generics对象中使用Interop对象吗?

我正在VS 2010中工作,并将应用程序升级到.NET 4.应用程序是以Excel为基础构build的,我们希望利用.NET的一些改进来使用Excel。 但是我遇到了一个奇怪的错误,似乎是由通用字典中使用Excel Interop对象造成的。 这是生成的错误: C:\MyApp\TheAssembly\MyClass.cs(823,57): error CS1769: Type 'MyApp\OtherAssemply.IMyController.SheetReports' from assembly 'c:\MyApp\OtherAssemply.\bin\Debug\OtherAssembly.dll' cannot be used across assembly boundaries because it has a generic type parameter that is an embedded interop type. 这是有问题的实际属性: Dictionary<Excel.Worksheet, IReportSheet> SheetReports { get;} 我们无法在通用对象中使用Interop对象吗? 如果是这样,这是.NET 4.0中的一个严重的限制。 我试着将Embed Interop属性设置为false,但是这似乎没有改变任何东西。 请让我知道这是否有任何反应。 干杯! 埃里克

对使用SHA-2证书的.NET Framework 4.0进行签名的VSTO Excel加载项签名

我有一个VSTO 2010 Excel加载项,面向.Net Framework 4.0,Visual Studio 2010。 过去几年我们使用SHA-1证书来签署清单和程序集。 该应用程序已经为很多最终用户部署。 现在,随着SHA-1弃用政策从2016年1月开始生效,已由CA颁发的更新证书使用SHA-256进行密钥pipe理。 请查看使用各种版本的Visual Studio构buildExcel 2010 VSTO加载项所生成的文件: 注意:以下所有情况下使用的证书都使用SHA-2algorithm进行密钥input。 由VS 2010 SP1,Target Framework 4.0生成的.VSTO: 为dependentAssembly的hash提到的DigestMethodalgorithm是SHA1,即使使用SHA2证书。 <dependentAssembly dependencyType="install" codebase="ExcelAddIn1.dll.manifest" size="18274"> <assemblyIdentity name="ExcelAddIn1.dll" version="1.0.0.1" publicKeyToken="2142698160a31911" language="neutral" processorArchitecture="msil" type="win32" /> <hash> <dsig:Transforms> <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" /> </dsig:Transforms> <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> <dsig:DigestValue>DIGEST VALUE</dsig:DigestValue> </hash> </dependentAssembly> 在publisherIdentity标签下,所使用的SignatureMethod和DigestMethod是SHA256 ,它是根据证书的algorithm。 <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha256" /> <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha256" /> 由VS […]

为什么当我使用没有OleDBConnection对象的OleDbDataAdapter对象时,.NET 2.0应用程序在.NET 4.0下崩溃?

这是一个使用VS 2005编写的.NET 2.0应用程序。它在运行.NET 2.0的系统上运行良好,但在运行.NET 4.0的系统上发生严重崩溃。 这是代码的关键部分: string selectCommand1 = …. string connectionString1 = …. using (OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand1, connectionString1)) { try { adapter.Fill(table1); } catch { MessageBox.Show("error"); } } string selectCommand2 = …. string connectionString2 = …. using (OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand2, connectionString2)) { try { adapter.Fill(table2); } catch { MessageBox.Show("error"); } […]

.NET 4.0 Excel Interop与dynamic集合的问题

在Excel中,您可以使用XValues从一个系列对象中返回一个dynamic数组System.Object[*] 。 在.NET 3.5中,您可以通过将其转换为数组来访问此对象中的元素,即: var values = (Array)series.XValues; 在.NET 4.0中,这不再起作用,并且消息 “无法投射”System.Object [*]“types的对象来键入”System.Object []“” 给出。 有任何想法吗? 以下不起作用: 把它铸造成dynamic的。 将其转换为System.Object[*] 。 只需将对象放置在每个循环中。 尝试直接使用values[1]访问值,而不是当作为dynamic投射时。 然而,数组内的值在debugging器中显示。