Tag: .net

OpenXml SpreadsheetDocument.Open(…)获取exception – 主要部分丢失

我有一个xlsx文件标题,它位于我的项目path。 我想使用OpenXML插入数据,但打开文件时出现exception: using (SpreadsheetDocument myDoc = SpreadsheetDocument.Open(MyxlsFileName, true)) { // … } 例外: “指定的软件包无效,主要部分丢失” exception的含义是什么,什么是错的? 预先感谢!

Excel将数据添加到后台代码中的WorksheetPart

你好,我正在创build一个Excel文件与3个工作表在下面的代码。 using (SpreadsheetDocument spreadSheet = SpreadsheetDocument.Create(path + @"\UrlReport.xlsx", SpreadsheetDocumentType.Workbook)) { // create the workbook spreadSheet.AddWorkbookPart(); spreadSheet.WorkbookPart.Workbook = new DocumentFormat.OpenXml.Spreadsheet.Workbook(); // CREATE FIRST SHEET WorksheetPart newWorksheetPart1 = spreadSheet.WorkbookPart.AddNewPart<WorksheetPart>(); newWorksheetPart1.Worksheet = new DocumentFormat.OpenXml.Spreadsheet.Worksheet(); // create sheet data newWorksheetPart1.Worksheet.AppendChild(new DocumentFormat.OpenXml.Spreadsheet.SheetData()); // save worksheet newWorksheetPart1.Worksheet.Save(); // create the worksheet to workbook relation spreadSheet.WorkbookPart.Workbook.AppendChild(new DocumentFormat.OpenXml.Spreadsheet.Sheets()); spreadSheet.WorkbookPart.Workbook.GetFirstChild<DocumentFormat.OpenXml.Spreadsheet.Sheets>().AppendChild(new DocumentFormat.OpenXml.Spreadsheet.Sheet() { Id = […]

VSTO(文档级):Excel中的单个上下文菜单(右键单击菜单)

是否可以通过C#(VSTO)禁用或configuration(单元格,范围) 上下文菜单 。 如果是的话,我该如何实现它(在文档级的VSTO Excel应用程序中) 例如,我想禁用上下文菜单中的一些项目(例如复制/粘贴),并添加新的项目或replace标准的上下文菜单与一个完整的自己的菜单! Smarttags是Excel中上下文菜单的一个很好的select吗?

如何从Excel VBA中使用.NET对象?

VBA代码是否可以实例化和使用.NET对象? 我感兴趣的具体类是System.IO.Compression.GZipStream。 对于Info GAC是.NET全局程序集caching

用C#构buildExcel文件

我需要通过C#创build一个Excel文件。 我已经阅读了几个地方创build一个XML文档是最简单的方法来做到这一点? 我需要有多个命名选项卡,并能够指定特定的单元格是文本,date时间,数字等…任何build议或良好的例子?

互操作程序集embedded到.NET 4.0中时缺lessExcel get_Range

我build立一个引用COM interop DLL的程序集。 如果通过在引用的属性(VS2010)中将Embed Interop Types设置为True来embeddedCOM互操作types,则在运行时会发生错误“对象不包含get_Range的定义”。 如果COM互操作types没有embedded,则不会发生错误。 有谁知道为什么应该省略一个特定的方法,Worksheet.get_Range或如何解决这个问题或有任何其他相关的见解? 我应该感激任何帮助。 interop dll包含对Worksheet.get_Range(object,[object])的引用。 在我的调用程序集上使用reflection器时,没有提及Worksheet下的get_Range。 我embedded的互操作程序集是从Excel9.olb生成的。 我不使用PIA作为应用程序的目标多个Excel版本。

Excel互操作加载XLL和DLL

我使用了Bloomberg API(使用简单的调用如= BDP(“MS股权”,“请求”))。 我也有一个C#应用程序,用于打开使用Bloomberg API的excel文件(通过interop)。 我读过这里 ,当你通过interop加载excel的时候没有加载插件。 我甚至尝试使用在那里build议的代码。 但是,这似乎只适用于XLL和XLAM文件,它看起来像彭博社也使用DLL文件没有得到加载。 有什么办法让所有这些插件通过互操作加载?

以编程方式删除Excel工作表

有许多很多工作表的Excel工作簿。 我想删除除三个以外的所有表单。 具体来说,我想知道是否有一种方法来删除使用工作表名称而不是序号(表号)的表。 我正在使用Excel Interop和C#来处理Excel。 Microsoft.Office.Interop.Excel.Application xlApp = null; Excel.Workbook xlWorkbook = null; Excel.Sheets xlSheets = null; Excel.Worksheet xlNewSheet = null;

在VSTO Excel中,如何检测单元格中的数据?

我想知道是否有人知道如何快速检测给定的工作表中是否有数据,而不需要实际遍历工作表中的所有行/列来解决这个问题。 我正在编写一个导入程序,将数据直接导入活动工作表(如果尚未修改),或者创build新的工作表并导入到其中。 我目前正在循环浏览整个表格,而且我的导入有一些明显的滞后时间。 我将不胜感激任何帮助。 谢谢!

在excel工作簿中使用interop抛出错误写长文本?

我正在写长文本(1K到2K字符长,普通的XML数据)到Excel工作簿中的单元格。 下面的语句抛出从HRESULT:0x800A03EC COM错误exception range.set_Value(Type.Missing, data); 如果我复制粘贴相同的XML手动到Excel中,它只是工作正常,但同样不能正常工作。 如果我把文字去掉像100/300字符这样的文字就可以了。