Tag: c#

如何使用ClosedXml将公式单元格中的文本换行

问题是单元格内容没有被包装,当单元格包含一个公式引用具有一些长string的单元格。 在CodePlex上,我在这个问题上发现了一个线程,并且看到了一个简单的代码: var generated = new XLWorkbook(); var workSheet = generated.AddWorksheet("Test"); workSheet.Cell("B1").Style.Alignment.WrapText = true; workSheet.Cell("B1").Value = "hello hello hello hello hello"; workSheet.Cell("A3").FormulaA1 = "B1"; workSheet.Cell("A3").Style.Alignment.WrapText = true; generated.SaveAs("Generated.xlsx"); 我也尝试手动设置行高而不是包装单元格: workSheet.Row(3).Height = workSheet.Row(1).Height; 但是也没有成功。 有什么我可以做的呢? 在Peter Albert的评论之后,我尝试着设置行的AutoFit 。 我设法在ClosedXML中做的唯一的事情是workSheet.Row(3).AdjustToContent(); 。 但是这也不起作用(既不调整某些列的内容)。

VSTO(文档级):Excel中的单个上下文菜单(右键单击菜单)

是否可以通过C#(VSTO)禁用或configuration(单元格,范围) 上下文菜单 。 如果是的话,我该如何实现它(在文档级的VSTO Excel应用程序中) 例如,我想禁用上下文菜单中的一些项目(例如复制/粘贴),并添加新的项目或replace标准的上下文菜单与一个完整的自己的菜单! Smarttags是Excel中上下文菜单的一个很好的select吗?

Excel.Workbook.SaveAs(…)具有相同的名称文件

我正在使用xls文件。 我怎样才能保存它(如果存在)相同的文件名+“(副本1)”像Windows桌面。 方法saveCommande(…) if(!Directory.Exists(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "EcoEtech_Commande_Fournisseur")) { Directory.CreateDirectory(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\EcoEtech_Commande_Fournisseur"); } xlWorkBook.SaveAs("EcoEtech_Commande_Fournisseur\\" + path, Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, true, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue); path = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\EcoEtech_Commande_Fournisseur\\" + path; xlWorkBook.Close(true, misValue, misValue); xlApp.Quit(); this.ReleaseComObject(xlApp,xlWorkBook); //sauvergarde dans la base de données _newAchatCommande.path = path; this._fileName = path; contexte.AddToAchatCommande(_newAchatCommande); contexte.SaveChanges(); 谢谢

使用C#Interop从Excel中以明文forms获取所有工作表名称?

我正在使用VS2010 + Office Interop 2007来尝试从5到6页的Excel电子表格中获取一些特定的电子表格名称。 我所做的只是在制表符分隔的文本文件中保存所需的一些电子表格,以供进一步处理。 所以对于我得到的三个电子表格名称,每个名称都有自己的制表符分隔的文本文件。 我可以通过Interop将文件保存为制表符分隔,但假设我知道给定的页面名称是什么。 我已经被告知,每个页面名称不会遵循严格的命名惯例,但是在寻找所需的名称时,我可以考虑多个名称,例如“RCP”,“rcp”,“Recipient”等。 我的问题是,我可以在某种索引中获得所有的电子表格页面名称,所以我可以遍历它们并尝试find我需要的三个名称? 这将比尝试通过bajillion try / catches来抓取“RCP”,“rcp”,“Recipient”页面好得多。 我很接近,因为我可以通过以下方式在Excel电子表格中获得COUNT个页面: Excel.Application excelApp = new Excel.Application(); // Creates a new Excel Application excelApp.Visible = true; // Makes Excel visible to the user. // The following code opens an existing workbook string workbookPath = path; Excel.Workbook excelWorkbook = null; try { excelWorkbook […]

用ClosedXML附加到excel文件

我需要追加新的数据到使用ClosedXML创build的现有的Excel文件。 我如何追加到使用ClosedXML的Excel文件? 我怎样才能得到最后一个logging的行号,并附加到或有其他的东西? 谢谢!

用C#构buildExcel文件

我需要通过C#创build一个Excel文件。 我已经阅读了几个地方创build一个XML文档是最简单的方法来做到这一点? 我需要有多个命名选项卡,并能够指定特定的单元格是文本,date时间,数字等…任何build议或良好的例子?

有没有办法来重载VBA中的类的构造函数/初始化过程?

在C#中,我知道我可以通过在类的主体中指定它来重载类的构造函数: public class MyClass() { public MyClass(String s) { … } } 这覆盖默认的构造函数(没有参数),强制类用参数s初始化。 我知道在VBA中,我可以用Private Sub Class_Initialize()来初始化我的类,但我不知道是否有办法强制我的类用参数初始化。 可以这样做吗?

Excel互操作加载XLL和DLL

我使用了Bloomberg API(使用简单的调用如= BDP(“MS股权”,“请求”))。 我也有一个C#应用程序,用于打开使用Bloomberg API的excel文件(通过interop)。 我读过这里 ,当你通过interop加载excel的时候没有加载插件。 我甚至尝试使用在那里build议的代码。 但是,这似乎只适用于XLL和XLAM文件,它看起来像彭博社也使用DLL文件没有得到加载。 有什么办法让所有这些插件通过互操作加载?

生成文件夹中不包含Microsoft.Office.Interop.Excel.dll

我用C#,.NET Framework 4.0编写一个控制台应用程序。 此项目引用到Microsoft.Office.Interop.Excel.dll 。 当我生成项目成功,但在生成文件夹不包括Microsoft.Office.Interop.Excel.dll。 当我更改为.NET 2.0并构build它时,包括Microsoft.Office.Interop.Excel.dll ! 但是我想在.NET 4.0中构build和运行我的程序。 我使用VS 2010。 告诉我如何解决。

以编程方式删除Excel工作表

有许多很多工作表的Excel工作簿。 我想删除除三个以外的所有表单。 具体来说,我想知道是否有一种方法来删除使用工作表名称而不是序号(表号)的表。 我正在使用Excel Interop和C#来处理Excel。 Microsoft.Office.Interop.Excel.Application xlApp = null; Excel.Workbook xlWorkbook = null; Excel.Sheets xlSheets = null; Excel.Worksheet xlNewSheet = null;