Tag: interop

C#到Excel – 自定义格式?

是否有一种方法来应用自定义格式,如果单元格中的值小于0,则将颜色设置为红色。 我知道如何通过为单个单元格设置颜色来实现这一点,但我所拥有的是8个有很多单元格的报表,我只是想在整张表格上应用这个规则,所以我不必为每个单元格做这个工作。 提前致谢。

通过Interop – LOCALIZED设置Excel Cell的function

我想通过C#和Interop(Office 2010)将Excel函数添加到单元格。 以SUM为例。 使用WorksheetFunction 不是我想要的,因为这是一次性的函数调用。 所以我想要的是 Xl.Range range = SomeWorksheet.Range["A1"]; range.Formula = "=SUM(A2:A5)"; 如果您使用的是英文版的excel,但这种情况很好,但在其他语言中是错误的。 我发现这个概述,但这将意味着手动本地化。 不太好。 我需要的是s.th. 喜欢 string localizedFunctionName = Xl.Application.GetFuncName(Func.Sum); 亲切的问候 马丁

C#Excel:正确的方式来获取行数和列数

我有问题与C#互操作Excel获取有效范围与大文件 https://www.dropbox.com/s/betci638b1faw8g/Demo%20Training%20Data.xlsx?dl=0 这是我的文件,但真正的大小是1000,但我得到了49998 我使用标准的代码 Excel.Application xlApp = new Excel.Application(); Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(txtbTrainPath.Text); Excel.Worksheet xlWorksheet = xlWorkbook.Worksheets[1]; Excel.Range xlRange = xlWorksheet.UsedRange; xlApp.Visible = true; xlWorksheet.Columns[5].Delete(); xlWorksheet.Columns[3].Delete(); rowCount = xlRange.Rows.Count; colCount = xlRange.Columns.Count; 只有这个文件不能正常工作,其他文件运行良好。 请帮我找出问题所在。 如何调整工作表的大小只有有效的大小。

discrimanant taskkill.exe for excel.exe

我必须在服务器上运行Excel,并杀死我正在使用taskkill.exe的excel.exe进程: System.Diagnostics.Process.Start(“taskkill.exe”,“-im excel.exe / f”); 我唯一的问题是,如果有人也在使用正在使用excel的服务器(可能发生),那么他们的进程也将被终止。 反正有没有这个只杀死我的代码创build的Excel文件? 任何帮助将是伟大的。 谢谢!

我想通过C#创buildExcel工作簿后只添加一张工作表

代码是这样的 Excel.Application appC = new Excel.Application(); appC.Visible = true; Excel.Workbook bookC = appC.Workbooks.Add(1); Excel.Worksheet sheetC = bookC.Worksheets.Add(); sheetC.Name = "something"; 该命令Workbook.Add()需要一个参数,应该确定工作簿中将创build多less工作表…对不对? 那么为什么我得到2张纸…一个叫“东西”,一个叫“纸张2”? 我究竟做错了什么??

使用Microsoft Interop读取和写入Excel单元格

我在我的网站部署的Web服务器上有一个Excel文件。 该场景,我有一个屏幕,允许用户从Web服务器下载一个Excel文件,并保存到本地驱动器,然后select相同的文件path导出数据。 BT我得到以下错误 ASP.NET无权访问请求的资源。 考虑将资源的访问权限授予ASP.NET请求标识。 ASP.NET具有基本的进程标识(通常是IIS 5上的{MACHINE} \ ASPNET或IIS 6上的networking服务),如果应用程序未模拟,则使用该标识。 如果应用程序正在通过模拟,身份将是匿名用户(通常为IUSR_MACHINENAME)或经过身份validation的请求用户。 要授予对文件的ASP.NET访问权限,请右键单击资源pipe理器中的文件,select“属性”并select“安全”选项卡。 点击“添加”添加适当的用户或组。 突出显示ASP.NET帐户,并选中所需的访问权限框。 下面是我的代码 private void btnExportToExcel_Click(object sender, System.EventArgs e) { Microsoft.Office.Interop.Excel.ApplicationClass appExcel = new Microsoft.Office.Interop.Excel.ApplicationClass(); DataSet dsResult = new DataSet(); object missingValue = System.Reflection.Missing.Value; decimal wkOpenBal = 0.00m; decimal wkAddition = 0.00m; decimal wkDisposal = 0.00m; string rptDt = ""; decimal os_p = […]

Excel数字格式问题与国际设置

我正在尝试使用c#3.5写入Excel 2003电子表格。 但是,我无法在不同的国家/地区设置正确的function。 国家设置是英文或德文。 这两个设置有不同的小数和千位设置。 除非用户在“选项”屏幕的“国际”设置中更改了小数点和千位分隔符,否则一切正常。 任何人都可以帮助,因为我觉得我不能再看到树的木材,并失去了明显的东西。 概要: 从访问数据库中检索数据。 通过c#应用程序读取并写入Excel电子表格。 Excel版本2003机器可以是英文或德文。 Excel中的“国际设置”选项中可能会更改十进制和千位分隔符 – 这是发生问题的地方。 观察到的行为: 英语设置默认选项 – >国际 – 如预期 德语设置默认选项 – >国际 – 如预期 英文设置小数点分隔符改为“,”,千位分隔符设为“。” 和系统分隔符在选项 – >国际 – – Excel数据不正确。 请参见星号行。 数据Excel 3706888.0300 3706888.03 2587033.8000 2587033.8 2081071.1800 2081071.18 9030160.3333 90.301.603.333 ** 42470.9842 424.709.842 ** 4465546.2800 4465546.28 1436037.3200 1436037.32 111650.0000 111650 2567007.0833 25.670.070.833 ** […]

Excel – 如何忽略公式等于没有什么行?

我正在使用Microsft Office Interop API。 我的问题属于Excel。 我使用Interop API编写了一个程序来格式化Excel文档,然后将它们发送到打印机。 但问题是,我们偶尔会在人们创build一个跨越65,000多行的列的文件中运行,它所包含的是一个公式。 该公式仅为前100行左右创build输出,然后其余显示为空白。 但是,当发送到打印机,它试图打印像10,000页或东西,因为这些公式。 我首先想方设法告诉Excel不要打印这些范围。 我无法find任何设置忽略这些。 其次,我想过如何以编程方式来完成这个任务,但是这个逻辑会非常复杂,并且可能会导致不包含像这样的公式的“常规”文件出现问题。 有没有人知道有一个很好的方法让Excel忽略这些公式,等于没有? 我正在使用Delphi和Office 2007 Interop API。

COMException细分

有没有人知道,如果一个网站(即使非微软),有详细的COMExceptions / HRESULTS。 当我尝试使用Copy()函数后保存我的Excel工作簿时,收到此错误: ERROR – Unable to SaveWorkbook() System.Runtime.InteropServices.COMException (0x800A03EC): Document not saved. PS我正在为10K +文件在一个严格的循环,但阅读文件工作得很好,但保存它们被certificate是没有乐趣。 另外,如果有人在使用Copy()函数时遇到Excel出血的问题,请告诉我。 谢谢! PSS如果有人需要进一步澄清,请让我知道 编辑1 这是怎么回事 我被要求更新一些XLS文件(实际上是10K +),通过将活动工作表复制到新工作表(相同工作簿),并通过执行一些转换来更新原始工作表。 我保存工作簿时出现问题。 以下是我申请的一些摘录: ///…. UpdateSpreadsheet() Routine Microsoft.Office.Interop.Excel.Workbook wb = null; try { wb = ef.GetWorkbook(fileName, false, true); } catch (Exception ex) { logger.Error(ex.ToString()); } Microsoft.Office.Interop.Excel.Worksheet ws = null; try { ws = wb.Sheets[Foo.WorksheetName] […]

使用C#Excel Interop在Excel中计算用户定义的函数

我试图直接从C#的外接程序,以便当我打开一个工作簿,并做一个Workbook.Calculate()UDF的(用户定义函数)在外部插件定义正确计算在工作表中。 目前,我正在循环每个添加和简单的设置: AddIn.Installed = true 这不起作用。 C#根本不加载插件,我想避免使用VBA。 我想打开一个工作簿,加载一个特定的加载的Excel工作簿,做一个完整的计算,并应该有工作表的所有值更新,包括与UDF的单元格。 谢谢你的帮助…. 一些代码: Excel.Workbook wkbk = ExcelApp.ActiveWorkbook; Excel.XlFixedFormatType paramExportFormat = Excel.XlFixedFormatType.xlTypePDF; Excel.XlFixedFormatQuality paramExportQuality = Excel.XlFixedFormatQuality.xlQualityStandard; bool paramOpenAfterPublish = false; bool paramIncludeDocProps = true; bool paramIgnorePrintAreas = true; object paramFromPage = Type.Missing; object paramToPage = Type.Missing; ExcelApp.Visible = true; //foreach (Excel.AddIn aiTemp in ExcelApp.AddIns) //{ // if (aiTemp.Name.Contains("")) // […]