Tag: .net

.NET EPPlus OpenXml – 在每一页重复Excel行

我试图在每个Excel页面上保留一行(标题字段)。 我正在使用EPPlus库中包含的OpenXML。 我试过下面这行代码: myWorkSheet.PrinterSettings.RepeatRows = New ExcelAddress(String.Format("${0}:${0}", firstRowNummerExcel.ToString())) 这不会对我造成错误或崩溃,但只是没有做任何特别的事情… PrinterSettings对象似乎工作,执行下面的代码行工作: worksheetVertrokkenRunderen.PrinterSettings.ShowHeaders = true 这让我觉得可能插入的ExcelAddress不正确?

请build议如何操作Excel电子表格而不使用Excel对象,因为Web服务器没有安装MS Office

我想知道在不使用Excel对象的情况下操作使用ASP.NET 2.0的Excel电子表格的选项,因为Web服务器没有安装MS Office。

以编程方式更新Excel文档

首先,我是一个软件开发公司自动化团队的实习生,所以我帮助开发了我们日常生成的自动化testing程序。 我的直线经理制作了一个excel文档,用来展示我们testing环境的结果。 我们的testing运行在Hyper-V服务器上的虚拟PC上。 我希望能够从每个testing环境的testing结果更新这个Excel文档,但我不知道我应该如何去做这个。 每个虚拟PC运行一个自动化程序(C#.NET 4.0),并且当前将testing日志和结果文件复制到我们的生成机器上的共享文件夹,每个人都可以访问它。 所以我希望自动化程序能够运行它的testing,然后当它完成时,我想让它写入Excel文档中的testing结果表格。 有没有人有编程修改Excel文档的任何经验? 我还应该注意到,excel文档将被存储在远程虚拟PC上的共享文件夹中(可从testing环境访问) 该表将包含构build名称/date,环境详细信息,testingtypes和testing结果等。 我已经收集到这些信息,并将其显示在HTML文件中 – 但是每个testing环境都有一个单独的HTML文件。 这样做的目的是让结果全部在一个地方(Excel文档将以图表和图表的forms呈现数据)。 所以我真的需要知道的是如何在.NET程序的excel文档中写入表格。 这样做似乎有不同的方法(正如我在网上研究它时发现的那样),所以我想问一下stackoverflow,看看谁知道最好的方法来做到这一点)。

Excel进程仍然在后台运行

我正在使用互操作库从excel文件中读取一些数据。 我通过使用Microsoft.Office.Interop.Excel然后读取工作表中的所有数据来获取数据。 Application ExcelApp = new Excel.Application(); Workbook excelWorkbook = ExcelApp2.Workbooks.Open(excelFileNamePath); _Worksheet excelWorksheet = excelWorkbook.Sheets[excelSheetName]; Range excelRange = excelWorksheet.UsedRange; //…for loops for reading data ExcelApp.Quit(); 但是,我的应用程序终止后,我试图编辑我的Excel文件,并打开时有一些问题。 显然,即使我打电话给ExcelApp.Quit() ,excel进程仍然在后台运行。 有没有办法正确closures应用程序使用的Excel文件? 我是新来的C#所以我可能在这里失去了一些东西。 编辑:解决! 显然有一个com的对象不鼓励使用2点的规则 。 Excel.Application ExcelApp2 = new Excel.Application(); Excel.Workbooks excelWorkbooks = ExcelApp2.Workbooks; Excel.Workbook excelWorkbook = excelWorkbooks.Open(excelFileName); Excel._Worksheet excelWorksheet = excelWorkbook.Sheets[excelSheetName]; //… excelWorkbook.Close(); Marshal.ReleaseComObject(excelWorkbook); Marshal.ReleaseComObject(excelWorksheet); Marshal.ReleaseComObject(excelRange); […]

VSTO中的Excel控件

我正在寻找一个与Excel中的用户定义函数控件一样的控件 所以例如当你点击“平均”时,会popup一个控件,让你在文本框中input2个数字。 在文本框的右侧有一个button,单击时允许您在Excel中select一个值的范围,当选中时,填充文本框。 任何人都知道VSTO或任何其他控制这样做,所以我不必自己编码?

CSV实际上是…分号分隔值…(AZERTY上的Excel导出)

我在这里有点困惑。 当我使用Excel 2003将工作表导出为CSV时,实际上使用分号… Col1;Col2;Col3 shfdh;dfhdsfhd;fdhsdfh dgsgsd;hdfhd;hdsfhdfsh 现在,当我阅读使用微软的驱动程序的CSV,它期待逗号,并将列表看作一个大列? 我怀疑Excel导出分号,因为我有一个AZERTY键盘。 但是,CSV阅读器是不是也要考虑到不同的分隔符? 我怎样才能知道适当的分隔符,和/或正确读取CSV? public static DataSet ReadCsv(string fileName) { DataSet ds = new DataSet(); string pathName = System.IO.Path.GetDirectoryName(fileName); string file = System.IO.Path.GetFileName(fileName); OleDbConnection excelConnection = new OleDbConnection (@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + pathName + ";Extended Properties=Text;"); try { OleDbCommand excelCommand = new OleDbCommand(@"SELECT * FROM " + file, excelConnection); OleDbDataAdapter […]

有谁知道更好的替代MS Excel的解算器?

我的公司必须处理大量的数据,部分过程涉及运行求解器并通过结果数据点绘制图表。 很明显,涉及到大量的复​​制和粘贴,整个过程是不稳定的,容易出错的,而且是全面的聚类欺骗。 我想知道是否有可以使用的解决scheme的替代scheme,以至于即使我们不得不使用excel来绘制最终图,也将会有更less的数据需要被复制和粘贴。 如果这个工具可以很容易地集成到一个.NET应用程序中,那将是非常棒的,但是我可以提出一些build议,可能需要一些代码才能使它工作。 谢谢!

Excel表格的C#自动调整方法

我正在使用C#.net创build一个Excel工作表。 最后我想自动填充列。 我正在使用以下代码。 sheet0.Cells["A2:B2"].Columns.AutoFit(); 但这是一个例外。 谁能帮我解决这个问题吗? 谢谢。

需要一个从ASP.NET创build二进制Excel文件的库任何人都知道一个好的?

如果可能,最好是免费的 我试过使用XML / HTML格式,但我遇到了一个问题,由于Excel的提示用户与安全警告,因为内容不符合MIMEtypes(工作表下载到networking上),没有办法解决这个问题它似乎。

在C#中获取NamedRange控件的句柄

我正在开发使用C#(.NET 4.0)的Excel 2007的应用程序级AddIn。 以前曾问过类似这个问题>> https://stackoverflow.com/questions/11374023/resizing-namedrange-throws-a-controlnotfoundexception C#excel插件 – 访问控件 但对他们的回应(有的话)并不适合我。 所以我想详细描述一下我想做什么,以及当我尝试做什么时会发生什么。 简而言之,我的问题是我无法获得NamedRange控件对象来修改它们,在代码中的其他地方实例化和初始化之后。 请阅读更完整的说明。 当AddIn启动时,它创build一个NamedRange控件并将其附加到特定工作表上的某些单元格>> Worksheet worksheet = Globals.Factory.GetVstoObject( Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet); Excel.Range cell = worksheet.Range["A1"]; _configParams.HeaderNamedRange = worksheet.Controls.AddNamedRange(cell, "HeaderCells"); _configParams.HeaderNamedRange.RefersTo = "=" + worksheet.Name + "!$A$1:$A$5"; AddIn启动后,我想要允许用户重新指定NamedRange控件可以指向的单元格。 为了这样做,我让用户select一个单元格范围,然后在合适的事件处理程序方法中获取所选单元格的位置(作为string)。 然后我打算以编程方式重新指定上述NamedRange控件指向的单元格。 我已经尝试了以下方法,但都没有工作。 [方法1] Worksheet controlWorksheet = Globals.Factory.GetVstoObject(Globals.ThisAddIn.Application.ActiveWorkbook.ActiveSheet); ((NamedRange)(controlWorksheet.Controls["HeaderCells"])).RefersTo = newHeaderCellsLocation; 在运行上面的代码,它会引发一个ControlNotFoundException,并得到以下消息: Microsoft.VisualStudio.Tools.Applications.Runtime.ControlNotFoundException was unhandled by user code Message=This document might […]