Tag: excel interop

使用互操作在后台打开Excel工作簿

我想要从Excel工作簿中导入数据,而不实际显示打开的工作簿。 我可以发誓我已经在以前的项目中使用了以下代码,它已经工作: var excelApp = new Excel.Application { Visible = false }; var workbook = excelApp.Workbooks.Open(filePath); 不幸的是,当工作簿打开时,它显示给用户,对于这个应用程序是不必要的。 我在此项目上使用Microsoft Excel 15.0对象库时,以前我认为它是版本12或13.也许这是问题,或者是我的记忆淡出和代码是不正确的?

ExcelCom将公式写入单元格结果#name?

在我的项目中,我必须将公式填入ExcelSheet的单元格中。 为此,我使用Microsoft.Office.Interop.Excel库。 代码本身非常简单 mySheet.Cells[1, 1] = SomeString; mySheet.Cells[1, 2].Formula = "=SUMME($E$2:E" + SomeInteger + ")"; 而这已经是了。 (因为我住在德国,所以我的excel版本把“Summe”理解为“SUM” 现在看看excel表格,结果是#name ?. 点击单元格,强制更新时,它会完美计算。 我发现了一些与此相关的post,但他们提供的解决scheme的链接不再存在。 (大约10岁) 我已经尝试了以下步骤: 调用 设置公式之后的mySheet.Calculate()。 (不工作) 改变function。 其他一些function(简单的)工作正常。 但不是我的… 我会很高兴听到你 – 更有经验的人 – … 谢谢! 详细信息:Excel版本:2016年Windows 10 PS:这是我的第一个问题。 所以如果你有这个问题,我也会很高兴的!

你可以运行没有Range对象的C#Interop.Excel中的Formula?

我正在使用Microsoft.Office.Interop.Excel我想拉运行公式的结果到我的代码。 我正在做:运行公式,将结果保存在一个单元格,将其拉入variables,清除单元格,返回结果为: … rangeObject = sheetObject.Range["myRange"]; rangeObject.Formula ="myFormula"; string value = rangeObject.Value.ToString(); sheetObject.Range["myRange"].Clear(); return value; … can rangeObject.Formula ="myFormula"; 没有rangeObject运行? 有没有直接的办法? PS:剪贴板可以使用吗?

简单或简单的解决scheme,用于在excel中将标签和列的值相加

美好的一天,任何人都可以帮助我解决这个问题,我有一个代码在这里,从列B到列AF(31天)的水果的数目我用开关,情况1,情况31.我希望我的代码是简单或者在一个循环中。 31案件太长了。 顺便说一句,我的代码工作,我只是希望它是短暂的。 这是我的代码 private void button1_Click(object sender, EventArgs e) { Microsoft.Office.Interop.Excel.Application OfficeExcel; Microsoft.Office.Interop.Excel._Workbook OfficeWorkBook; Microsoft.Office.Interop.Excel._Worksheet OfficeSheet; var dtpMonth = dateTimePicker1.Value.ToString("MMMM"); var dtpYear = dateTimePicker1.Value.Year; var MonthYear = dtpMonth + " – " + dtpYear; var dtpDay = dateTimePicker1.Value.Day; try { OfficeExcel = new Microsoft.Office.Interop.Excel.Application(); OfficeExcel.Visible = true; int appletotal = Convert.ToInt32(lblappletotal.Text); int bananatotal = […]

为什么一些数据透视表标签显示错误的一年?

我已经看到了一些这样的数据的遗留观点 – 注意到9月到12月是2015年,而不是2016年: 尽pipe如此,数据的数据透视表显示所有年份都是在2016年: …也因此而产生误解,因为今年1月份和2月份之后的 9月 – 12月会出现混乱。 数据透视表是从另一张具有与“旧式”表(2011年9月 – 12月= 2015年1月和2月= 2016年)相同数据的表中的源数据生成的: date值从源数据添加到数据透视表,如下所示: var pch = _xlBook.PivotCaches(); int pivotDataRowsUsed = xlBook.Worksheets["PivotData"].UsedRange.Rows.Count; int pivotDataColsUsed = xlBook.Worksheets["PivotData"].UsedRange.Columns.Count; string lastColWrittenAsAlpha ReportRunnerConstsAndUtils.GetExcelColumnName(pivotDataColsUsed); string endRange = string.Format("{0}{1}", lastColWrittenAsAlpha pivotDataRowsUsed); Range sourceData = _xlBook.Worksheets["PivotData"].Range[string.Format("A1:{0}", endRange)]; PivotCache pc = pch.Create(XlPivotTableSourceType.xlDatabase, sourceData); PivotTable pvt = pc.CreatePivotTable(_xlPivotTableSheet.Range["A6"], "PivotTable"); . . . var monthField […]

C#读取Excel单元格值使用Microsoft.Office.Interop.Excel

我正在尝试拉取Excel单元格值。 我能够成功地拉行价值。 我应该怎么做才能将每​​个单元格的值拉出行? using Microsoft.Office.Interop.Excel; string pathToExcelFile = @"C:\Users\MyName\Desktop\Log.xls"; Application xlApp = new Application(); Workbook xlWorkbook = xlApp.Workbooks.Open(pathToExcelFile, 0, true, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0); _Worksheet xlWorksheet = (_Worksheet)xlWorkbook.Sheets[1]; Range xlRange = xlWorksheet.UsedRange; var rowValue = ((Range)xlRange.Cells[2, 1]).Value2.ToString();

即使在释放资源后也无法closuresExcel

我已经尝试了很多解决scheme,但没有工作请帮我解决这个问题。 以下是在SSIS脚本任务中使用的代码 using Excel = Microsoft.Office.Interop.Excel; Excel.Application xlApp = null; Excel.Workbooks workbooks = null; Excel.Workbook xlWorkbook = null; Excel.Worksheet worksheet = null; Excel.Range xlRange = null; try { xlApp = new Excel.Application(); xlApp.DisplayAlerts = false; xlApp.AskToUpdateLinks = false; workbooks = xlApp.Workbooks; xlWorkbook = workbooks.Open("sample.csv", 2, true); xlWorksheet = xlWorkbook.Sheets[1]; xlRange = xlWorksheet.UsedRange; int rowCount = […]

C#条件格式excel

在我的项目中,我有代码格式的单元格的背景颜色基于像这样的单元格值条件: //if value is 1 than colorIndex is 3; Excel.FormatCondition condition = colorRange.FormatConditions.Add( Type: Excel.XlFormatConditionType.xlTextString, Operator: Excel.XlFormatConditionOperator.xlEqual, Formula1: "=1"); condition5.Interior.ColorIndex = 3; 此条件工作正常,但下面的代码中的条件不起作用: //if value is Red Color than colorIndex is 3; Excel.FormatCondition condition = colorRange.FormatConditions.Add( Type: Excel.XlFormatConditionType.xlTextString, Operator: Excel.XlFormatConditionOperator.xlEqual, Formula1: "=Red Color"); condition5.Interior.ColorIndex = 3; 我收到的错误消息是“不正确的参数” 我究竟做错了什么?

如何使用Microsoft Interop for Excel 2003和2010

目前,我使用Excel 2010的库,但我需要在我的机器上安装2003和2010。 我如何在我的代码中调用Excel 2003或2010。 编辑:也许我没有问清楚。 我想在一个项目中使用这两个应用程序。 所以我想在某些情况下和其他2010年使用Excel 2003。 Excel.Application xlApp = new Excel.Application();

等同的方法来“重置为匹配样式”

当您右键单击一个图表时,我正在寻找相当于“重置为匹配样式”function的ac#方法。 实际上,我在代码中更改Datalabels字体大小,但字体大小始终为18.使用“重置为匹配样式”函数时,应用了良好的字体大小,但是我需要在代码中进行此操作。 提前致谢, LEEP