Tag: 互操作

无法加载typesMicrosoft.Office.Interop.Excel._Application

当我尝试debugging读取Excel文件的代码时出现错误。 我想知道是否对“Microsoft.Office.Interop.Excel._Application”的引用是错误的,我得到以下错误。 是不是Microsoft.Office.Interop.Excel版本假设是12? 而不是从我的项目组装? 无法从程序集'Dialog,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null'加载types'Microsoft.Office.Interop.Excel._Application'。 该types被标记为符合types等同性的条件,但包含的程序集不作为完全信任加载。 当我尝试debugging代码之前,我可以进入该function,我得到exception。 DataTable data = ExcelImport.GetDataFromFile(file); 我的function public static DataSet GetDataFromFile(string fileName) { Application oXL; Workbook oWB; Worksheet oSheet; Range oRng; // Needed to fix culture problem with excel files. CultureInfo cult = System.Threading.Thread.CurrentThread.CurrentCulture; System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); try { // creat a Application […]

通过C#中的名称引用更新Excel单元格值

我有一个Excel中的命名单元可以说它的所谓的“myCell”在C#中,我希望能够访问这个单元格,并更新它的价值。 我试过了 Globals.ThisAddIn.Application.Names.Item(@"myCell").Value = "myValue"; 但是这会引发一个COMexception,消息'HRESULTexception:0x800A03EC'

以编程方式设置Excel图表标题

如何用C#和Interop设置图表标题? 其实尝试: Excel.Range chartRange; Excel.ChartObjects xlCharts = (Excel.ChartObjects)xlsSheet.ChartObjects(Type.Missing); Excel.ChartObject myChart = (Excel.ChartObject)xlCharts.Add(10, 80, 300, 250); Excel.Chart chartPage = myChart.Chart; chartRange = xlsSheet.Range[xlsSheet.Cells[1, 1], xlsSheet.Cells[ar.GetLength(0), ar.GetLength(1)]]; chartPage.SetSourceData(chartRange, Excel.XlRowCol.xlRows); chartPage.ChartType = Excel.XlChartType.xl3DColumn; chartPage.Location(Excel.XlChartLocation.xlLocationAsNewSheet, oOpt); chartPage.HasTitle = true; chartPage.ChartTitle.Text = "HeaderText"; 甜美 “System.Runtime.InteropServices.COMException” 错误HRESULT E_FAIL已经从对COM组件的调用中返回

当用户取消文件覆盖时,Excel COMException 0x800A03EC

我有一个代码,将excel文件保存到用户无法更改的特定位置和文件名。 当文件不存在并保存静静地工作正常。 如果文件已经存在,用户select覆盖它,那么它也可以正常工作。 当它已经存在并且用户取消保存时发生问题。 这会导致抛出COMException 0x800A03EC。 有任何想法吗? 参考:Microsoft Excel 12.0对象库 excelWorkbook.SaveAs(resultsFilePath, XlFileFormat.xlExcel8);

UsedRange在excel列中

你如何从UsedRange获得一列; 例如列A? xlApp = new Excel.Application(); xlWorkBook = xlApp.Workbooks.Open("C:\\base.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); //range = xlWorkSheet.UsedRange; range = xlWorkSheet.get_Range("A") // reading from A1 to max of excel 65536?

Excel Interop与,get_Item()和Item 之间的区别

这三种方式有什么区别: Application xlApp = new Application(); Workbooks xlWorkbooks = xlApp.Workbooks; Workbook xlWorkbook = xlWorkbooks.Open(filePath); Sheets xlSheets = xlWorkbooks.Sheets; // 1. Way Worksheet xlSheet = xlSheets["SheetName"] as Worksheet; // 2. Way Worksheet xlSheet = xlSheets.Item["SheetName"] as Worksheet; // 3. Way Worksheet xlSheet = xlSheets.get_Item("SheetName") as Worksheet; 1.方式被描述为 索引器对象Microsoft.Office.Interop.Excel.Sheets.this 保留供内部使用。 2.方式: 索引属性对象Microsoft.Office.Interop.Excel.Sheets.Item 返回集合中的单个对象。 和3.方式: [对象索引]:对象 (对于这种方式,ReSharperbuild议使用2.方式。) 所以,三种方法都是一样的,但是推荐哪一种,有什么区别? […]

从C#中的Excel操作 – 设置ActiveCell?

我目前正在尝试将一些VB6macros移到C#应用程序中,而我在使用C#设置活动单元格时遇到了问题。 在VB6中它简单地说: ActiveSheet.Range("L1").Select 有谁知道C#等价物是什么? 提前欢呼。

C#,创buildExcel 97-2003(.xls)互操作

使用Excel = Microsoft.Office.Interop.Excel; 我需要从我的datagridview保存一个Excel文件(.xls)。 所有工作正常,写入数据,更改单元格格式等,但保存文档时出现问题。 string format = "yyyy_MM_dd_HH-mm"; string pathtoexport = @"C:\DM\SMS\Przychodzace\Znalezione_SMS_" + DateTime.Now.ToString(format) + ".xls"; oWB.SaveAs(pathtoexport, Excel.XlFileFormat.xlWorkbookNormal, missing, missing, false, false, Excel.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing); } 那么前几天呢就是在工作,但是现在只能说了 HRESULT:0x800A03EC“} 我需要.xls将其导入到SQL。 任何build议? 在Excel.XlFileFormat.xlWorkbookDefault出现问题之前,当Iv将其更改为Normal时,performance良好。 现在它不工作。 大量的时间来处理我自己的谷歌,但我失败了。 oWB.SaveAs(MyFile + @"C:\SMS\XMLCopy.xls", Excel.XlFileFormat.xlWorkbookNormal, missing, missing, false, false, Excel.XlSaveAsAccessMode.xlNoChange, missing, missing, missing, missing, missing);

使用Interop c检测Microsoft Excel中的数据透视表#

我正在尝试使用Microsoft Interop c#检测Microsoft Excel中的某个单元是否包含数据透视表 我想要做的是循环所有的单元格,如下面的代码所示,然后如果单元格包含一个数据透视表,我想存储该单元格的行和列信息的整数值,如下所示: int rowCount = xlRange.Rows.Count; int colCount = xlRange.Columns.Count; Excel.Range cell = null; for (int iRow = 1; iRow < rowCount; iRow++) { for (int iCol = 1; iCol <= colCount; iCol++) { /* This line of code is probably wrong */ cell = xlRange.Cells[iRow, iCol] as Excel.Range; if(/*Cell contains PivotTable*/) […]

使用COM Interop将对象从C#传递到VBA

是否有可能使用COM将自定义对象(如MyClass [])从C#传递给VBA? 如果没有,这是最好的解决scheme,让这个工作?