Tag: excel 2010

Excel 2010 64位无法创建.net对象

我有一个简单的类库,我在Excel中使用。 这是我class级的简化…… using System; using System.Runtime.InteropServices; namespace SimpleLibrary { [ComVisible(true)] public interface ISixGenerator { int Six(); } public class SixGenerator : ISixGenerator { public int Six() { return 6; } } } 在Excel 2007中,我将创建一个启用宏的工作簿,并添加一个包含以下代码的模块: Public Function GetSix() Dim lib As SimpleLibrary.SixGenerator lib = New SimpleLibrary.SixGenerator Six = lib.Six End Function 然后在Excel中我可以调用函数GetSix(),它将返回六。 这不再适用于Excel 2010 64位。 我得到运行时错误’429’:ActiveX组件无法创建对象。 […]

打开XML SDK 2.0以按名称访问excel 2010工作表

我有一个Excel 2010电子表格,其中包含3个名为Sheet1,Sheet2和Sheet3的工作表。 我正在尝试按名称获取对工作表的引用。 我正在使用代码: using (SpreadsheetDocument myWorkbook = SpreadsheetDocument.Open(FileName, true)) { //Access the main Workbook part, which contains all references WorkbookPart workbookPart = myWorkbook.WorkbookPart; WorksheetPart worksheetPart = workbookPart.WorksheetParts.Last(); // this gives me Sheet1 SheetData sheetData = worksheetPart.Worksheet.GetFirstChild(); } 我试图获得Sheet2的引用,但我找不到这样做的方法。 我越来越近了,但我还没到那里: var x = workbookPart.Workbook.Sheets.Where(s=> s.GetAttribute(“name”, “”).Value == “Sheet2”).FirstOrDefault(); 这让我得到了工作表的参考,但没有给工作表上的数据 谢谢

找不到可安装的ISAM

我正在尝试使用C#在.net中创建程序,用于上传excel文件,读取它并从excel数据中将记录excel文件添加到sql server数据库。 虽然这样做我有一个错误:找不到可安装的ISAM? 有人可以帮我解决这个问题吗? 或者可能会提供一些示例代码以不同的方式进行此类分配? protected void Button1_Click(object sender, EventArgs e) { String excelConnectionString1; String fname = FileUpload1.PostedFile.FileName; if (FileUpload1.PostedFile.FileName.EndsWith(“.xls”)) { String excelsheet; FileUpload1.SaveAs(Server.MapPath(“~/file/” + FileUpload1.FileName)); if (FileUpload1.PostedFile.FileName.EndsWith(“.xls”)) { excelConnectionString1 = “Provider=Microsoft.Jet.OLEDB.4.0;Data Source=” + Server.MapPath(“~/file/” + FileUpload1.FileName) + “;Extended Properties=Excel 8.0;HDR=Yes;”; OleDbConnection myEcelConnection1 = new OleDbConnection(excelConnectionString1); myEcelConnection1.Open(); if (txtsheet.Text.Length == 0) { lblmsg.Text = “Please […]

为什么Excel Interop会在处理文件后删除图像?

Excel Interop正在从已处理的文件中删除图像。 我正在使用Excel Interop,没有第三方组件(我知道)。 工作流程是 – 创建文件(模板)的副本(目标),填充单元格,更改单选按钮状态 创建预先存在的.xslm文件(模板)的副本(目标) 通过Excel Interop打开目标 填充目标单元格,更改单选按钮状态 带有图像的工作表不会被修改 关闭目标 在我的开发机器上,目标文件看起来很棒 – 所有内容都已填充,图像存在。 注意:在我的开发机器上,我正在运行VS2010 IDE中的代码。 在生产机器上 – 一切都已填充,但图像不存在。 相反,会出现以下错误: NB:在生产计算机上,它作为服务运行,具有本地服务帐户。 “在文件中找不到关系ID为rId1的图像部分” 整个工作簿通过以下代码打开: var workbook = workbooks.Open(targetPath 0, false, 5, Type.Missing, Type.Missing, false, XlPlatform.xlWindows, “”, true, false, 0, true, false, false); 请注意,代码中不会处理带有图像的工作表。 工作簿(和个人工作表)受到保护。 但是,受保护的模板在开发中正确处理,但不在生产中。 我不认为保护与它有任何关系(但谁知道,对吧?这是Interop。呃)。 该文件由另一方创建,所有组件(即图像)都驻留在.xslm结构中,而不是作为另一个服务器的链接。 我已经validation图像在模板文件中的生产计算机上可见,但在已处理的文件中不可见。 为了确认这不是在制作中打开文件的问题,我通过电子邮件发送了一份副本,图像仍然不存在。 我还确认,在我的开发机器上,处理过的文件确实有可见的图像。 我不保护工作表,并解压缩文件结构。 .jpg文件确实不存在于生产机器的已处理目标中。 还有一点需要注意 – […]

C#Excel 2010工作簿打开错误

我们最近从Excel 2007升级到Excel 2010,我们发现现有代码开始失败。 例外消息: Office已检测到此文件存在问题。 为帮助保护您的计算机,无法打开此文件。 我们已将此跟踪到我们打开文件的行 excelApp.Workbooks.Open 即使手动打开文件,也会出现受保护的视图消息框。 我们如何使用C#解决这个问题。